JZOJ 5496 Tree
来源:互联网 发布:mac查看内存占用 编辑:程序博客网 时间:2024/05/29 02:35
Tree
Description
Data Constraint
Solution
我们容易发现
我们发现除了起点到终点那条链上的边只走了一次外, 其他的边都经过了两次。
那么答案显然就是
我们现在就是要找树的一个点集,求出这个k个点组成的树的总边长减去最长链的最小值。
首先这
设
设
设
转移根据定义来就可以了,详细请看标程,最后答案为
等等,这不是
可以发现时间复杂度其实是这个东西:
每一对点只会在其
Code
#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#define fo(i,j,l) for(int i=j;i<=l;++i)#define fd(i,j,l) for(int i=j;i>=l;--i)using namespace std;typedef long long ll;const ll N=32e2,M=2*N,pp=9e11;int ne[M],lb[M],la[N],size[N],fa[N];ll co[M];int n,m,j,k,l,i,o,oo,ppp,a,b;ll c;ll f[N][N],g0[N][N],g1[N][N];void llb(int x,int y,ll z){ne[++oo]=la[x]; la[x]=oo; lb[oo]=y; co[oo]=z;}ll min(ll a,ll b){return a<b?a:b;}void dg(int o){ f[o][1]=g1[o][1]=g0[o][1]=0; f[o][0]=0; fo(i,2,k)f[o][i]=g0[o][i]=g1[o][i]=pp; size[o]=1; for(int y=la[o];y;y=ne[y])if(fa[lb[y]]==0){ int t=lb[y]; fa[t]=o; dg(t); fd(i,min(size[o],k),1) fd(l,min(k-i,size[t]),1) { f[o][i+l]=min(f[o][i+l],f[o][i]+f[t][l]+co[y]*2); g0[o][i+l]=min(g0[o][i+l],g1[o][i]+g1[t][l]+co[y]); g1[o][i+l]=min(g1[o][i+l],f[o][i]+g1[t][l]+co[y]); g1[o][i+l]=min(g1[o][i+l],g1[o][i]+f[t][l]+2*co[y]); g0[o][i+l]=min(g0[o][i+l],g0[o][i]+f[t][l]+2*co[y]); g0[o][i+l]=min(g0[o][i+l],f[o][i]+g0[t][l]+2*co[y]); } fo(i,1,min(k,size[o]))g0[o][i]=min(g0[o][i],g1[o][i]); size[o]+=size[t]; }}int main(){ cin>>n>>k; fo(i,1,n-1){ scanf("%d%d%lld",&a,&b,&c); llb(a,b,c); llb(b,a,c); } fa[n]=-1; dg(n); ll ans=pp; fo(i,1,n)ans=min(ans,min(g0[i][k],g1[i][k])); printf("%lld",ans);}
阅读全文
1 0
- 【JZOJ 5496】 Tree
- JZOJ 5496 Tree
- 【JZOJ 4814】tree
- JZOJ 3987 【WC2015模拟2.6】Tree
- 【BZOJ 3754】【JZOJ 3410]】Tree之最小方差树 -
- JZOJ 4814. 【NOIP2016提高A组五校联考2】tree
- 【jzoj 4814】【NOIP2016提高A组五校联考2】tree
- JZOJ 4814 【NOIP2016提高A组五校联考2】tree
- 【JZOJ 4814】【NOIP2016提高组 五校联考2】tree
- JZOJ 5406. 【NOIP2017提高A组模拟10.10】Tree
- 【Codeforces Round #200 Div.1 E】【JZOJ 5406】 Tree
- 【JZOJ 5438】【NOIP2017提高A组集训10.31】Tree
- JZOJ 5438. 【NOIP2017提高A组集训10.31】Tree
- JZOJ 5438. 【NOIP2017提高A组集训10.31】Tree
- JZOJ 5496. 【清华集训2017模拟12.09】Tree
- jzoj 4814. 【NOIP2016提高A组五校联考2】tree 树形dp
- jzoj 100003. 【NOI2017模拟.4.1】 Tree 无源汇最大费用流
- jzoj. 3523. 【NOIP2013模拟11.7A组】JIH的玩偶(tree)
- 学习akka之——akka监督supervision
- 移植Usmart串口调试组件过程
- Spring之容器的实现
- pe节表
- 单元测试A ServletContext is required to configure default servlet handling错误
- JZOJ 5496 Tree
- 第十周 项目1
- 欢迎使用CSDN-markdown编辑器
- MAC 忘记mysql密码怎么办
- CentOS7系统安装Caffe
- 400% 的飞跃-web 页面加载速度优化实战
- mysql TRUNCATE和delete的区别
- 利用docker+power shell 打造一个自动化编译平台
- Redis 集群教程