Denouncing Mafia
题目链接:Denouncing Mafia
画画图我们就可以发现,每次最优肯定是选最长的链,然后算上这条链对其他链的影响,然后再选最长的链,然后做k次。
#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=1e5+10;
int n,k,bl[N],dep[N],son[N],cnt,s[N],res;
vector<int> g[N],v;
void dfs1(int x){dep[x]=1;for(int to:g[x]){dfs1(to); dep[x]=max(dep[x],dep[to]+1);if(dep[to]>dep[son[x]]) son[x]=to;}
}
void dfs2(int x,int belong){bl[x]=belong; s[belong]++;if(son[x]) dfs2(son[x],belong);for(int to:g[x]) if(to!=son[x]) dfs2(to,to);
}
signed main(){cin>>n>>k;for(int i=2,x;i<=n;i++) scanf("%d",&x),g[x].push_back(i);dfs1(1); dfs2(1,1);for(int i=1;i<=n;i++) if(s[i]) v.push_back(s[i]);sort(v.begin(),v.end(),greater<int>());for(int i=0;i<v.size()&&i<k;i++) res+=v[i];cout<<res; return 0;
}
Denouncing Mafia相关推荐
- D - Denouncing Mafia DFS
这道题其实很简单,求k个到根的链,使得链上的节点的个数尽可能多,如果节点被计算过了,就不能再被计算了,其实我们发现,只要k>=叶子节点,那么肯定是全部,所以我们考虑所有的叶子节点,DFS到根节点 ...
- 2020双周训练训练日志
第 3 次双周训练 VP A - 6789 签到题,按照题意模拟就行了,由于 lincong 将题目中的"中心对称"看成了"轴对称",导致 WA 了三发还不知道 ...
- 【CodeForces - 349C】Mafia(思维模拟,优秀的二分)
题干: One day n friends gathered together to play "Mafia". During each round of the game som ...
- bzoj1339[Baltic2008]Mafia*
bzoj1339[Baltic2008]Mafia 题意: 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控.对于每个车站进行布控都需要一定的代价,现在警方希望使用最小的代价控制一些车站,使得 ...
- codeforces Mafia
/** Mafia.cpp** Created on: 2013-10-12* Author: wangzhu*//*** 每个人都想玩若干场,求至少需要玩几场才可以满足大家的需求.* 结果必然在某个 ...
- CodeForces - 348A E - Mafia
One day n friends gathered together to play "Mafia". During each round of the game some pl ...
- 【BZOJ1124】Mafia(POI2008)-环套树DP
测试地址:Mafia 做法: 本题需要用到环套树DP. 按照题目构图,很显然是我们很熟悉的环套树森林.接下来我们进行分析,最后活下来一些什么人是合法的呢?观察发现,一个人的目标如果是自己那就必死,而没 ...
- codeforces202A. Mafia【二分】
A. Mafia time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- E - Mafia CodeForces - 348A (推公式,思维)
E - Mafia CodeForces - 348A One day n friends gathered together to play "Mafia". During ea ...
最新文章
- 修改MD5加密 提高网站安全
- 上海电信计划2015年用户带宽提高12.5倍
- java多语言标签如何动态刷新_WPF实现无刷新动态切换多语言(国际化)
- 云炬60s看世界20211116
- LeetCode 2064. 分配给商店的最多商品的最小值(二分查找)
- Android中动态获取Drawable中的图片
- $Django 聚合函数、分组查询、F,Q查询、orm字段以及参数
- Python minidom模块(DOM写入和解析XML)
- 【笔记】【C语言】任意进制之间的转换(支持小数部分)
- adroid intent使用
- yum更新php版本,yum安装的php升级到7.0版本
- MFC采用定时器绘制简单动画
- 实名认证 芝麻认证 人脸识别 集成
- excel去掉单元格的隐藏字符
- 2021保研夏令营—中科院计算所,自动化所,上海交大计算机
- IP地址的规划和设计方法(二)
- Python是什么编程语言
- 华为笔记本键盘说明图_【华为 MateBook 13 笔记本电脑外观细节】LOGO|键盘|屏幕_摘要频道_什么值得买...
- 【人工智能】基于百度AI+Python编程的简单应用:关于人像照片动漫化的分析实现(可进行批量化处理)——教你看到二次元中的自己
- 面试官:你先回去等通知吧!这个 Java 岗位我还有机会吗?
热门文章
- 什么是LoRaWAN
- sqoop导出hive分区表字段到mysql报错:Can‘t parse input data: ‘0‘
- 互联网数据标注员是做什么的?有什么发展前途吗?
- 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
- 解秘华为:肯给养出最拼团队
- FPGA实现PCI串口卡16550/TL16C2550
- 小米隔空充电技术,肌肉还是鸡肋?
- windows10计算机里输入法,Win10电脑输入法图标不见了怎么办?
- 百度LBS服务我们自己上传数据,我们客户端获取数据然后进行小黄车和膜拜单车定位描点等骚操作
- yjk的波库在哪里_PKPM、YJK地震波导入至MIDAS软件中的方法