BZOJ——2563: 阿狸和桃子的游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=2563
Time Limit: 3 Sec Memory Limit: 128 MB
Submit: 978 Solved: 702
[Submit][Status][Discuss]
Description
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
6
4
-1
-2
1 2 1
2 3 6
3 4 3
1 4 5
Sample Output
数据规模和约定
对于40%的数据,1 ≤ N ≤ 16。
对于100%的数据,1 ≤ N ≤ 10000,1 ≤ M ≤ 100000,-10000 ≤ w , c ≤ 10000。
HINT
Source
2012国家集训队Round 1 day2
贪心处理,对于一条边,如果桃子选择两个点,那么ans+=val[i]+val[j]+ w(i,j)-0,如果桃子选点i,阿狸选点j,ans+=val[i]-val[j]
可以考虑将边权一半一半的分到两个点,对ans的统计是没有影响的(因为如果两个点都选,可以再和出边权,如果一人一个点,边权刚好抵消)
1 #include <algorithm> 2 #include <cstdio> 3 4 const int N(10005); 5 double val[N],ans; 6 int n,m; 7 8 int Presist() 9 { 10 scanf("%d%d",&n,&m); 11 for(int i=1; i<=n; ++i) 12 scanf("%lf",val+i); 13 for(int u,v; m--; ) 14 { 15 scanf("%d%d%lf",&u,&v,&val[0]); 16 val[u]+=val[0]/2.0,val[v]+=val[0]/2.0; 17 } 18 std::sort(val+1,val+n+1); 19 for(; n; ) ans+=val[n--],ans-=val[n--]; 20 printf("%.0lf",ans); 21 return 0; 22 } 23 24 int Aptal=Presist(); 25 int main(int argc,char**argv){;}
转载于:https://www.cnblogs.com/Shy-key/p/7674261.html
BZOJ——2563: 阿狸和桃子的游戏相关推荐
- BZOJ 2563 : 阿狸和桃子的游戏
BZOJ 2563 : 阿狸和桃子的游戏 (机巧的贪心) 题目传送门 [问题描述] 大概就是,给你一个N个点的图(保证N是偶数).点和边都有权值. 有两个绝顶聪明的人,一人轮流选一次点(每个点仅可被选 ...
- [BZOJ]2563: 阿狸和桃子的游戏
题解:神贪心.......我们考虑对于每条边的选择 假设某方对于当前这条边的端点都不选择 那么其获得-v的价值 假设某方对于当前这条边的端点只选择一个 那么其获得0的价值 假设某方对于当前这条边 ...
- BZOJ 2563: 阿狸和桃子的游戏
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 1161 Solved: 810 [Submit][Status][Di ...
- Bzoj 2563: 阿狸和桃子的游戏 题解
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 970 Solved: 695 [Submit][Status][Dis ...
- bzoj 2563阿狸和桃子的游戏
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 1237 Solved: 860 [ Submit][ Status ...
- BZOJ 2563 阿狸和桃子的游戏 题解(贪心)
时间是一切财富中最宝贵的财富. -- 德奥弗拉斯多 又是一道贪心题. 题目: 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样 ...
- BZOJ 2563 阿狸和桃子的游戏
Description 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶 ...
- 题解BZOJ 2563 阿狸和桃子的游戏 [贪心]
大家都很强,可与之共勉. 说贪心的话,代码短的和巧妙的数论题一样吓人.可是要转化出模型其实还是非常不容易的.比如说这个[2012国家集训队Round 1 day2],着实很巧妙. 阿狸和桃子正在玩一个 ...
- BZOJ 2563 阿狸和桃子的游戏 (贪心)
Description 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶 ...
最新文章
- android开发之Parcelable使用详解
- 【334天】每日项目总结系列072(2018.01.05)
- 调试反馈的一种实时反馈方法
- 线性方程 最小二乘解 SVD分解
- linux导出文件夹到u盘,Linux系统放到U盘上直接在U盘上运行Linux
- oracle expdp/impdp exclude=STATISTICS
- GridView 控件的执行顺序
- python watchdog占用,python基于watchdog库全自动化监控目录文件
- Github标星35K+超火的Spring Boot实战项目(附项目地址+教程文档)
- C# dll加载,抽象方法的使用
- linux查看编译器命令,关于驱动与编译器版本的查询命令
- 《网络与信息安全B》教学大纲
- WebUI自动化测试框架搭建从0到1(完整源码)更新完毕
- 万字详文阐释程序员修炼之道
- Tomcat日志文件catalina.out文件过大问题解决方法
- 什么是5G CPE?
- 计算机屏幕出现蓝色条,我的电脑屏幕中间为何会有一道蓝色线条
- 蒋鑫鸿:9.2黄金原油跌势不止,日内操作策略
- BZOJ4180: 字符串计数 SAM+矩阵乘法
- 电商平台订单交易数据分析
热门文章
- [转]Windows Server 2012 和 System Center 2012 SP1,Virtual Machine Manager 中启用的软件定义的网络...
- pyton 内置模块
- 学计算机编程技校排名,学编程什么学校最好?
- A股-股票程序自动化交易接口
- JavaScript判断系统语言
- 租用国内的云主机的话,选阿里云还是盛大云?
- 一道疯狂bypass的题目
- android的aod的功能,一加正式推出氢OS 11:基于安卓11打造 新增「年轮AOD」功能
- 结合知识蒸馏的增量学习方法总结
- 基于vue的人机验证