[bzoj2563] 阿狸和桃子的游戏 贪心
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] 阿狸和桃子的游戏 贪心相关推荐
- bzoj2563阿狸和桃子的游戏
bzoj2563阿狸和桃子的游戏 题意: 一个n(偶数)点图,节点权值为w(v),边权为c(e).两人轮流将图中的顶点染色,已经被染过色的点不能再染了,而且每一轮都必须给一个且仅一个顶点染色.染完后每 ...
- [bzoj2563]阿狸和桃子的游戏
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 518 Solved: 369 [Submit][Status][Discu ...
- 题解BZOJ 2563 阿狸和桃子的游戏 [贪心]
大家都很强,可与之共勉. 说贪心的话,代码短的和巧妙的数论题一样吓人.可是要转化出模型其实还是非常不容易的.比如说这个[2012国家集训队Round 1 day2],着实很巧妙. 阿狸和桃子正在玩一个 ...
- BZOJ 2563 阿狸和桃子的游戏 (贪心)
Description 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶 ...
- BZOJ_P2563 阿狸和桃子的游戏(贪心)
BZOJ传送门 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 504 Solved: 359 [Submit][Status][Discuss] Des ...
- 【bzoj2563】 阿狸和桃子的游戏 贪心
贪心好题,表示不会做然后膜拜了一下PoPoQQQ的题解http://blog.csdn.net/popoqqq/article/details/44495319. 考虑每个点选对答案的贡献为w,不选的 ...
- 【BZOJ2563】阿狸和桃子的游戏 贪心
依然加链接 #include <stdio.h> int main() {puts("转载请注明出处[vmurder]谢谢");puts("网址:blog.c ...
- BZOJ2563 阿狸和桃子的游戏
最小生成树的变形--将边权赋予到点权(当然还有一种是将点权赋到边权) 显然将边权分一半给旁边的点,然后最小生成树就可以了. 因为如果两个人分别把这个边两边的点选走了,他们相当于谁都没有拿到这个边的边权 ...
- 2563: 阿狸和桃子的游戏 贪心
Description 给定一张无向图,每个点有点权,每条边有边权,两个人轮流选择点,若一条边的两端点被选择则这条边被选择,两人都想自己的得分-对手的得分最大,求最终先手得分-后手得分 Sample ...
最新文章
- [翻译]在asp.net 2.0中使用WebParts
- CMD是什么?(命令行提示符)如何使用python在windows上操作CMD?(python执行命令行)os.syste[m](执行的命令)、os.popen(执行的命令)
- 查看显卡显存_3d渲染需要多大显存比较合适?显存在渲染中的作用
- PHP深复制与浅复制
- iis7.0 https访问显示403访问被拒绝_提高网站访问性能——Tomcat优化
- Visual Studio 远程调试正在运行的进程
- Diango博客--13.将“视图函数”类转化为“类视图”
- 模仿王者荣耀的实时阴影
- 程序员与产品经理大打出手,公司的处理结果让所有人都笑开了花
- 优先级队列实现php,带优先级的队列 - PHP实现
- 烟台大学计算机技术面试,2019烟台大学研究生复试面试注意哪些
- 土豆聊天poeato Chat注册账号时提示网络刺错误怎么解决
- 万能计算机在线应用,万能计算器在线使用技巧,快点学习吧
- 阳阳智能开关固件2.0版本
- 有哪些好的3D建模软件,最近对3D建模很感兴趣?
- 腾讯数据分析师内训课程!
- 汇编 输入成绩,排序输出,平均值,及格,不及格人数,最大最小值
- 如何让Python画笔画一个圆
- 启动MySQL报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
- 关于使用LocationManager时遇到的问题
热门文章
- 量化投资与python语言_在量化投资领域,为什么Python如此受欢迎?
- 科技云报道:“Sky Computing”会是云计算未来的新方向吗?
- Wab开发————jQuery
- 基于AHK的键盘映射——高效利用CapsLock键
- my music / NightWish / Groove Coverage / DJ
- CYUSB3014芯片使用EEPROM无法下载固件说明
- 四六级听力考试高频词汇分类记忆-日常生活类
- 服务器连接不上的处理方式
- 网络技术大讲堂:什么是IPv6+?
- Olny Flashlight