SSL2761 2017年10月7日提高组T1 染色(贪心)
来源:互联网 发布:口琴的选择 知乎 编辑:程序博客网 时间:2024/06/04 18:06
2017年10月7日提高组T1 染色
Description
人人生而平等,然而后来人们逐渐选择了不同的道路,人与人之间,变得不再平等。你可能会因为染上恶人之色而堕落,成为社会的败类;你也可能因为染上善人之色,而在逆境中不断成长。但是,红与黑并非绝对的。所谓“近朱者赤,近墨者黑”,你能改变周遭的环境,那么周遭的环境也会影响你。在黑暗的人群中,善人之色是明亮的,而在明亮的人群中,善人之色的存在就会显得微薄。你的颜色,依靠着你自己的意志在选择。
如今,你获得了一次重生,你要为自己,以及你周围的人们,重新染上一种你真正想要的颜色。具体来说,你的圈子里总共有N个人,每个人你可以选择为其重新染色,或者不染。对于第i个人,如果他/她被重新染色,那么这将会对社会带来wi的改变。同时,朋友关系也会对社会带来改变,如果i,j是朋友,那么他/她们会对社会带来的改变w(i,j)满足
上述的wi,wi,j 均为已知常数。这次染色会对社会带来的总的改变,就是上述所有改变的总和。设计一种染色方案,使得对社会总的改变最大。
Input
第一行一个正整数N,表示涉及该问题的人数。
第二行N个整数w1,w2,w3,…,wN(∀i∈{1,2,3,…,N},|wi|≤10^9)表示某一个人被染色后对社会带来的改变。
第三行一个非负整数M,表示有M 对朋友关系。
以后M 行每行三个整数ui,vi,wui,vi(1≤ui,vi≤N,ui≠vi,|wui,vi|≤10^9),分别表示朋友关系的对象,以及对社会带来改变的相关参数。
相邻整数用空格分隔,朋友关系不会被重复描述。
Output
输出仅一行为一个整数,对社会产生的总的改变的最大值。
分析:把每条边权加到连接此边的两个点中,然后ans减去每条边边权,然后把所有正点权加入ans即可。
那么为什么要减去每条边权呢?显然,当你选了相连两个点时要加上这两点边权那么ans减的时候就正好把多算的一次减去,其他情况同理。
代码
#include<cstdio> #define maxn 200000using namespace std; int w[maxn]; int main(){ int n,m; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&w[i]); scanf("%d",&m); long long ans=0; for(int i=1;i<=m;i++) { int x,y,z; scanf("%d%d%d",&x,&y,&z); w[x]+=(long long)z; w[y]+=(long long)z; ans-=(long long)z; } for(int i=1;i<=n;i++) if(w[i]>0)ans+=(long long)w[i]; printf("%I64d",ans); }
- SSL2761 2017年10月7日提高组T1 染色(贪心)
- 2017年10月7日提高组T1 染色
- SSL2838 2017年11月6日提高组T1 矩阵(贪心)
- 2017年8月7日提高组T1 呵呵
- 2017年8月7日提高组T1 呵呵
- 2017年8月7日提高组T1 呵呵
- 2017年8月7日提高组T1 根
- 2017年8月10日提高组T1 数学
- 2017年8月10日提高组T1 数学
- 2017年8月10日提高组T1 数学
- 2017年10月30日提高组T1 数论
- SSL2676 2017年8月10日提高组T1 数学(快速幂)
- SSL2764 2017年10月8日提高组T1 didi(dp)
- SSL2785 2017年10月23日提高组T1 询问 (二分+并查集)
- 2017年8月8日提高组T1 作业
- 2017年8月8日提高组T1 作业
- 2017年8月9日提高组T1 水题
- 2017年8月8日提高组T1 作业
- POJ-3669的基础上输出逃生路径(bfs)(宽度优先搜索)
- Java创建模式
- 基于集合关系对求解闰年数的算法优化
- while循环和do--while循环
- 2017年10月07日普及组 蚂蚁
- SSL2761 2017年10月7日提高组T1 染色(贪心)
- httpclient的dopost和doget请求
- 反射的基本使用
- 会话技术之SESSION
- 2017.10.7 弹飞绵羊 思考记录
- 我的大学——经历了两年的大学生活才写出来的一篇文章 送给新生
- window10 下安装java开发环境步骤(jdk,maven,idea,MySQL,navicat,tomcat)
- 1036: 递归6(统计出栈
- 2017年10月07日普及组 数列