2563: 阿狸和桃子的游戏

Time Limit: 3 Sec Memory Limit: 128 MB
Submit: 814 Solved: 585
[Submit][Status][Discuss]
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(难以置信)
先分析都不选的情况
有一个点不选,答案-w
有一条边一点不选,答案-c
有一条边两点不选,答案-2*c
那么先减去所有不选的权值
那么就变成了加的问题
选一个点,答案加2*w
一边选一点,答案+c
选两点,答案+2*c
令一个点的值为本身点权的二倍+所有相连的边的边权
排个序两人轮流取最大即可

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m;
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;
}
long long ans,a[10005];
int u,v,w;
int main() {n = read();m = read();for( int i = 1; i <= n; i++ ) {w = read();ans -= w;a[i] = w << 1;}for( int i = 1; i <= m; i++ ) {u = read();v = read();w = read();ans -= w;a[u] += w;a[v] += w;}sort(a+1,a+n+1);for( int i = 2; i <= n; i += 2 )ans += a[i];printf("%d", ans);return 0;
}

[bzoj2563] 阿狸和桃子的游戏 贪心相关推荐

  1. bzoj2563阿狸和桃子的游戏

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

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

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

  3. 题解BZOJ 2563 阿狸和桃子的游戏 [贪心]

    大家都很强,可与之共勉. 说贪心的话,代码短的和巧妙的数论题一样吓人.可是要转化出模型其实还是非常不容易的.比如说这个[2012国家集训队Round 1 day2],着实很巧妙. 阿狸和桃子正在玩一个 ...

  4. BZOJ 2563 阿狸和桃子的游戏 (贪心)

    Description 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶 ...

  5. BZOJ_P2563 阿狸和桃子的游戏(贪心)

    BZOJ传送门 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 504 Solved: 359 [Submit][Status][Discuss] Des ...

  6. 【bzoj2563】 阿狸和桃子的游戏 贪心

    贪心好题,表示不会做然后膜拜了一下PoPoQQQ的题解http://blog.csdn.net/popoqqq/article/details/44495319. 考虑每个点选对答案的贡献为w,不选的 ...

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

    依然加链接 #include <stdio.h> int main() {puts("转载请注明出处[vmurder]谢谢");puts("网址:blog.c ...

  8. BZOJ2563 阿狸和桃子的游戏

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

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

    Description 给定一张无向图,每个点有点权,每条边有边权,两个人轮流选择点,若一条边的两端点被选择则这条边被选择,两人都想自己的得分-对手的得分最大,求最终先手得分-后手得分 Sample ...

最新文章

  1. [翻译]在asp.net 2.0中使用WebParts
  2. CMD是什么?(命令行提示符)如何使用python在windows上操作CMD?(python执行命令行)os.syste[m](执行的命令)、os.popen(执行的命令)
  3. 查看显卡显存_3d渲染需要多大显存比较合适?显存在渲染中的作用
  4. PHP深复制与浅复制
  5. iis7.0 https访问显示403访问被拒绝_提高网站访问性能——Tomcat优化
  6. Visual Studio 远程调试正在运行的进程
  7. Diango博客--13.将“视图函数”类转化为“类视图”
  8. 模仿王者荣耀的实时阴影
  9. 程序员与产品经理大打出手,公司的处理结果让所有人都笑开了花
  10. 优先级队列实现php,带优先级的队列 - PHP实现
  11. 烟台大学计算机技术面试,2019烟台大学研究生复试面试注意哪些
  12. 土豆聊天poeato Chat注册账号时提示网络刺错误怎么解决
  13. 万能计算机在线应用,万能计算器在线使用技巧,快点学习吧
  14. 阳阳智能开关固件2.0版本
  15. 有哪些好的3D建模软件,最近对3D建模很感兴趣?
  16. 腾讯数据分析师内训课程!
  17. 汇编 输入成绩,排序输出,平均值,及格,不及格人数,最大最小值
  18. 如何让Python画笔画一个圆
  19. 启动MySQL报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
  20. 关于使用LocationManager时遇到的问题

热门文章

  1. 量化投资与python语言_在量化投资领域,为什么Python如此受欢迎?
  2. 科技云报道:“Sky Computing”会是云计算未来的新方向吗?
  3. Wab开发————jQuery
  4. 基于AHK的键盘映射——高效利用CapsLock键
  5. my music / NightWish / Groove Coverage / DJ
  6. CYUSB3014芯片使用EEPROM无法下载固件说明
  7. 四六级听力考试高频词汇分类记忆-日常生活类
  8. 服务器连接不上的处理方式
  9. 网络技术大讲堂:什么是IPv6+?
  10. Olny Flashlight