BZOJ 2563 : 阿狸和桃子的游戏 (机巧的贪心)

题目传送门

【问题描述】

  大概就是,给你一个N个点的图(保证N是偶数)。点和边都有权值。
  有两个绝顶聪明的人,一人轮流选一次点(每个点仅可被选一次,选了这一点的人会得到这个点权值的加分),若对于一条边的两个端点都被某一个人选了,那么他就会有额外的加分(边的权值)。
  他们都想比对方多分,且当然是越多越好啦。
  问:第一个人最多比第二个人多 多少分?(两者都会采用最优策略)

【解题思路】

  这个边的额外加分似乎不好搞啊。
  因为不知道选了其中一个,还是两个都选。而且一方选了,另一方也有可能阻止(边的权值很大的话)

  那,有没有办法,把边上的值,分离出来?
  边u->v,把边的权值分成两半,一半加在u上,一半加在v上。那么u,v同时选,则得到额外的边的权值。
  若一人选u,另一人选了v,则没有任何影响(求的是差值,两人加上了同样的值,其实是一样的,相互抵消了)

  似乎做完了啊,
  把边的值分离在端点上。
  从大到小排序,一人拿一个就好。。

  流弊的分离思想
【代码】

#include<bits/stdc++.h>#define imax(a,b) ((a>b)?(a):(b))
#define imin(a,b) ((a<b)?(a):(b))using namespace std;typedef long long ll;const int N=10010;
int n,m,s1,s2;
int val[N];bool cmp(int A,int B) { return (A>B); }void read(int &x)
{x=0; char ch=getchar(); int f=1;for(;!isdigit(ch);ch=getchar()) if(ch=='-') f=-1;for(; isdigit(ch);ch=getchar()) x=(x<<3)+(x<<1)+ch-'0';x*=f;
}int main()
{read(n); read(m);for(int i=1;i<=n;i++) read(val[i]),val[i]<<=1;for(int i=1;i<=m;i++){int a,b,c; read(a); read(b); read(c);val[a]+=c; val[b]+=c;}sort(val+1,val+1+n,cmp);for(int i=1;i<=n;i+=2) s1+=val[i],s2+=val[i+1];printf("%d\n",(s1-s2)>>1);return 0;
}

BZOJ 2563 : 阿狸和桃子的游戏相关推荐

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

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

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

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

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

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

  4. bzoj 2563阿狸和桃子的游戏

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

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

    http://www.lydsy.com/JudgeOnline/problem.php?id=2563 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: ...

  6. BZOJ 2563 阿狸和桃子的游戏 题解(贪心)

    时间是一切财富中最宝贵的财富. -- 德奥弗拉斯多 又是一道贪心题. 题目: 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样 ...

  7. BZOJ 2563 阿狸和桃子的游戏

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

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

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

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

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

最新文章

  1. vs2005+Access开发网站管理系统日志1
  2. 【学生选课系统经典】C#与SQLSERVER连接:ASP.NET网站(服务器端,IIS发布)
  3. 局部变量是线程安全的,原因是什么
  4. windows事件id大全_技术转载 || springboot+redis做过期事件通知业务
  5. 非刚性人脸跟踪 —— 面部特征检测器
  6. oracle 运营维护_总结几个ORACLE数据库日常运维常用的命令(持续更新)
  7. 整合Spring Data JPA与Spring MVC: 分页和排序pageable
  8. 利用mysql的预编译机制_Mysqli的预编译机制处理批量数据过程
  9. java中清空文件夹_java 删除文件夹中的所有内容而不删除文件夹本身的实例
  10. 常用地图经纬度转换,以及遇到的问题和解决方式
  11. CentOs7下Zabbix安装教程——zabbix server安装
  12. firebug下载地址
  13. C# 如何提取PDF文本和图片
  14. 苹果屏幕镜像_苹果屏幕镜像一直在转,秒懂投屏帮你解决
  15. 服务器芯片组驱动,Intel芯片组INF驱动9.1.1.1027 For Windows7
  16. JDBC Driver介绍
  17. Vue3必会技巧-自定义Hooks
  18. 如何下载酷6、土豆、优酷、56视频并转化格式进行播
  19. 7000字长文深度解读:DTC商业模式,对品牌增长的颠覆式影响
  20. 怎么自测植物神经紊乱

热门文章

  1. 嵩天-Python语言程序设计程序题--第六周:组合数据类型
  2. python英语词汇量测试_python英语单词测试小程序
  3. html: a标签中的href的作用
  4. mysql slave 1062_mysql主从同步slave错误1062
  5. python 小括号转译_Python-HTML转义字符
  6. 基于AHK的键盘映射——高效利用CapsLock键
  7. 图像分割中CNN的简史:从R-CNN到Mask R-CNN
  8. 用python爬取xkcd.com上的有趣漫画图片
  9. 综合日语第一册动词复习
  10. wegame服务器维护启动游戏失败,wegame连接服务器失败