Steal 偷天换日 题解(From luoguBlog)
树形+背包 奇奇怪怪的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)的更多相关文章
- [Jxoi2012]奇怪的道路 题解(From luoguBlog)
题面 状压好题 1<= n <= 30, 0 <= m <= 30, 1 <= K <= 8 这美妙的范围非状压莫属 理所当然地,0和1代表度的奇偶 dp[i][j ...
- Hotel 旅馆 题解(From luoguBlog)
考试前深陷分块泥潭所以刚开始以为是分块. 然而这题数据水到暴力卡常都能AC 正解:万物皆可线段树 节点存储区间长度.区间最长连续空房长度.从左往右最长连续空房长度.从右往左最长连续空房长度. 维护后三 ...
- Match 基因匹配 题解(From luoguBlog)
N<=20000!N2的LCS要原地爆炸. 去您妈的优化考场上有分就行TLE60真香嘿嘿嘿 然而这显然是个板子只不过像我这样见识短浅的蒟蒻不知道罢了 正解: 某大佬的博客 转化为lis后二分 复 ...
- 题解 P3258 【[JLOI2014]松鼠的新家】(From luoguBlog)
唯一能得分的题也被自己搞炸了,好的. 考场上读完题基本认定和lca脱不了干系,想了一会确认是树剖. 那么问题来了,考前一节课刚发现自己之前打的树剖是错的. 而且就算是错的我也没信心考场调出来. 于是打 ...
- 题解 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 ...
- 偷天换日:网络劫持,网页js被伪装替换。
偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用, ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
随机推荐
- 调度器Quartz的配置文件中的线程池设置
在使用调度器Quartz来进行数据归档的时候,当我们开的定时任务很多的时候,就会出现一些定时任务不会被触发的现象,这就是线程阻塞.那到底什么叫线程阻塞呢? 线程阻塞,顾名思义就是说线程被阻塞了,没有按 ...
- TASKLIST 显示计算机上的所有进程
Tasklist"是 winxp/win2003/vista/win7/win8下的命令,用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数. 使用格式 tasklist [/s ...
- HBase(0.96)新的Java API操作
package test; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.ap ...
- Postgres 数据库字符集更改 ERROR: new encoding (UTF8) is incompatible
https://blog.csdn.net/hkyw000/article/details/52817422 http://www.cnblogs.com/taosim/articles/438329 ...
- nyoj_85_有趣的数_201312122130
有趣的数 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 把分数按下面的办法排成一个数表. 1/1 1/2 1/3 1/4..... 2/1 2/2 ...
- Hibernate 之QBC
转自:http://blog.csdn.net/agromach/article/details/1932290 一.Hibernate 中聚合函数的使用 Criteria接口的Projections ...
- Clojure:ZeroMQ的入门DEMO
假设你已经知道什么是ZeroMQ(不知道的话可以看这个:http://zh.wikipedia.org/wiki/%C3%98MQ),以下就给出在Clojure中如何使用ZeroMQ(感谢此文作者:h ...
- 【JavaScript】离开页面前提示
离开页面前的提示不能够用onunload去做,由于它仅仅是兼容IE,你要兼容Google与FireFox就蛋疼了. 并且这个事件还是关闭之后才会触发的. 取而代之能够用onbeforeunload去实 ...
- 【原创】TCP超时重传机制探索
TCP超时重传机制探索 作者:tll (360电商技术) 1)通信模型 TCP(Transmission Control Protocol)是一种可靠传输协议.在传输过程中当发送方(sender)向接 ...
- Smobiler实现列表展示—GridView(开发日志十二)
一.列表功能展示 二.具体步骤 2.1,列表控件设计部分 2.1-① 在窗口SmoiblerForm1中加入gridview控件 2.1-② 在属性栏设置gridview控件的大小和位置 ...