题意:求一个树上背包~~

先贴代码存一下,好像打挂了。

#include <bits/stdc++.h>
using namespace std;
const int maxn = 400;
const int INF = 0x3c;
int dp[maxn][maxn][3]; inline int read() {
int q=0,f=1;char ch = getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;ch=getchar();
}
while(isdigit(ch)){
q=q*10+ch-'0';ch=getchar();
}
return q*f;
}
int cnt;
int head[maxn << 1];
int n,m,t;
struct edge {
int to;
int nxt;
int w;
}e[maxn << 1];
int ans;
inline void Add_edge(int u,int v,int w) {
e[++cnt].to = v;
e[cnt].nxt = head[u];
head[u] = cnt;
e[cnt].w = w;
e[++cnt].to = u;
e[cnt].nxt = head[v];
head[v] = cnt;
e[cnt].w = w;
}
int s[maxn];
int cost[maxn];
inline void dfs(int x,int fa) {
for(int i = 0;i <= t; ++i) {
if(i < s[x]) {
dp[x][i][0] = dp[x][i][1] = dp[x][i][2] = -INF;
}
else {
dp[x][i][0] = dp[x][i][1] = dp[x][i][2] = cost[x];
}
}
for(int i = head[x];i;i=e[i].nxt) {
int y = e[i].to;
if(y != fa) {
dfs(y,x);
for(int j = t;j >= e[i].w; --j) {
for(int k = 0;k <= j - e[i].w; ++k) {
if(j - k >= 2 * e[i].w) {
dp[x][j][2] = max(dp[x][j][2],dp[y][k][0] + dp[x][j - 2 * e[i].w - k][2]);
}
if(j - k >= 2 * e[i].w) dp[x][j][2] = max(dp[x][j][2],dp[y][k][2] + dp[x][j - k - 2 * e[i].w][0]);
dp[x][j][2] = max(dp[x][j][2],dp[y][k][1] + dp[x][j - k - e[i].w][1]);
if(j - k >= 2 * e[i].w) {
dp[x][j][1] = max(dp[x][j][1],dp[y][k][0] + dp[x][j - k - 2 * e[i].w][1]);
}
dp[x][j][1] = max(dp[x][j][1],dp[y][k][1] + dp[x][j - k - e[i].w][0]);
if(j - k >= 2 * e[i].w) {
dp[x][j][0] = max(dp[x][j][0],dp[y][k][0] + dp[x][j - k - 2 * e[i].w][0]);
}
}
}
}
}
}
int main () {
freopen("toyuq.in","r",stdin);
freopen("toyuq.out","w",stdout);
n = read(),t = read();
for(int i = 1;i <= n; ++i) {
cost[i] = read();
}
for(int i = 1;i <= n; ++i) {
s[i] = read();
}
for(int i = 1;i < n; ++i) {
int x = read(),y = read(),z = read();
Add_edge(x,y,z);
}
dfs(1,0);
for(int i = 1;i <= n; ++i) {
ans = max(ans,dp[i][t][2]);
}
printf("%d\n",ans);
return 0;
}

