luogu4643 [国家集训队]阿狸和桃子的游戏
题目链接:洛谷
这道题乍一看非常的难,而且题目标题上的标签让人很害怕。
但其实这道题并不难写(只要想到了。。。emm)
因为我们只需要知道两个人得分之差,所以我们可以对条件进行变换。
我们将边权平分到边两端的节点,取到了一个点也相当于取到了点权加上一半的边权,则发现对于边$(u,v)$有以下四种情况:
1.桃子取到了$u$和$v$,这时这两点的贡献为$w(u)+w(v)+c(u,v)/2+c(u,v)/2=w(u)+w(v)+c(u,v)$,与原来相同。
2.桃子取到了$u$,阿狸取到了$v$,贡献为$w(u)-w(v)+c(u,v)/2-c(u,v)/2=w(u)-w(v)$,与原来相同。
对于另外两种情况是一样的。
所以对于新的点权,我们每次贪心地取当前能取的最大的点权,这个就是答案了。
为了避免出现小数,我们可以对点权$*2$,最后把答案$/2$
#include<bits/stdc++.h>
#define Rint register int
using namespace std;
const int N = ;
int n, m, a[N], ans;
int main(){
scanf("%d%d", &n, &m);
for(Rint i = ;i <= n;i ++){
scanf("%d", a + i);
a[i] <<= ;
}
for(Rint i = ;i <= m;i ++){
int x, y, z;
scanf("%d%d%d", &x, &y, &z);
a[x] += z; a[y] += z;
}
sort(a + , a + n + );
for(Rint i = ;i < n;i += )
ans += a[i + ] - a[i];
printf("%d\n", ans >> );
}
Luogu4643
luogu4643 [国家集训队]阿狸和桃子的游戏的更多相关文章
- 洛谷P4643 [国家集训队]阿狸和桃子的游戏(思维题+贪心)
思维题,好题 把每条边的边权平分到这条边的两个顶点上,之后就是个sb贪心了 正确性证明: 如果一条边的两个顶点被一个人选了,一整条边的贡献就凑齐了 如果分别被两个人选了,一作差就抵消了,相当于谁都没有 ...
- P4643 [国家集训队]阿狸和桃子的游戏
传送门 这题看一眼就很不可做 考虑对于任意一个最终状态,对于一条边的贡献分成三种情况 如果此边连接的两点属于 $A$,那么对 $A$ 的贡献就是边权 $w$,即对答案的贡献为 $+w$ 如果两点都属于 ...
- P4643-[国家集训队]阿狸和桃子的游戏【结论】
正题 题目链接:https://www.luogu.com.cn/problem/P4643 题目大意 给出\(n\)个点\(m\)条边的无向图,两个人轮流选择一个未被选择的点加入点集. 然后每个人的 ...
- 【BZOJ2563】阿狸和桃子的游戏(贪心)
[BZOJ2563]阿狸和桃子的游戏(贪心) 题面 BZOJ 题解 边权平均分给两个点就好了. #include<iostream> #include<cstdio> #inc ...
- 【bzoj2563】阿狸和桃子的游戏(贪心+构造)
题目传送门:bzoj2563 先膜拜一波PoPoQQQ的题解:BZOJ 2563 阿狸和桃子的游戏 贪心 其实我们可以这样看:把一条边的权值均分到两个端点,那么取到两个端点就能得到这条边的边权,如果只 ...
- BZOJ2563阿狸和桃子的游戏
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 952 Solved: 682[Submit][Status][Discu ...
- Bzoj 2563: 阿狸和桃子的游戏 题解
2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 970 Solved: 695[Submit][Status][Discu ...
- Bzoj2563 阿狸和桃子的游戏
Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 701 Solved: 496 Description 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G= ...
- BZOJ——2563: 阿狸和桃子的游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=2563 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: ...
随机推荐
- 快速搭建一个Spring Boot + MyBatis的开发框架
前言:Spring Boot的自动化配置确实非常强大,为了方便大家把项目迁移到Spring Boot,特意总结了一下如何快速搭建一个Spring Boot + MyBatis的简易文档,下面是简单的步 ...
- Improved dual-mode compressive tracking integrating balanced colour and texture features
<改进的集成平衡颜色和纹理特征的双模压缩跟踪> 摘要:将跟踪问题视为分析目标和背景信息的分类问题的判别跟踪方法可以实现最先进的性能.作为一个高性能判别器,压缩跟踪近来受到很多关注.然而,当 ...
- IT行业中文资源网址集绵
1. IT网址:https://github.com/ityouknow/awesome-list 2.后端架构师网址:https://github.com/xingshaocheng/archite ...
- Mac 桌面软件开发基础问答
1> Mac OS X平台下的桌面软件是由什么编程语言处理 答: 由Objective-C, swift编程语言处理 2> Mac OS X平台下的桌面软件是由什么框架构建 答: 由Coc ...
- Golang 新手可能会踩的 50 个坑【转】
译文:https://github.com/wuYin/blog/blob/master/50-shades-of-golang-traps-gotchas-mistakes.md 原文:50 Sha ...
- ansible的plugins
callback插件:路径 /usr/lib/python2.7/site-packages/ansible/plugins 回显输出型(stdout): stderr.py skippy.py se ...
- ABP给WebApi添加性能分析组件Miniprofiler
在ABP的WebApi中,对其性能进行分析监测是很有必要的.而悲剧的是,MVC项目中可以使用的MiniProfiler或Glimpse等,这些都不支持WebApi项目,而且WebApi项目通常也没有界 ...
- How to change Eclipse loading image
Eclipse IDE has many customize components, the splash welcome image (purple color loading image) is ...
- goroutine 和线程的区别
好久没写点儿啥了,强行更新一下. 1,从使用上讲 1,goroutine 比线程更轻量级,可以创建十万.百万不用担心资源问题. 2,goroutine 和 chan 搭配使用,实现多线程.高并发 实现 ...
- 分类器、logistic回归
相关性 1.相关性是一种测度,用来表示两个变量在同一方向上发生变化的程度,如果x和y在变化方向上相同,那么这两个变量就是正相关:如果变化方向相反,就是负相关:如果变量之间没有关系,那么相关性就是0. ...