B题贪心
共鸣问题
https://ac.nowcoder.com/acm/contest/10325/B
- 对于每对匹配(x,y,z)
- 如果都不响是 -z
如果响一个是 0
如果都响是 z - 那么可以一开始减去对应的z
这样子可以降低起点后改变理解 - 如果都不响是 0
如果响一个是 +z
如果都响是 +2z - 之后贪心即可
class Solution {
public:
long long wwork(int n, int m, vector<int>& a, vector<vector<int> >& b) {
long long ans=0;
vector<long long> aa(n);
for (int i=0;i<n;i++) {
aa.at(i)=a.at(i);
}
for (vector<int> &i:b) {
int x=i.at(0)-1;
int y=i.at(1)-1;
int z=i.at(2);
aa.at(x)+=z;
aa.at(y)+=z;
ans-=z;
}
for (int i=0;i<n;++i) {
ans+=max(aa.at(i),0LL);
}
return ans;
}
};