题目链接:Denouncing Mafia


画画图我们就可以发现,每次最优肯定是选最长的链,然后算上这条链对其他链的影响,然后再选最长的链,然后做k次。

然后我们可以发现,这就是一个长链剖分,选K条最长链。


AC代码:

#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相关推荐

  1. D - Denouncing Mafia DFS

    这道题其实很简单,求k个到根的链,使得链上的节点的个数尽可能多,如果节点被计算过了,就不能再被计算了,其实我们发现,只要k>=叶子节点,那么肯定是全部,所以我们考虑所有的叶子节点,DFS到根节点 ...

  2. 2020双周训练训练日志

    第 3 次双周训练 VP A - 6789 签到题,按照题意模拟就行了,由于 lincong 将题目中的"中心对称"看成了"轴对称",导致 WA 了三发还不知道 ...

  3. 【CodeForces - 349C】Mafia(思维模拟,优秀的二分)

    题干: One day n friends gathered together to play "Mafia". During each round of the game som ...

  4. bzoj1339[Baltic2008]Mafia*

    bzoj1339[Baltic2008]Mafia 题意: 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控.对于每个车站进行布控都需要一定的代价,现在警方希望使用最小的代价控制一些车站,使得 ...

  5. codeforces Mafia

    /** Mafia.cpp** Created on: 2013-10-12* Author: wangzhu*//*** 每个人都想玩若干场,求至少需要玩几场才可以满足大家的需求.* 结果必然在某个 ...

  6. CodeForces - 348A E - Mafia

    One day n friends gathered together to play "Mafia". During each round of the game some pl ...

  7. 【BZOJ1124】Mafia(POI2008)-环套树DP

    测试地址:Mafia 做法: 本题需要用到环套树DP. 按照题目构图,很显然是我们很熟悉的环套树森林.接下来我们进行分析,最后活下来一些什么人是合法的呢?观察发现,一个人的目标如果是自己那就必死,而没 ...

  8. codeforces202A. Mafia【二分】

    A. Mafia time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  9. E - Mafia CodeForces - 348A (推公式,思维)

    E - Mafia CodeForces - 348A One day n friends gathered together to play "Mafia". During ea ...

最新文章

  1. 修改MD5加密 提高网站安全
  2. 上海电信计划2015年用户带宽提高12.5倍
  3. java多语言标签如何动态刷新_WPF实现无刷新动态切换多语言(国际化)
  4. 云炬60s看世界20211116
  5. LeetCode 2064. 分配给商店的最多商品的最小值(二分查找)
  6. Android中动态获取Drawable中的图片
  7. $Django 聚合函数、分组查询、F,Q查询、orm字段以及参数
  8. Python minidom模块(DOM写入和解析XML)
  9. 【笔记】【C语言】任意进制之间的转换(支持小数部分)
  10. adroid intent使用
  11. yum更新php版本,yum安装的php升级到7.0版本
  12. MFC采用定时器绘制简单动画
  13. 实名认证 芝麻认证 人脸识别 集成
  14. excel去掉单元格的隐藏字符
  15. 2021保研夏令营—中科院计算所,自动化所,上海交大计算机
  16. IP地址的规划和设计方法(二)
  17. Python是什么编程语言
  18. 华为笔记本键盘说明图_【华为 MateBook 13 笔记本电脑外观细节】LOGO|键盘|屏幕_摘要频道_什么值得买...
  19. 【人工智能】基于百度AI+Python编程的简单应用:关于人像照片动漫化的分析实现(可进行批量化处理)——教你看到二次元中的自己
  20. 面试官:你先回去等通知吧!这个 Java 岗位我还有机会吗?

热门文章

  1. 什么是LoRaWAN
  2. sqoop导出hive分区表字段到mysql报错:Can‘t parse input data: ‘0‘
  3. 互联网数据标注员是做什么的?有什么发展前途吗?
  4. 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
  5. 解秘华为:肯给养出最拼团队
  6. FPGA实现PCI串口卡16550/TL16C2550
  7. 小米隔空充电技术,肌肉还是鸡肋?
  8. windows10计算机里输入法,Win10电脑输入法图标不见了怎么办?
  9. 百度LBS服务我们自己上传数据,我们客户端获取数据然后进行小黄车和膜拜单车定位描点等骚操作
  10. yjk的波库在哪里_PKPM、YJK地震波导入至MIDAS软件中的方法