bzoj2563(脑洞题)
来源:互联网 发布:解压软件怎么用 编辑:程序博客网 时间:2024/06/06 12:32
题目大意:给定一张无向图,每个点有点权,每条边有边权,两个人轮流选择点,若一条边的两端点被选择则这条边被选择,两人都想自己的得分-对手的得分最大,求最终先手得分-后手得分
这题有一个性质,一条边要么是两端点同属于一个人,要么是属于2个人,那么把这条边权平分给两个端点,又因为要求的是差值,所以这么做是没有问题的。那么把分权后的点排序扫一遍就可以了。
#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std;int n,m;int val[100005];bool cmp(int a,int b) {return a>b;}int main(){scanf("%d%d",&n,&m);int x,y,v;for (int i=1;i<=n;i++) scanf("%d",&val[i]),val[i]<<=1;for (int i=1;i<=m;i++){scanf("%d%d%d",&x,&y,&v);val[x]+=v;val[y]+=v;}sort(val+1,val+n+1,cmp);int b[2];b[0]=b[1]=0;for (int i=1;i<=n;i++) b[i&1]+=val[i];printf("%d",(b[1]-b[0])>>1);return 0;}
总结
1:对于有一些需要将给出信息除以2来处理的题目,如果担心整除所带来的影响,可以考虑将所有的信息乘2,最后答案再处于2就好,以此减小误差。
0 0
- bzoj2563(脑洞题)
- [bzoj2563]阿狸和桃子的游戏
- bzoj2563 阿狸和桃子的游戏
- 【bzoj2563】阿狸和桃子的游戏
- bzoj2563 阿狸和桃子的游戏
- 【BZOJ2563】阿狸和桃子的游戏 贪心
- 【bzoj2563】 阿狸和桃子的游戏 贪心
- 【bzoj2563】阿狸和桃子的游戏 脑洞
- 【bzoj2563】【阿狸和桃子的游戏】【贪心】
- [BZOJ2563]阿狸和桃子的游戏(贪心)
- [bzoj2563][贪心]阿狸和桃子的游戏
- hdu_5719_Arrange(脑洞题)
- HDU 5719 贪心,脑洞题
- 篝火晚会(脑洞题)
- codeforce_894B_数学脑洞题
- HDU 5319 Painter (模拟 脑洞题)
- foj 犯罪嫌疑人 (脑洞题_)
- 【codechef】Computer Network(脑洞题)
- Chart.js说明文档 - 00
- Jquery弹出摸态框
- Oracle 11g Data Guard 使用duplicate from active database 创建物理DG
- Android studio 遇到UnsupportedMethodException 问题解决方法
- 天猫首页轮播图实现(附gif图)
- bzoj2563(脑洞题)
- Oracle-序列、索引和同义词
- Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)
- 老鼠与毒药问题
- HDU1045 水dfs....数据量太小了才16.....
- HDU 1298 T9 字典树+dfs
- hdu 1465 不容易系列之一(错排模板)
- 百度地图BaiduMap--学习(三)------让自己的位置显示在地图上之“火星差”
- C语言:从键盘输入一个数n,求n的阶乘(n!)