Description

  阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e)。游戏规则是这样的:
  1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶点染成红色,桃子会将顶点染成粉色。已经被染过色的点不能再染了,而且每一轮都必须给一个且仅一个顶点染色。
  2. 为了保证公平性,节点的个数N为偶数。
  3. 经过N/2轮游戏之后,两人都得到了一个顶点集合。对于顶点集合S,得分计算方式为
  。
  由于阿狸石头剪子布输给了桃子,所以桃子先染色。两人都想要使自己的分数比对方多,且多得越多越好。如果两人都是采用最优策略的,求最终桃子的分数减去阿狸的分数。
 
Input

 输入第一行包含两个正整数N和M,分别表示图G的节点数和边数,保证N一定是偶数。
  接下来N+M行。
  前N行,每行一个整数w,其中第k行为节点k的权值。
  后M行,每行三个用空格隔开的整数a b c,表示一条连接节点a和节点b的边,权值为c。

 
Output

 输出仅包含一个整数,为桃子的得分减去阿狸的得分。

Sample Input

4 4

6

4

-1

-2

1 2 1

2 3 6

3 4 3

1 4 5

Sample Output

3

数据规模和约定

  对于40%的数据,1 ≤ N ≤ 16。

  对于100%的数据,1 ≤ N ≤ 10000,1 ≤ M ≤ 100000,-10000 ≤ w , c ≤ 10000。

HINT

Source

2012国家集训队Round 1 day2

题解
讲一条边的权值平分在两个端点上,因为是作差,所以不会有影响(自行脑补)。于是贪心轮流取最大值即可。

代码

#include<bits/stdc++.h>
#define ll long long
#define inf 10000005
using namespace std;
inline int read()
{int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
double a[10005],ans;
int n,m,x,y,z;
bool cmp(double a,double b)
{return a<b;
}
int main()
{n=read();m=read();for (int i=1;i<=n;i++)a[i]=read();for (int i=1;i<=m;i++){int x=read(),y=read(),z=read();a[x]+=(double)z/2;a[y]+=(double)z/2;}sort(a+1,a+n+1,cmp);for (int i=n;i;i--){if ((n-i)%2==0) ans+=a[i];else ans-=a[i];}printf("%.0lf",ans);return 0;
}

【bzoj2563】阿狸和桃子的游戏相关推荐

  1. bzoj2563阿狸和桃子的游戏

    bzoj2563阿狸和桃子的游戏 题意: 一个n(偶数)点图,节点权值为w(v),边权为c(e).两人轮流将图中的顶点染色,已经被染过色的点不能再染了,而且每一轮都必须给一个且仅一个顶点染色.染完后每 ...

  2. [bzoj2563] 阿狸和桃子的游戏 贪心

    2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 814 Solved: 585 [Submit][Status][Discu ...

  3. [bzoj2563]阿狸和桃子的游戏

    2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 518 Solved: 369 [Submit][Status][Discu ...

  4. BZOJ2563 阿狸和桃子的游戏

    最小生成树的变形--将边权赋予到点权(当然还有一种是将点权赋到边权) 显然将边权分一半给旁边的点,然后最小生成树就可以了. 因为如果两个人分别把这个边两边的点选走了,他们相当于谁都没有拿到这个边的边权 ...

  5. [BZOJ]2563: 阿狸和桃子的游戏

    题解:神贪心.......我们考虑对于每条边的选择 假设某方对于当前这条边的端点都不选择  那么其获得-v的价值 假设某方对于当前这条边的端点只选择一个   那么其获得0的价值 假设某方对于当前这条边 ...

  6. BZOJ 2563: 阿狸和桃子的游戏

    2563: 阿狸和桃子的游戏 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 1161  Solved: 810 [Submit][Status][Di ...

  7. 贪心 阿狸和桃子的游戏

    问题 E: 阿狸和桃子的游戏 时间限制: 1 Sec 内存限制: 128 MB 题目描述 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游 ...

  8. Bzoj 2563: 阿狸和桃子的游戏 题解

    2563: 阿狸和桃子的游戏 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 970  Solved: 695 [Submit][Status][Dis ...

  9. BZOJ 2563 : 阿狸和桃子的游戏

    BZOJ 2563 : 阿狸和桃子的游戏 (机巧的贪心) 题目传送门 [问题描述] 大概就是,给你一个N个点的图(保证N是偶数).点和边都有权值. 有两个绝顶聪明的人,一人轮流选一次点(每个点仅可被选 ...

  10. 阿狸和桃子的游戏题解

    阿狸和桃子的游戏题解 每一道代码简单的黑题都有着诡异的思想,真不知道出题者怎么想的. 而这道题的重点在于把边权转换为点权, 此题的方式是将边权w平均分给被连接的两点u和v. 若u和v都被一人选择,则他 ...

最新文章

  1. html js脚本限制 正则,[js]用JAVASCRIPT正则表达式限制文本字节数的代码
  2. python怎么读取文件-python怎么读取文件内容
  3. php代码文字中怎么换行符,如何在imagestring(php中的文本到图像)中添加换行符(br)...
  4. 深度学习分割json_to_data报错Too many dimensions: 3 > 2
  5. 发挥游戏人工智能的最大价值:线程化
  6. layui循环数据并渲染_从简单到复杂三维图形渲染管线
  7. 干货 | 数据分析的 7 个关键步骤是什么?
  8. Mysql的安装和配置
  9. MIT黑科技:无需视觉输入,立体声音频+摄像机元数据即可实现移动车辆定位
  10. python工资高还是java-python为什么叫爬虫 python工资高还是java的高
  11. OEMAddressTable介绍(转)
  12. Pymol教程--安装
  13. php做前端动态效果,通过CSS Animation进行前端动效
  14. Linux使用scp在服务器之间远程传输复制文件和文件夹
  15. OpenCV:Mat创建全白图、全黑图、指定像素值的图
  16. module.exports 和 exports的区别
  17. “基尔霍夫电流定律”电子教案
  18. 家乐福联姻微库玩逆袭,移动营销你造吗?
  19. Hadoop 从入门到精通----leo学习编程不良人视频的笔记--part01
  20. 帮助中心在线制作工具推荐这4款,很不错哟!

热门文章

  1. dell服务器面板不显示,戴尔服务器控制提示面板没有安装怎么处理
  2. 成功解决data too long for column 'name' at row 1
  3. Fast Global Registration
  4. XCode使用googletest(包括googlemock)
  5. 某农业学校python(七)
  6. 阿里云数据库李飞飞:云计算推动数据库向云原生快速演进
  7. 第一代GCN: Spectral Networks and Locally Connected Networks on Graphs
  8. 数学定理【转自百度百科】
  9. gabor滤波 matlab,图像处理 – 使用matlab应用Gabor方程创建Gabor滤波器
  10. PMP第12章采购管理