树上背包。

简单的树形$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. OpenCV---Numpy数组的使用以及创建图片

    一:对头像的所有像素进行访问,并UI图像进行像素取反 (一)for循环取反 import cv2 as cv import numpy as np def access_pixels(image): ...

  2. maven 依赖、聚合和继承 (转)

    Maven 插件和仓库 Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,仅仅定义了抽象的生命周期,所有这些任务都交给插件来完成的.每个插件都能完成至少一个任务,每个任务即是一个功 ...

  3. gulpfile.js文档

    gulp watch 实现监听不仅需要package.json文档,还需要gulpfile.js文档.否则无法实现. 1.gulp的安装 1.1 首先必须先安装node.js.这个可以参考之前的博客& ...

  4. CF758 D. Ability To Convert 细节处理字符串

    link 题意:给定进制数n及一串数字,问在此进制下这串数能看成最小的数(10进制)是多少(如HEX下 1|13|11 = 475) 思路:此题要仔细思考细节.首先要想使数最小那么必定有个想法是使低位 ...

  5. 遍历hashmap

    转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: Map map = new HashM ...

  6. ASP.NET导入EXCEL方法汇总

    1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; ...

  7. amcharts的一些用法

    function chartdiv2() { var chart; var chartData = [ { "month" : "2015-08", " ...

  8. jQuery实现简单前端搜索功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. ueditor和thinkphp框架整合修改版

    基于tp官网上的一篇文章修改的  因为tp中所有目录其实都是性对于入口文件的 在原来的基础上略做修改后 已经做到 无论项目放在www下的任何位置 图片在编辑器中回填后都能正常显示! http://fi ...

  10. html5优分期大学生分期购物商城模板

    链接:http://pan.baidu.com/s/1dEUAzBz 密码:j150