正题

题目链接: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(nlog⁡n+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-[国家集训队]阿狸和桃子的游戏【结论】相关推荐

  1. 洛谷 P4643 [国家集训队]阿狸和桃子的游戏

    题目:[国家集训队]阿狸和桃子的游戏 思路: 截个图,这个思路太巨了Orz. 图可以点.

  2. 洛谷P4643 [国家集训队]阿狸和桃子的游戏

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

  3. luogu P4643 [国家集训队]阿狸和桃子的游戏

    https://www.luogu.com.cn/problem/P4643 打比赛签到题是这题的加强版,完全不会,人傻了 记w(u)w(u)w(u)表示和u点相连的边权之和加上自身的点权 可以发现答 ...

  4. P4643 [国家集训队]阿狸和桃子的游戏

    把边权转换为点权.具体来说,把一条边的边权各一半加到两个顶点上,然后每个人选的时候,贪心的选取点权最大的点即可. 如果一条边的两个顶点被同一个人选上了,那么它就会额外提供等同于边权的贡献:否则的话,两 ...

  5. [国家集训队]阿狸和桃子的游戏(贪心)

    题目 题目传送门 题解 贪心方法不太好想,但会了方法代码很简单 我们可以把每条边的权值分成两半加到两端点上,用新的端点权值排序,每次交替加或减即可 贪心思想的证明: 声明:端点u,vu,vu,v,边权 ...

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

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

  7. [bzoj2563] 阿狸和桃子的游戏 贪心

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

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

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

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

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

最新文章

  1. java ancestor_java – 家谱祖先查找算法
  2. 成功解决pandas\core\indexing.py:179: SettingWithCopyWarning: A value is trying to be set on a copy of a
  3. 1127 ZigZagging on a Tree (30 分)【难度: 一般 / 知识点: 根据中序遍历 后序遍历建树】
  4. Hadoop之MapReduce面试知识复习
  5. cakephp 1.3 Controller
  6. VC2010 MFC文档类菜单快捷键无法加载问题
  7. 有机晶体数据库_面向Journal of Organic Chemistry作者的晶体学信息文件(CIF)工作流程将于10月6日作出调整...
  8. DisplayTag的使用方法
  9. 乐讯网python论坛_麻瓜编程Python Web基础视频教程 - 里客云
  10. Spring boot 与 Spring MVC
  11. 安踏2019上半年收益突破148亿元劲增超40%
  12. Pearson相关分析
  13. Python中index函数用法总结
  14. 为自己加油!--ThoughtWorks面试后感
  15. Dango笔记---manage.py 脚本的使用
  16. php for android
  17. JVM 运行时内存空间详解——元空间
  18. 沈师 PTA 数据库题目及部分解析 第十章
  19. python3 使用openpyxl 处理excel表格数据
  20. 吉大20春学期C语言程序设计作业二,c语言程序设计 教学课件 ppt 作者 吉大17秋学期《C语言程序设计》作业一...

热门文章

  1. 嵌套饼图_旭日图的效率,高到饼图都羡慕
  2. python课程思路_学习python课程第二十六天
  3. 2×3卡方检验prism_卡方独立性检验原理
  4. 11尺寸长宽 iphone_LED显示屏的尺寸规格计算方法
  5. dataframe 修改某列_python dataframe操作大全数据预处理过程(dataframe、md5)
  6. 加时间水印_如何在手机照片上添加时间和日期?打开这个设置即可添加,超方便...
  7. 用gis打开tif格式_如何下载SHP矢量格式的等高线
  8. 五年级计算机下册工作计划,五年级下学期工作计划
  9. 山西农业大学计算机科学与技术分数线,2016年山西农业大学计算机科学与技术专业在湖北录取分数线...
  10. 王某调离岗位后所使用计算机由新到任陈某,2017年沧州事业单位考试模拟卷