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 ...
随机推荐
- OpenCV---Numpy数组的使用以及创建图片
一:对头像的所有像素进行访问,并UI图像进行像素取反 (一)for循环取反 import cv2 as cv import numpy as np def access_pixels(image): ...
- maven 依赖、聚合和继承 (转)
Maven 插件和仓库 Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,仅仅定义了抽象的生命周期,所有这些任务都交给插件来完成的.每个插件都能完成至少一个任务,每个任务即是一个功 ...
- gulpfile.js文档
gulp watch 实现监听不仅需要package.json文档,还需要gulpfile.js文档.否则无法实现. 1.gulp的安装 1.1 首先必须先安装node.js.这个可以参考之前的博客& ...
- CF758 D. Ability To Convert 细节处理字符串
link 题意:给定进制数n及一串数字,问在此进制下这串数能看成最小的数(10进制)是多少(如HEX下 1|13|11 = 475) 思路:此题要仔细思考细节.首先要想使数最小那么必定有个想法是使低位 ...
- 遍历hashmap
转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: Map map = new HashM ...
- ASP.NET导入EXCEL方法汇总
1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; ...
- amcharts的一些用法
function chartdiv2() { var chart; var chartData = [ { "month" : "2015-08", " ...
- jQuery实现简单前端搜索功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ueditor和thinkphp框架整合修改版
基于tp官网上的一篇文章修改的 因为tp中所有目录其实都是性对于入口文件的 在原来的基础上略做修改后 已经做到 无论项目放在www下的任何位置 图片在编辑器中回填后都能正常显示! http://fi ...
- html5优分期大学生分期购物商城模板
链接:http://pan.baidu.com/s/1dEUAzBz 密码:j150