P4643-[国家集训队]阿狸和桃子的游戏【结论】
正题
题目链接:https://www.luogu.com.cn/problem/P4643
题目大意
给出nnn个点mmm条边的无向图,两个人轮流选择一个未被选择的点加入点集。
然后每个人的权值为选出的点的导出子图点权加边权和。
两个人都希望自己的权值减去对方的权值最大
求先手的权值减去后手的权值
1≤n≤104,1≤m≤1051\leq n\leq 10^4,1\leq m\leq 10^51≤n≤104,1≤m≤105
解题思路
结论就是把边权均分到点权处。
证明的话假设两个点之间的点权为www。
那么如果两边颜色不同那么这个均分出来的权值会统计一个w2−w2=0\frac{w}{2}-\frac{w}{2}=02w−2w=0的权值
如果两边颜色相同那么就会统计上这个权值。排序然后一个一个选就好了
时间复杂度O(nlogn+m)O(n\log n+m)O(nlogn+m)
code
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n,m,w[N],v[N],p[N],x[N],y[N],e[N],ans;
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",&w[i]),v[i]=w[i]*2,p[i]=i;for(int i=1;i<=m;i++){scanf("%d%d%d",&x[i],&y[i],&e[i]);v[x[i]]+=e[i];v[y[i]]+=e[i];}sort(v+1,v+1+n);for(int i=n;i>=1;i-=2)ans+=v[i]-v[i-1];printf("%d\n",ans/2);return 0;
}
P4643-[国家集训队]阿狸和桃子的游戏【结论】相关推荐
- 洛谷 P4643 [国家集训队]阿狸和桃子的游戏
题目:[国家集训队]阿狸和桃子的游戏 思路: 截个图,这个思路太巨了Orz. 图可以点.
- 洛谷P4643 [国家集训队]阿狸和桃子的游戏
题目描述 题目描述 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的: 1.阿狸和桃子轮流将图中的顶点染色,阿狸会将顶点染成 ...
- luogu P4643 [国家集训队]阿狸和桃子的游戏
https://www.luogu.com.cn/problem/P4643 打比赛签到题是这题的加强版,完全不会,人傻了 记w(u)w(u)w(u)表示和u点相连的边权之和加上自身的点权 可以发现答 ...
- P4643 [国家集训队]阿狸和桃子的游戏
把边权转换为点权.具体来说,把一条边的边权各一半加到两个顶点上,然后每个人选的时候,贪心的选取点权最大的点即可. 如果一条边的两个顶点被同一个人选上了,那么它就会额外提供等同于边权的贡献:否则的话,两 ...
- [国家集训队]阿狸和桃子的游戏(贪心)
题目 题目传送门 题解 贪心方法不太好想,但会了方法代码很简单 我们可以把每条边的权值分成两半加到两端点上,用新的端点权值排序,每次交替加或减即可 贪心思想的证明: 声明:端点u,vu,vu,v,边权 ...
- BZOJ 2563: 阿狸和桃子的游戏
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 1161 Solved: 810 [Submit][Status][Di ...
- [bzoj2563] 阿狸和桃子的游戏 贪心
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 814 Solved: 585 [Submit][Status][Discu ...
- bzoj 2563阿狸和桃子的游戏
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 1237 Solved: 860 [ Submit][ Status ...
- [BZOJ]2563: 阿狸和桃子的游戏
题解:神贪心.......我们考虑对于每条边的选择 假设某方对于当前这条边的端点都不选择 那么其获得-v的价值 假设某方对于当前这条边的端点只选择一个 那么其获得0的价值 假设某方对于当前这条边 ...
最新文章
- java ancestor_java – 家谱祖先查找算法
- 成功解决pandas\core\indexing.py:179: SettingWithCopyWarning: A value is trying to be set on a copy of a
- 1127 ZigZagging on a Tree (30 分)【难度: 一般 / 知识点: 根据中序遍历 后序遍历建树】
- Hadoop之MapReduce面试知识复习
- cakephp 1.3 Controller
- VC2010 MFC文档类菜单快捷键无法加载问题
- 有机晶体数据库_面向Journal of Organic Chemistry作者的晶体学信息文件(CIF)工作流程将于10月6日作出调整...
- DisplayTag的使用方法
- 乐讯网python论坛_麻瓜编程Python Web基础视频教程 - 里客云
- Spring boot 与 Spring MVC
- 安踏2019上半年收益突破148亿元劲增超40%
- Pearson相关分析
- Python中index函数用法总结
- 为自己加油!--ThoughtWorks面试后感
- Dango笔记---manage.py 脚本的使用
- php for android
- JVM 运行时内存空间详解——元空间
- 沈师 PTA 数据库题目及部分解析 第十章
- python3 使用openpyxl 处理excel表格数据
- 吉大20春学期C语言程序设计作业二,c语言程序设计 教学课件 ppt 作者 吉大17秋学期《C语言程序设计》作业一...
热门文章
- 嵌套饼图_旭日图的效率,高到饼图都羡慕
- python课程思路_学习python课程第二十六天
- 2×3卡方检验prism_卡方独立性检验原理
- 11尺寸长宽 iphone_LED显示屏的尺寸规格计算方法
- dataframe 修改某列_python dataframe操作大全数据预处理过程(dataframe、md5)
- 加时间水印_如何在手机照片上添加时间和日期?打开这个设置即可添加,超方便...
- 用gis打开tif格式_如何下载SHP矢量格式的等高线
- 五年级计算机下册工作计划,五年级下学期工作计划
- 山西农业大学计算机科学与技术分数线,2016年山西农业大学计算机科学与技术专业在湖北录取分数线...
- 王某调离岗位后所使用计算机由新到任陈某,2017年沧州事业单位考试模拟卷