[JZOJ 5819] 大逃杀的更多相关文章

  1. 绝地求生大逃杀BE启动失败,应用程序无法正常启动

    今日更新绝地求生大逃杀后部分客户反馈绝地求生点击启动提示BE安装,应用程序无法启动 问题原因:经过排查发现,客户开启过超级工作站运行过游戏,在系统镜像包中保留了旧版的BE服务,致使新版BE无法安装,冲 ...

  2. 《绝地求生大逃杀》BE错误怎么办 BE服务未正常运行及安装失败解决方法

    <绝地求生大逃杀>BattlEye Launcher是游戏的反作弊程序,也是启动过程中做容易出现错误的,今天小编带来“爆锤吧务”分享的<绝地求生大逃杀>BE服务未正常运行及安装 ...

  3. 洗礼灵魂,修炼python(41)--巩固篇—从游戏《绝地求生-大逃杀》中回顾面向对象编程

    声明:本篇文章仅仅以游戏<绝地求生>作为一个参考话题来介绍面向对象编程,只是作为学术引用,其制作的非常简易的程序也不会作为商业用途,与蓝洞公司无关. <绝地求生>最近很火,笼络 ...

  4. 大逃杀(树上dp)

    这道题和宝藏差不多吧,转移的时候比较麻烦的. 代码中分量很多种情况. h更新比较麻烦 这两幅图表示了双边更新中3,4连个h更新,下面比较好理解的吧. #include<cstring> # ...

  5. uSurvival 1.41多人在线生存逃杀吃鸡类游戏源码

    uSurvival - the new Multiplayer Survival Asset from the creator of uMMORPG. Features:* Kill Zombies ...

  6. Movies

    码头风云欲望号街车 不可思议的收缩人 The Incredible Shrinking Man (1957) 风之谷 西域威龙 对话 天地无限 现代启示录 黑暗之心 Hearts of Darknes ...

  7. ue4构建光照失败问题与解决

    不知从哪天开始,我的ue4.13就突然无法成功构建光照了, 症状为:虽然swarm连接到了100%,然而之后就卡住一动不动,一看看log是连接tcp什么agent什么失败的. 虽然把所有物体都设置成非 ...

  8. 3D位置语音,引领吃鸡游戏体验升级

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云 导语:在刚刚结束的首届腾讯用户开放日上,腾讯音视频实验室带着3D位置音效解决方案,向所有用户亮相,为用户提供360度立体空间的 ...

  9. Software Engineering-HW1

    title: Software Engineering-HW1 date: 2017-09-13 15:41:13 tags: HW --- 阅读随笔 在<徐宥:掉进读书的兔子洞>里面, ...

随机推荐

  1. SnowFlakeId 分布式雪花id算法

    package com.jn.baseservice.utils; import com.jn.baseservice.common.Number; import lombok.Getter; imp ...

  2. 【Linux】windows下编写的脚本文件,放到Linux中无法识别格式

    注意:我启动的时候遇到脚本错误 » sh startup.sh -m standalone tanghuang@bogon : command not found : command not foun ...

  3. CTSC2019

    (upd:随机立方体AC) 太菜了只会部分分.以后慢慢补坑吧…… 随机立方体: 30分: 正常人都能想到的的转移状态(我的确是弱智),从大往小填数,记录有多少个极大值点和三个方向上各占了多少.转移可以 ...

  4. HBase与Sqoop集成案例

    HBase与Sqoop集成 案例:将RDBMS中的数据抽取到HBase中 Step1.配置sqoop-env.sh如下: Step2.在Mysql中创建一张数据库library,一张表book CRE ...

  5. 20140724 菜单制作:制表位(段落->制表位->)

    1.菜单制作:制表位(段落->制表位->) 叶轩楠·········· 上海大学 轩楠叶·········· 上海大学 楠轩叶·········· 上海大学 选完后要选“设置” 2.光盘制 ...

  6. leetcode.字符串.14最长公共前缀-Java

    1. 具体题目 编写一个函数来查找字符串数组中的最长公共前缀.如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","fl ...

  7. 使ie6/7/8支持css3的方法

    使用PIE.htc让IE6\7\8支持CSS3部分属性 包括圆角,阴影,背景渐变等效果 下载地址 http://css3pie.com/download/ 需要注意几点的是 第一,pie是以相对页面h ...

  8. 一行代码在 .NET Core 中快速使用 log4net

    原文:一行代码在 .NET Core 中快速使用 log4net 1. .NET Core 控制台程序中使用 第一步:添加引用 Install-Package log4net 第二步:将附件 LogH ...

  9. [转载]A星寻路算法介绍

    转载自:http://www.raywenderlich.com/zh-hans/21503/a%E6%98%9F%E5%AF%BB%E8%B7%AF%E7%AE%97%E6%B3%95%E4%BB% ...

  10. Linux下安装SkyWalking 6.1版本 以及.NETCore项目集成

    SkyWalking和APM介绍 今天给大家给大家介绍一下SkyWalking,那什么是SkyWalking Skywalking 是 Apache 基金会下面的一个开源 APM 项目 ,那什么又是A ...