BZOJ2563阿狸和桃子的游戏

2563: 阿狸和桃子的游戏

Time Limit: 3 Sec  Memory Limit: 128 MB
Submit: 952  Solved: 682
[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。
题目大意:两个人分别对一个图的点染色。染到哪个点就会获得哪个点的价值,如果一条边的两端被同一个人染色,那么
这个人也会获得这条边的价值。
题解:贪心
把一条边的边权分给两端的点权,如果一条边的两端被两人选择,那么最后得分相减时会抵消

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #define maxn 10006
 6 using namespace std;
 7
 8 int n,m;
 9 double sum1,sum2,w[maxn];
10
11 int main()
12 {
13     scanf("%d%d",&n,&m);
14     for(int i=1;i<=n;i++)scanf("%lf",&w[i]);
15     for(int i=1;i<=m;i++)
16     {
17         int x,y,z;
18         scanf("%d%d%d",&x,&y,&z);
19         w[x]+=(double)(z/2.);
20         w[y]+=(double)(z/2.);
21     }
22     sort(w+1,w+n+1);
23     while(n)
24     {
25         sum1+=w[n--];
26         sum2+=w[n--];
27     }
28     printf("%.lf\n",sum1-sum2);
29 }

转载于:https://www.cnblogs.com/fengzhiyuan/p/8326169.html

bzoj 2563 贪心 思想相关推荐

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

    BZOJ 2563 : 阿狸和桃子的游戏 (机巧的贪心) 题目传送门 [问题描述] 大概就是,给你一个N个点的图(保证N是偶数).点和边都有权值. 有两个绝顶聪明的人,一人轮流选一次点(每个点仅可被选 ...

  2. 运用贪心思想解决跳跃游戏

    运用贪心思想解决跳跃游戏 文章目录 运用贪心思想解决跳跃游戏 Jump Game I 1.题目描述 2.分析 3.代码 Jump Game II 1.问题描述 2.分析 3.动规代码[超时] 4.贪心 ...

  3. LeetCode——贪心思想

    贪心思想 分配饼干 不重叠的区间个数 投飞镖刺破气球 根据身高和序号重组队列 买卖股票最大的收益 买卖股票最大的收益 2 种植花朵 判断是否为子序列 修改一个数成为非递减数组 子数组最大的和 分隔字符 ...

  4. java 马踏棋盘优化_我所知道的十大常用算法之马踏棋盘算法(深度搜索、贪心思想优化 )...

    前言需求 今天我们学习的是马踏棋盘算法,我们还是从一个场景里引入看看 马踏棋盘算法也被称为骑士周游问题 将马随机放在国际象棋的6×6棋盘Board0-5的某个方格中 提示:马按走棋规则(马走日字)进行 ...

  5. 20210322 :贪心思想力扣典型题目合集

    贪心思想力扣典型题目合集 写在前面 题目列表 思路分析 代码实现 写在前面 贪心的思想很多时候在于想到那个贪心的点上,而对徒手书写某些代码结构的能力并不做要求,个人认为需要的是你敏锐的意识到这个贪心的 ...

  6. 765. 情侣牵手(贪心思想)

    情侣牵手 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 到 2N ...

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

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

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

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

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

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

最新文章

  1. (C++)CSP 201712-2 游戏
  2. 广东电大计算机绘图试题,电大计算机绘图期末复习试题及答案参考小抄.doc
  3. kotlin mysql数据库_在kotlin中使用mysql行级锁
  4. 大数据技术原理与应用(更新至第九章)
  5. Java 核心编程技术干货,2019 最新整理版
  6. H264解码之PES流解析
  7. 摩尔吧 FPGA培训
  8. 【STM32H7的DSP教程】第27章 FFT的示波器应用
  9. 数据分析--Python连接阿里云数据库
  10. 上海亚商投顾:沪指失守3200点 房地产板块逆市走强
  11. matlab画带方差的柱状图,带方差的柱状图
  12. Windows2000、2003浏览器无法上网、无法联网
  13. 生产计划:制定您的生产流程
  14. 《语义计算群:AI 理性主义的终结是不可能的吗》
  15. openjudge 1.5.22 津津的储蓄计划
  16. MIT-BIH心律失常数据库详解
  17. LTE参数RSRP、RSSI、RSRQ、RS-CINR
  18. 华为、腾讯、阿里、网易员工下班时间大曝光,靠加班,你是赢不了他们的
  19. HALCON 算子 find_marks_and_pose
  20. ng-zorro自定义主题

热门文章

  1. 面向对象的三大特征,封装、继承、多态的个人理解以及代码分析
  2. Java 自动转换和强制转换
  3. Java中树的存储结构实现
  4. CryptoAPI 学习
  5. 开发自定义控件的笔记 (2)
  6. 架构之各种参数对应表
  7. 1019. 数字黑洞 (20)
  8. js中null和undefined
  9. 转载:SVN插件的手动安装
  10. 8个神奇的网页动态流体布局及其做法揭秘