【HEOI】兔子与樱花
来源:互联网 发布:ins发生未知网络错误 编辑:程序博客网 时间:2024/04/28 06:10
贪心
删掉一个点的代价可知
那么通过DFS在处理出来儿子的信息后将所有儿子的代价排序,贪心地看一下是否可以删掉
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int Maxn = 2000010;struct node { int to,next; }E[Maxn];int n,m,Ans,tot,c[Maxn],H[Maxn],a[Maxn];void Link(int u,int v){ E[++tot].to = v; E[tot].next = H[u]; H[u] = tot;}void Dfs(int x){ for(int i=H[x];i;i=E[i].next)Dfs(E[i].to); int js = 0; for(int i=H[x];i;i=E[i].next)a[++js] = c[E[i].to]; sort(a + 1,a + js + 1); for(int i=1;i<=js;i++){ if(c[x] + a[i] - 1 > m)break;//If i Can Be Delete c[x] += a[i] - 1;Ans++; }}int main(){ freopen("sakura.in","r",stdin); freopen("sakura.out","w",stdout); scanf("%d%d",&n,&m); for(int i=0;i<n;i++)scanf("%d",&c[i]); for(int i=0;i<n;i++){ int k;scanf("%d",&k);c[i] += k;//C[i] Is The Node's Value for(int j=1;j<=k;j++){ int x;scanf("%d",&x); Link(i,x); } } Dfs(0); printf("%d\n",Ans); // while(1); return 0;}
0 0
- 【HEOI】兔子与樱花
- [HEOI2015]兔子与樱花
- 【Bzoj4027】兔子与樱花
- 兔子与樱花
- bzoj4027【heoi2015】兔子与樱花
- 【HEOI2015】【BZOJ4027】兔子与樱花
- bzoj4027: [HEOI2015]兔子与樱花
- BZOJ4027: [HEOI2015]兔子与樱花
- 4027: [HEOI2015]兔子与樱花
- 【bzoj4027】[HEOI2015]兔子与樱花
- BZOJ4027: [HEOI2015]兔子与樱花
- 4027: [HEOI2015]兔子与樱花
- BZOJ4027 [HEOI2015]兔子与樱花
- bzoj4027: [HEOI2015]兔子与樱花
- 【BZOJ4027】【HEOI2015】兔子与樱花 贪心
- 【bzoj4027】【HEOI2015】兔子与樱花【贪心】
- BZOJ 4027: [HEOI2015]兔子与樱花
- [BZOJ4027]HEOI2015兔子与樱花|贪心
- java中transient关键字学习记录
- vue-cli快速搭建vue项目
- NGINX配置文件学习笔记
- Django 模板日期格式表
- Deep Learning(Bengio)2.1-2.6节 读书笔记
- 【HEOI】兔子与樱花
- C#控制台程序一闪而过
- 【转】python socket编程详细介绍
- 广播的一些用法
- 新JEP将简化Java类型变异
- [session] -- session原理总结
- hls之m3u8、ts流格式详解
- ERP[维度设置]业务带值功能介绍
- 茶叶杂谈