蓝桥杯 金属采集 树形动态规划
来源:互联网 发布:c语言中[]是什么意思 编辑:程序博客网 时间:2024/04/27 16:20
参考:http://www.myexception.cn/program/1598926.html
#include <iostream>#include <vector>using namespace std;#define MAX_N 100005#define NUM 11int f[MAX_N][NUM];bool vis[MAX_N];int cost[MAX_N]; int n,s,k; struct Node{int v,val; };vector<Node>node[MAX_N]; void dfs(int p){for (int i=0;i<=k;i++){f[p][i]=0; } vis[p]=1; for (int i=0;i<node[p].size();i++){ int son=node[p][i].v; if (vis[son])continue; cost[son]=node[p][i].val; dfs(son); for (int i=k;i>=0;i--){f[p][i]+=(f[son][0]+2*cost[son]); for (int j=1;j<=i;j++){f[p][i]=min(f[p][i],f[son][j]+cost[son]*j+f[p][i-j]); }}}}int main(){int a,b,c; Node son; cin>>n>>s>>k; for (int i=0;i<=n;i++){node[i].clear(); vis[i]=false; }for (int i=1;i<n;i++) {cin>>a>>b>>c; son.v=b; son.val=c; node[a].push_back(son); son.v=a; son.val=c; node[b].push_back(son); }dfs(s); cout<<f[s][k]<<endl; return 0; }
0 0
- 蓝桥杯 金属采集 树形动态规划
- 树形动态规划-金属采集
- 蓝桥杯 算法提高 金属采集 (树形动态规划)
- 蓝桥杯_算法提高_金属采集(树形动态规划)
- 蓝桥杯 金属采集(树形dp)
- hdu4003&&蓝桥杯, 算法提高 金属采集 (树形DP,经典。。。)
- 算法提高 金属采集 树形DP
- 蓝桥杯 算法提高-金属采集
- 采集金属
- 树形动态规划
- 树形动态规划
- 树形动态规划
- 选课 树形动态规划
- 将功补过 树形动态规划
- 电子眼 树形动态规划
- 树形动态规划总结
- 树形动态规划总结
- 树形动态规划
- Sqlite数据库
- 洛谷 P1755 斐波那契的拆分
- HDU 5974 A Simple Math Problem 2016大连区域赛
- Android使用BuildConfig类制作Logger工具类
- 通俗理解卷积神经网络
- 蓝桥杯 金属采集 树形动态规划
- poj3468 zkw线段树
- Class.forName()用法详解
- 【二分】【挖金矿】
- VisualSVN-Server的安装以及简单使用
- redis集群实现(二)集群添加节点
- 顺序栈的进栈、出栈操作
- 基于Libsvm的图像分类
- 文章标题