树形+背包 奇奇怪怪的dp。

考试的时候费了半天劲把题读完后思路基本正解,

然而也不知道为什么脑子鬼畜了一下打了个非递归建树?

而且链式前向星建边?

岔路口和藏品都搞成节点?

自己给自己找麻烦Orz。

于是输入爆炸,无法调试。

比较简便的打法是把权值左右儿子几个藏品各多少钱都塞到结构体里,一边建树一遍跑dp(在每个馆里跑背包然后把儿子的价值树形dp到根);

然而还是有很多坑点

所以恐怖如斯如机房里的各路大神仍然没有超过40分的:

边权*2因为要逃跑;

时限-1因为要逃跑;

玄妙的数组大小;

Return见祖宗 ;

#include<cstdio>
#include<iostream>
using namespace std;
typedef long long ll;
int tl;
int f[1010][1010];
struct item
{
int dis;
int bny;
int lc,rc;
int vl[45],fee[45];
}e[610];
void build(int r)
{
scanf("%d%d",&e[r].dis,&e[r].bny);
e[r].dis*=2;
if(!e[r].bny)
{
e[r].lc=r*2;build(r*2);
e[r].rc=r*2+1;build(r*2+1);
for(int i=e[r].dis;i<=tl;i++)
for(int j=0;j<=i-e[r].dis;j++)f[r][i]=max(f[r][i],f[e[r].lc][j]+f[e[r].rc][i-j-e[r].dis]);
}
else
{
for(int i=1;i<=e[r].bny;i++)
scanf("%d%d",&e[r].vl[i],&e[r].fee[i]);
for(int i=1;i<=e[r].bny;i++)
for(int j=tl;j>=e[r].fee[i];j--)
if(j-e[r].fee[i]>=e[r].dis)
f[r][j]=max(f[r][j],f[r][j-e[r].fee[i]]+e[r].vl[i]);
return ;
}
}
int main()
{
scanf("%d",&tl);
tl--;
build(1);
cout<<f[1][tl]<<endl;
return 0;
}

Steal 偷天换日 题解(From luoguBlog)的更多相关文章

  1. [Jxoi2012]奇怪的道路 题解(From luoguBlog)

    题面 状压好题 1<= n <= 30, 0 <= m <= 30, 1 <= K <= 8 这美妙的范围非状压莫属 理所当然地,0和1代表度的奇偶 dp[i][j ...

  2. Hotel 旅馆 题解(From luoguBlog)

    考试前深陷分块泥潭所以刚开始以为是分块. 然而这题数据水到暴力卡常都能AC 正解:万物皆可线段树 节点存储区间长度.区间最长连续空房长度.从左往右最长连续空房长度.从右往左最长连续空房长度. 维护后三 ...

  3. Match 基因匹配 题解(From luoguBlog)

    N<=20000!N2的LCS要原地爆炸. 去您妈的优化考场上有分就行TLE60真香嘿嘿嘿 然而这显然是个板子只不过像我这样见识短浅的蒟蒻不知道罢了 正解: 某大佬的博客 转化为lis后二分 复 ...

  4. 题解 P3258 【[JLOI2014]松鼠的新家】(From luoguBlog)

    唯一能得分的题也被自己搞炸了,好的. 考场上读完题基本认定和lca脱不了干系,想了一会确认是树剖. 那么问题来了,考前一节课刚发现自己之前打的树剖是错的. 而且就算是错的我也没信心考场调出来. 于是打 ...

  5. 题解 P2605 【[ZJOI2010]基站选址】(From luoguBlog)

    线段树优化dp 数组f[i][j]表示在前i个村庄内,第j个基站建在i处的最小费用 根据交线牛逼法和王鹤松式可得方程 f[i][j]=min(f[k][j−1]+cost(k,i)) cost(k,i ...

  6. 偷天换日:网络劫持,网页js被伪装替换。

    偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用, ...

  7. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  8. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  9. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

随机推荐

  1. [转] C# 隐藏方法和重写方法

    1:方法重写:就是在基类中的方法用virtual关键字来标识,然后在继承类中对该类进行重写 (override),这样基类中的方法在子类中已经被重写了,基类中的方法在子类中已经失去了功能 了.当让基类 ...

  2. springboot优雅的关闭应用

    使用actuator,通过发送http请求关闭 将应用注册为linux服务,通过service xxx stop关闭 具体这两种方式如何实现,这里就不说了,网上百度一堆,主要讲一下在这两种情况下web ...

  3. 传染病控制(洛谷 1041 WA 90)

    题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒携带 ...

  4. alexanderanokhin ---DTRACE

    https://alexanderanokhin.wordpress.com/2011/11/13/dynamic-tracing-of-oracle-logical-io/

  5. 使用oracle数据库和MySQL数据库时hibernate的映射文件.hbm.xml的不同

    假设是使用oracle数据库.那么hibernate的映射文件.hbm.xml例如以下: <id name="xuehao" column="xuehao" ...

  6. STL源代码剖析 容器 stl_stack.h

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie stack ---------------------------------------- ...

  7. 折腾开源WRT的AC无线路由之路-3

    来看看Netgear自带的用户界面和具体功能,看看它都能干什么. 開始 一开机.用网线连接到你的电脑上,在浏览器地址栏中输入Netgear默认的路由器地址192.168.1.1,第一次使用时它有个向导 ...

  8. 浅谈PHP数据结构之单链表

    什么是链表?(依据百度词条查询而得) 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每个元素称为结点)组成,结点能够在执 ...

  9. Codeforces Round #277 (Div. 2)C.Palindrome Transformation 贪心

    C. Palindrome Transformation     Nam is playing with a string on his computer. The string consists o ...

  10. 邪恶的C++

    曾经看到一篇很有趣的文章,今天转载一下.抱歉的是没有找到最原始的版本,算是遗憾吧. ---------- 华丽的分割线 ---------- Linus曾经(2007年9月)在新闻组gmane.com ...