树上背包。

简单的树形$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的更多相关文章

  1. ●hihocoder #1394 网络流四·最小路径覆盖

    题链: http://hihocoder.com/problemset/problem/1394 题解: 有向图最小路径覆盖:最少的路径条数不重不漏的覆盖所有点. 注意到在任意一个最小路径覆盖的方案下 ...

  2. JAVA WEB EL表达式注入

    看猪猪侠以前的洞,顺便总结下: 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的we ...

  3. jsp页面无法识别el表达式的解决方案

    今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...

  4. Mac制作U盘系统(OS X El Capitan)教程

    前言部分 重装过Mac OS X系统的人应该都深有体会,通过自带的重新安装 Mac OS X功能恢复系统(开机时按Command+R) 要耗费10几个小时才能完成(请求苹果国外服务器),但如果通过U盘 ...

  5. El表达式的关系运算符

    El表达式的关系运算符: ==  对应  eq !=   对应  ne >    对应  gt <    对应  It

  6. java web学习总结(三十一) -------------------EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  7. EL表达式的算术运算

    一个例子--乘法运算 ${book.bookCount * book.bookPrice } 两个不同对象的EL表达式的算术运算同理 ${student.studentNum * book.bookP ...

  8. EL表达式杂项

    1.<%@ page isELIgnored="false" %> 是否忽略EL表达式,如果值为ture,那么  ${..}这样的会直接原样输出,不会进行EL表达式计算 ...

  9. hihocoder -1121-二分图的判定

    hihocoder -1121-二分图的判定 1121 : 二分图一•二分图判定 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 大家好,我是小Hi和小Ho的小伙伴Net ...

随机推荐

  1. nginx 初探 之反向代理

    首先要解释的是什么叫做反向代理? 平时我们浏览网页可以输入网址直接访问,  但如果访问国外的网站,  可能就没那么简单('中国特色'),  这时候我们需要配置一个代理服务器, 然后通过此服务器中转来访 ...

  2. jQuery UI基本使用方法

    其实jQuery UI早就在我的学习计划中,只不过因为计划安排始终处于待命状态,最近项目要用到jQuery UI,就提前学习一下,也想能够封装自己的UI库,这样就不用老按照别人的套路走了,像使用jQu ...

  3. SpringCloud (一)Eureka注册中心搭建

    前提 系统安装jdk1.8及以上,配置好maven的ide(这里用idea进行演示,maven版本3.5,配置阿里云源) 项目搭建 新建一个maven项目,创建最简单的那种就好,项目名这里为Eurek ...

  4. 周末发福利了!26个免费的HTML5模版

    本期文章我们为大家搜集了很多专业且高质量的HTML5模版,而且还是免费的呦.如果你对编码很熟悉,那么从这些网站里你可以学到很多新技能.来这些国际范的案例中挑选您喜欢的模版学习起来吧:) Zeences ...

  5. 【CodeForces】914 E. Palindromes in a Tree 点分治

    [题目]E. Palindromes in a Tree [题意]给定一棵树,每个点都有一个a~t的字符,一条路径回文定义为路径上的字符存在一个排列构成回文串,求经过每个点的回文路径数.n<=2 ...

  6. PHP做文件限速下载

    <?php include("DBDA.class.php"); $db = new DBDA(); $bs = $_SERVER["QUERY_STRING&qu ...

  7. php通过composer添加一个包以后,无法通过git将这个包的代码文件提交上去

    实际上是因为 vender 包中包含 有.git 文件,是composer 下载时下载了 该项目的github源码. 就是参数 源码优先 --prefer-source composer update ...

  8. CodeForces - 1015D

    There are nn houses in a row. They are numbered from 11 to nn in order from left to right. Initially ...

  9. SDUT 3929

    Description 蓝色空间号和万有引力号进入了四维水洼,发现了四维物体--魔戒. 这里我们把飞船和魔戒都抽象为四维空间中的一个点,分别标为 "S" 和 "E&quo ...

  10. 通过cordova将vue项目打包为webapp

    准备工作:需要之前配置好vue-cli脚架构,安装好cordova环境.下面开始对vue.js项目进行打包,打包环境为Android. 可以看下我的github:https://github.com/ ...