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

阿狸和桃子正在玩一个游戏,游戏是在一个带权图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

贪心处理,对于一条边,如果桃子选择两个点,那么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: 阿狸和桃子的游戏相关推荐

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

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

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

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

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

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

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

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

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

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

  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. android开发之Parcelable使用详解
  2. 【334天】每日项目总结系列072(2018.01.05)
  3. 调试反馈的一种实时反馈方法
  4. 线性方程 最小二乘解 SVD分解
  5. linux导出文件夹到u盘,Linux系统放到U盘上直接在U盘上运行Linux
  6. oracle expdp/impdp exclude=STATISTICS
  7. GridView 控件的执行顺序
  8. python watchdog占用,python基于watchdog库全自动化监控目录文件
  9. Github标星35K+超火的Spring Boot实战项目(附项目地址+教程文档)
  10. C# dll加载,抽象方法的使用
  11. linux查看编译器命令,关于驱动与编译器版本的查询命令
  12. 《网络与信息安全B》教学大纲
  13. WebUI自动化测试框架搭建从0到1(完整源码)更新完毕
  14. 万字详文阐释程序员修炼之道
  15. Tomcat日志文件catalina.out文件过大问题解决方法
  16. 什么是5G CPE?
  17. 计算机屏幕出现蓝色条,我的电脑屏幕中间为何会有一道蓝色线条
  18. 蒋鑫鸿:9.2黄金原油跌势不止,日内操作策略
  19. BZOJ4180: 字符串计数 SAM+矩阵乘法
  20. 电商平台订单交易数据分析

热门文章

  1. [转]Windows Server 2012 和 System Center 2012 SP1,Virtual Machine Manager 中启用的软件定义的网络...
  2. pyton 内置模块
  3. 学计算机编程技校排名,学编程什么学校最好?
  4. A股-股票程序自动化交易接口
  5. JavaScript判断系统语言
  6. 租用国内的云主机的话,选阿里云还是盛大云?
  7. 一道疯狂bypass的题目
  8. android的aod的功能,一加正式推出氢OS 11:基于安卓11打造 新增「年轮AOD」功能
  9. 结合知识蒸馏的增量学习方法总结
  10. 基于vue的人机验证