【agc004d】Teleporter
题目大意
一棵树,改变一些边的父亲,使得深度不超过k。
解题思路
我一开始就想到了贪心,结果莫名其妙的把这种方法给否决了,
然后考虑优化树形dp,然后优化失败⊙﹏⊙
贪心思路很简单,也很好感受出来,从下往上跑,每当到底下的深度大于k,将其断掉,连向根节点。
#include <cmath>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <queue>
#include <map>
#include <bitset>
#include <set>
const int maxlongint=2147483647;
const int mo=1e9+7;
const int N=100005;
using namespace std;
int n,m,ans,deep[N],a[N];
int tot,nt[N*2],lt[N*2],to[N*2];
bool bz[N];
void link(int x,int y)
{nt[++tot]=lt[x];lt[x]=tot;to[tot]=y;
}
int dg(int x,int fa)
{deep[x]=deep[fa]+1;int mx=deep[x];for(int i=lt[x];i;i=nt[i]) mx=max(dg(to[i],x),mx);if(x==1) return 0;if(fa!=1 && mx-deep[x]+1==m) ans++,mx=0;return mx;
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&a[i]);if(i!=1) link(a[i],i);}if(a[1]!=1) ans++;deep[0]=-1;dg(1,0);printf("%d",ans);
}
转载于:https://www.cnblogs.com/chen1352/p/9099508.html
【agc004d】Teleporter相关推荐
- 【solarwinds】【Orion】综述
=================================================================================== [solarwinds][Ori ...
- 【CentOS】利用Kubeadm部署Kubernetes (K8s)
[CentOS]利用Kubeadm部署Kubernetes (K8s)[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体实验流程 1 系统准 ...
- 【Spring】框架简介
[Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...
- 【C#】类——里式转换
类是由面对对象程序设计中产生的,在面向结构的程序设计例如C语言中是没有类这个概念的!C语言中有传值调用和传址调用的两种方式!在c语言中,主方法调用方法,通过传递参数等完成一些操作,其中比较常用的的数据 ...
- 【C#】Out与ref是干什么的?
关于return: 1.最后没有写 return 语句的话,表示程序正常退出 2.不需要返回值时,存在return的作用 例子 void main() {return; //return退出该程序的作 ...
- 【软件工程】RUP与软件开发5大模型
软件开发的5大模型 1.瀑布模型:按照人的思维一步一步的开发下去,如果需求分析得当,每个阶段顺利,结果还不错! 2.快速原型模型:后来人们发现,自己不可能一下子就把所有的需求搞清楚,总是在开发的过程中 ...
- 【VB】学生信息管理系统5——数据库代码
这次学生信息管理系统在代码的理解过程中遇到了一些问题.总结如下: 1. sql server的安装过程各个步骤的意思.在安装SQL Server的时候按照网上的步骤,我觉得这个需要学完整个数据库再返回 ...
- 白化(预处理步骤)【转】
白化(预处理步骤)[转] 介绍 我们已经了解了如何使用PCA降低数据维度.在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化.举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很 ...
- 【Tensorflow】tf.nn.atrous_conv2d如何实现空洞卷积?膨胀卷积
介绍 关于空洞卷积的理论可以查看以下链接,这里我们不详细讲理论: 1.Long J, Shelhamer E, Darrell T, et al. Fully convolutional networ ...
最新文章
- IVs提取合并工具ivstools
- 黑色星期五,外区亚马逊技嘉 GTX 1080 折合约3870元人民币
- linux 虚拟机扩展硬盘后扩展到分区
- Android 的 dex2jar 和 jd-gui 反编译 apk 源代码
- SHOW INDEX FROM 表名,查看mysql表中有哪些索引
- Lync Server外部访问系列PART4:部署反向代理
- 记在windows上MySQL8.0安装过程中遇到的问题及解决方案
- 实现关于跨二级域名和1.1和2.0版.net Forms身份验证体制的问题和解决办法.
- MATLAB2017b libsvm安装教程
- 最强内网穿透工具frp
- codevs2822 爱在心中(tarjan求缩点的度)
- 用Python实现温度转换程序
- Scratch角色的绘制与中心点
- 手提电脑亮度不能调节,亮度调节按钮变灰,找不到调节亮度按钮
- 自动弹图片html,HTML图片预览弹出层实现
- 电影票房多视图可视化(echarts)
- 实战EM算法与图像分割
- D3D9 HOOK [透视原理]
- Windows-空硬盘安装系统
- 防火墙——双机热备理论讲解
热门文章
- 生产数据库更新忙,没有超时
- Visual Studio提示——使用数据提示
- linux运行多个c文件路径,linux c的连接库和怎么同时编译多个源程序
- python输出引号内的变量值_引号中的Python变量值
- angular4更改表单中显示的值_关于angular4中FormBuilder重新赋值时发生的问题
- 怎么把竖列中的数相加python_关于python中pandas.DataFrame对行与列求和及添加新行与列示例代码...
- python中backward_pytorch的梯度计算以及backward方法详解
- php phpredis,PHP_PHP中redis的用法深入解析,redis是一个key-value存储系统。 - phpStudy...
- python圆柱体_python绘制圆柱体的方法
- vs code写ipynb怎么添加目录_用Django写招聘网站2——用户系统