[ZJOI2007][BZOJ1060]时态同步
Description
Input
Output
仅包含一个整数V,为小Q最少使用的道具次数
题解:
简单树形dp
代码:
#include<bits/stdc++.h>
using namespace std;
inline long long read(){
long long x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return x*f;
}
#define MN 1000005
#define ff for(i=0;i<pic[x].size();i++)
#define ll long long
ll n,S,nm[MN],f[MN];
struct edge{ll to,nex,w;}e[MN];
ll cnt,hr[MN];
inline void ins(ll a,ll b,ll t){e[++cnt]=(edge){b,hr[a],t};hr[a]=cnt;}
bool vis[MN];
vector<edge> pic[MN];
inline void dfs1(ll x){
vis[x]=true;
for(ll i=hr[x];i;i=e[i].nex)
if(!vis[e[i].to]) pic[x].push_back((edge){e[i].to,,e[i].w}),dfs1(e[i].to);
}
inline void rw(ll &x,ll y){if(y>x)x=y;}
inline void dfs2(ll x){
if(!pic[x].size()){nm[x]=;f[x]=;return;}
ll i;
ff dfs2(pic[x][i].to);
ff rw(nm[x],nm[pic[x][i].to]+pic[x][i].w);
ff f[x]+=f[pic[x][i].to]+(nm[x]-nm[pic[x][i].to]-pic[x][i].w);
}
int main(){
n=read(),S=read();
ll i,a,b,t;
for(i=;i<n;i++)
a=read(),b=read(),t=read(),ins(a,b,t),ins(b,a,t);
dfs1(S);dfs2(S);
printf("%lld\n",f[S]);
return ;
}
来自PaperCloud的博客,未经允许,请勿转载,TKS!
[ZJOI2007][BZOJ1060]时态同步的更多相关文章
- 【BZOJ1060】【ZJOI2007】时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...
- 【洛谷1131】【ZJOI2007】时态同步
题面 题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两 ...
- bzoj1060 时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...
- B 【ZJOI2007】时态同步
时间限制 : - MS 空间限制 : 265536 KB 评测说明 : 1s 256m 问题描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数 ...
- LG1131 「ZJOI2007」时态同步 树形DP
问题描述 LG1131 题解 正难则反,把从一个点出发到叶子结点看做从叶子结点走到那个点. DP方程很显然. \(\mathrm{Code}\) #include<bits/stdc++.h&g ...
- 【BZOJ1060】[ZJOI2007]时态同步 树形DP
[BZOJ1060][ZJOI2007]时态同步 Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路 ...
- bzoj千题计划163:bzoj1060: [ZJOI2007]时态同步
http://www.lydsy.com/JudgeOnline/problem.php?id=1060 以激发器所在节点为根 终止节点一定是叶节点 记录点的子树内最深的终止节点 然后从根往下使用道具 ...
- 【bzoj1060】[ZJOI2007]时态同步
题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点 ...
- bzoj1060 [ZJOI2007]时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...
随机推荐
- java第四次面试总结
该公司没有笔试,直接就进行了面试,然后我就拿着我的简历瑟瑟发抖...... 1.因为是看简历来面试,所以面试官从我的项目下手,而我的项目都是后端的东西,虽然学过一些前端,但是项目里并没有用到任何jav ...
- iOS - Target-Action机制创建自己的UI控件需要了解的知识
我们在开发应用的时候,经常会用到各种各样的控件,诸如按钮(UIButton).滑块(UISlider).分页控件(UIPageControl)等.这些控件用来与用户进行交互,响应用户的操作.我们查看这 ...
- CSS中常见的布局
一.css中常见的布局有哪些? (1)两列布局 (2)三列布局 (3)弹性布局 (4)圣杯布局 (5)双飞翼布局 二.具体实现 (1)两列布局 https://www.cnblogs.com/qin ...
- robot framework笔记(三):扩展SeleniumLibrary库 (自定义关键字)
(一)自定义和浏览器相关的关键字 以下代码GitHub 版本库地址: https://github.com/blairwind/blog_rf SeleniumLibrary的扩展文档中提供了3种增加 ...
- Android笔记(六十三) android中的动画——逐帧动画( frame-by-frame animation)
就好像演电影一样,播放实现准备好的图片,来实现动画效果. 逐帧动画需要用到AnimationDrawable类,该类主要用于创建一个逐帧动画,然后我们把这个动画设置为view的背景即可. androi ...
- ansible之基础篇(一)
ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量 ...
- CM的私有仓库搭建
CM的私有仓库搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们有时候会因为网络不稳定的因素,导致安装某些服务直接失败.当安装包比较大的时候,我们就得考虑自建私有仓库 ...
- Vue+Express实现登录状态权限控制
前提须知 对Vue全家桶有基本的认知. 拥有node环境 了解express 本篇只是介绍登录状态的权限验证,以及登录,注销的前后端http交互.前端布局,后端密码验证等以后有时间再对这些内容进行补充 ...
- JSON空值处理与 StringUtils工具类使用
JSON 动态查询时,需要的条件本应是null,前端传入的是" " //null转换为"" private static ValueFilter filter ...
- Nginx编译安装和平滑升级
一.Nginx的编译安装 1.安装依赖包gcc,gcc-c++,pcre,openssl-devel 命令:yum -y install gcc gcc-c++ pcre-devel openssl- ...