P10733题解

· · 题解

题目传送门

思路

通过 \min(X_{A_i},X_{B_i})=C_i 可以发现,X_{A_i}X_{B_i} 的最小值都不能低于 C_i,所以考虑用 fr 数组来记录每一个 X_i(1\le i\le n) 的下限。同时因为每一个 X_i 都是 110^9 之间的一个整数,所以要将 fr_i 初始化为 1

代码

#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int n,m,fr[N];
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        fr[i]=1;//要初始化为1
    for(int i=1;i<=m;i++)
    {
        int a,b,pr;
        cin>>a>>b>>pr;
        fr[a]=max(fr[a],pr);
        fr[b]=max(fr[b],pr);
    }
    for(int i=1;i<=n;i++)
        cout<<fr[i]<<" ";
}