题目大意:给一颗树,1号节点已经被染黑,其余是白的,两个人轮流操作,一开始B在1号节点,A选择k个点染黑,然后B走一步,如果B能走到A没染的节点则B胜,否则当A染完全部的点时,A胜。求能让A获胜的最小的k

首先易知B不会走回头路,走回头路代表自己毫无贡献还让A多染了两次色

所以B的路径就是从根到叶子节点

先二分一下答案转成判定性问题

然后TreeDP,f[i]表示当B现在在i时,需要提前染好i的子树(不包含i)中的多少个节点才能保证A获胜

例如一个节点下方有X个叶子节点,而A每次只能染K个,那就需要提前染好其中的X-K个才能保证A获胜

那么显然可以得到f[i]=max(∑(f[j]+1)-K,0)  (j是i的儿子)

最后看f[1]是否=0就好了

注意这题有坑,n=1输出0

#include<iostream>
#include<cstdio>
#define N 300010
using namespace std;
int to[N<<1],nxt[N<<1],pre[N],cnt;
int fa[N];
void ae(int ff,int tt)
{cnt++;to[cnt]=tt;nxt[cnt]=pre[ff];pre[ff]=cnt;
}
int f[N];
int D;
void build(int x)
{int i,j;int tot=0;for(i=pre[x];i;i=nxt[i]){j=to[i];if(j==fa[x]) continue;fa[j]=x;build(j);tot+=f[j]+1;}f[x]=max(tot-D,0);
}
int main()
{int n;scanf("%d",&n);if(n==1) {puts("0");return 0;}int i,j,x,y;for(i=1;i<n;i++){scanf("%d%d",&x,&y);ae(x,y);ae(y,x);}int l=1,r=n-1;while(l<r){for(i=1;i<=n;i++) f[i]=0;D=(l+r)>>1;build(1);if(f[1]==0) r=D;else l=D+1;}printf("%d",l);
}

BZOJ3420: Poi2013 Triumphal arch相关推荐

  1. BZOJ 3420: Poi2013 Triumphal arch

    二分答案 第二个人不会走回头路 那么F[i]表示在i的子树内(不包括i)所需要的额外步数 F[1]==0表示mid可行 k可能为0 #include<cstdio> #include< ...

  2. 解题:POI 2013 Triumphal arch

    题面 二分答案,问题就转化为了一个可行性问题,因为我们不知道国王会往哪里走,所以我们要在所有他可能走到的点建造,考虑用树形DP解决(这个DP还是比较好写的,你看我这个不会DP的人都能写出来=.=) 定 ...

  3. TensorFlow神经网络(九)VGG net论文阅读笔记

    [注]内容来自MOOC人工智能实践TensorFlow笔记课程第8讲 来源:2015 ICLR 用于图像分类的文章: Very Deep Convolutional Networks for Larg ...

  4. ValueError: You are trying to load a weight file containing 0 layers into a model with 16 layers.

    ValueError: You are trying to load a weight file containing 0 layers into a model with 16 layers. 在使 ...

  5. imagenet数据集类别标签和对应的英文中文对照表

    预测结果输出one-hot类型,最大概率的下标即为对于类别号   0: 'tench, Tinca tinca',                             丁鲷(鱼) 1: 'gold ...

  6. tensorflow 随笔-----------VGG网络的模型的复现

    推荐个课程北京大学的tensorflow 笔记 VGG网络是谷歌千分类用的,实现的是对图像的识别 由于模型过大,需要的可以私聊我(13072509383微信) vgg16.py 网络对参数的读取 im ...

  7. pytorch 移植到Android平台(一)

    前期准备 模型 model.pt 一张待识别的图片 标签 ImageNetClasses.java(具体代码放在了后面) 目录结构如下 代码 下面的代码,将一张图片喂给神经网络模型,得到输出结果后,将 ...

  8. 深度学习与TensorFlow实战(十)卷积神经网络—VGG(16)神经网络

    架构: 训练输入:固定尺寸224x224的RGB图像. 预处理:每个像素减去训练集上的RGB均值. 卷积核:一系列3X3卷积核堆叠,步长为1,采用padding保持卷积后图像空间分辨率不变. 空间池化 ...

  9. TensorFlow北大公开课学习笔记-8 复现vgg16并实现图片识别

    注:本系列文章主要是复现北京大学TensorFlow笔记中的代码,方便以后使用,并没有详细讲解流程,因为我并不是专门做教程的.何况北大的教程讲的已经很好了,有需要了解详细过程的可以去看北大的教程哈. ...

  10. 【PyTorch】如何取得预训练模型的标签label列表(以 Alexnet 在 ImageNet 上的预训练模型为例)

    PyTorch 预训练模型 PyTorch 提供过了大量的预训练模型可以直接拿来使用,或者进行增量训练和微调. 拿 Alexnet 的预训练模型为例 import torch import torch ...

最新文章

  1. php如何对数组进行分组,如何在PHP中对数组进行分组排序
  2. PowerDesigner使用教程3
  3. ML 自学者周刊:第 5 期
  4. 苏州大学计算机考研复试经验,苏州大学计算机考研复试经验总结.docx
  5. 简单实用一分钟上手级权限控制
  6. 32位单精度浮点乘法器的FPGA实现
  7. 多维数组的索引与切片_SystemVerilog的那些数组
  8. 【转】JVM内存管理:深入垃圾收集器与内存分配策略
  9. mac XCode 快捷键
  10. MongoDb系列文章
  11. 软件dfmea_最全最专业解析!详解DFMEA新版六步法~fmea软件
  12. c / c++ 整数除法 保留小数及浮点型的比较
  13. cmake解决opencv编译下载失败的方法
  14. 【硬件和驱动】如何查看linux的驱动有没有装好 ——声卡无声音,有驱动为例子,网卡wifi驱动相关
  15. 使用无线投屏软件将手机和电脑画面同步
  16. 李洪超 硬件工程师_做一个优秀硬件工程师
  17. xargs 重定向输出 示列分析
  18. Halcon卡尺测量
  19. Modbus RTU笔记总结
  20. LINGO编程(基础)

热门文章

  1. NOIP2015 普及组第四题 推销员
  2. windows server 2012显示桌面图标
  3. 数学与应用数学考研计算机方向,数学专业考研方向解析:应用数学
  4. 读债务危机0814-08年9月崩溃
  5. android的 root权限
  6. java netbeans 控制台乱码_Netbeans 输出窗口乱码
  7. 视觉应用工程师 篇二
  8. 重磅!Google推出了AI人体图像分割工具,惊呆了小伙伴.....
  9. OpenStack详解、排错、经验总结
  10. [转载]创建、部署和调试 Apache Geronimo 应用程序