hihocoder 1500 EL SUENO
树上背包。
简单的树形$dp$,计算出摧毁每一个节点所需的最小费用,背包即可。
#include<bits/stdc++.h>
using namespace std; struct X
{
int fa;
int in;
int ip;
int c;
}s[]; int dp[][];
int cost[];
int f[]; vector<int>g[];
int n,root,ans; void dfs(int x)
{
if(g[x].size()==)
{
cost[x]=s[x].c;
return ;
} for(int i=;i<g[x].size();i++)
{
int to=g[x][i];
dfs(to);
}
for(int j=;j<=s[x].in;j++) f[j]=dp[x][j]=0x7FFFFFFF; for(int i=;i<g[x].size();i++)
{
int A = cost[g[x][i]],B = s[g[x][i]].ip;
if(A==0x7FFFFFFF) continue; for(int j=;j<=s[x].in;j++) f[j]=0x7FFFFFFF;
for(int j=;j<=s[x].in;j++)
{
if(dp[x][j]==0x7FFFFFFF) continue;
f[min(s[x].in,j+B)] = min(f[min(s[x].in,j+B)],dp[x][j] + A);
}
for(int j=;j<=s[x].in;j++) dp[x][j] = min(dp[x][j],f[j]);
}
cost[x] = dp[x][s[x].in];
if(cost[x]!=0x7FFFFFFF) cost[x] = cost[x] + s[x].c;
} int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d%d%d%d",&s[i].fa,&s[i].in,&s[i].ip,&s[i].c);
if(s[i].fa==) root=i;
g[s[i].fa].push_back(i);
} ans=0x7FFFFFFF;
dfs(root);
ans=cost[root]; if(ans!=0x7FFFFFFF) printf("%d\n",ans);
else printf("-1\n"); return ;
}
hihocoder 1500 EL SUENO的更多相关文章
- ●hihocoder #1394 网络流四·最小路径覆盖
题链: http://hihocoder.com/problemset/problem/1394 题解: 有向图最小路径覆盖:最少的路径条数不重不漏的覆盖所有点. 注意到在任意一个最小路径覆盖的方案下 ...
- JAVA WEB EL表达式注入
看猪猪侠以前的洞,顺便总结下: 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的we ...
- jsp页面无法识别el表达式的解决方案
今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...
- Mac制作U盘系统(OS X El Capitan)教程
前言部分 重装过Mac OS X系统的人应该都深有体会,通过自带的重新安装 Mac OS X功能恢复系统(开机时按Command+R) 要耗费10几个小时才能完成(请求苹果国外服务器),但如果通过U盘 ...
- El表达式的关系运算符
El表达式的关系运算符: == 对应 eq != 对应 ne > 对应 gt < 对应 It
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- EL表达式的算术运算
一个例子--乘法运算 ${book.bookCount * book.bookPrice } 两个不同对象的EL表达式的算术运算同理 ${student.studentNum * book.bookP ...
- EL表达式杂项
1.<%@ page isELIgnored="false" %> 是否忽略EL表达式,如果值为ture,那么 ${..}这样的会直接原样输出,不会进行EL表达式计算 ...
- hihocoder -1121-二分图的判定
hihocoder -1121-二分图的判定 1121 : 二分图一•二分图判定 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 大家好,我是小Hi和小Ho的小伙伴Net ...
随机推荐
- nginx 初探 之反向代理
首先要解释的是什么叫做反向代理? 平时我们浏览网页可以输入网址直接访问, 但如果访问国外的网站, 可能就没那么简单('中国特色'), 这时候我们需要配置一个代理服务器, 然后通过此服务器中转来访 ...
- jQuery UI基本使用方法
其实jQuery UI早就在我的学习计划中,只不过因为计划安排始终处于待命状态,最近项目要用到jQuery UI,就提前学习一下,也想能够封装自己的UI库,这样就不用老按照别人的套路走了,像使用jQu ...
- SpringCloud (一)Eureka注册中心搭建
前提 系统安装jdk1.8及以上,配置好maven的ide(这里用idea进行演示,maven版本3.5,配置阿里云源) 项目搭建 新建一个maven项目,创建最简单的那种就好,项目名这里为Eurek ...
- 周末发福利了!26个免费的HTML5模版
本期文章我们为大家搜集了很多专业且高质量的HTML5模版,而且还是免费的呦.如果你对编码很熟悉,那么从这些网站里你可以学到很多新技能.来这些国际范的案例中挑选您喜欢的模版学习起来吧:) Zeences ...
- 【CodeForces】914 E. Palindromes in a Tree 点分治
[题目]E. Palindromes in a Tree [题意]给定一棵树,每个点都有一个a~t的字符,一条路径回文定义为路径上的字符存在一个排列构成回文串,求经过每个点的回文路径数.n<=2 ...
- PHP做文件限速下载
<?php include("DBDA.class.php"); $db = new DBDA(); $bs = $_SERVER["QUERY_STRING&qu ...
- php通过composer添加一个包以后,无法通过git将这个包的代码文件提交上去
实际上是因为 vender 包中包含 有.git 文件,是composer 下载时下载了 该项目的github源码. 就是参数 源码优先 --prefer-source composer update ...
- CodeForces - 1015D
There are nn houses in a row. They are numbered from 11 to nn in order from left to right. Initially ...
- SDUT 3929
Description 蓝色空间号和万有引力号进入了四维水洼,发现了四维物体--魔戒. 这里我们把飞船和魔戒都抽象为四维空间中的一个点,分别标为 "S" 和 "E&quo ...
- 通过cordova将vue项目打包为webapp
准备工作:需要之前配置好vue-cli脚架构,安装好cordova环境.下面开始对vue.js项目进行打包,打包环境为Android. 可以看下我的github:https://github.com/ ...