依赖背包优化——hdu1561
2024-09-06 05:36:43
傻逼依赖背包的优化
#include<bits/stdc++.h>
using namespace std;
#define N 205
struct Edge{int to,nxt;}e[N<<];
int head[N],tot,n,m,a[N];
void init(){memset(head,-,sizeof head);tot=;}
void add(int u,int v){
e[tot].to=v;e[tot].nxt=head[u];head[u]=tot++;
}
int dp[N][N];
void dfs(int u,int pre,int C){
for(int i=head[u];i!=-;i=e[i].nxt){
int v=e[i].to;
if(v==pre)continue;
for(int j=;j<=C-;j++)
dp[v][j]=dp[u][j]+a[v];
dfs(v,u,C-);
for(int j=;j<=C;j++)
dp[u][j]=max(dp[u][j],dp[v][j-]);
}
} int main(){
while(cin>>n>>m && n){
init();
for(int i=;i<=n;i++){
int fa;cin>>fa>>a[i];
add(i,fa);add(fa,i);
}
memset(dp,,sizeof dp);
dfs(,,m);
int ans=;
for(int j=;j<=m;j++)
ans=max(ans,dp[][j]);
cout<<ans<<endl;
}
}
最新文章
- jmap
- 扩展HT for Web之HTML5表格组件的Renderer和Editor
- UIButton 的点击事件详解
- 16.ARC
- ffmpeg调试相关知识点
- [VBS]_[活动分组程序]
- js中推断对象详细类型
- Cocos2d-x 3.1.1开发环境
- C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(下)
- mysql explain用法和结果的含义
- 微软develop apps在QQ上部分功能的实现
- Hibernate4
- 掌握闭包closure (含义及优缺点)
- SQL聚合函数
- 20155326 2017-2018-1 《信息安全系统设计基础》课下加分项mypwd实现
- 使用集成SOA网关的PL / SQL中的REST
- Greenplum-cc-web安装
- python 同时迭代多个序列
- elasticsearch6.5集群环境搭建的一些坑
- python的一些基本的建议