bzoj 1270 DP
w[i,j]代表高度j,第i颗树的时候的最大值
那么w[i,j]:=max(w[i,j+1],w[k,j+heigh])+sum[i,j];
但是这样枚举是n^3的,我们发现转移的第二个选择w[k,j+heigh]与当前
第I颗树没有关系,所以记录一个高度为H的时候时的最大值直接O(1)转移就行了
我也不知道咋回事儿,pascal一直RE,一年前能A的代码现在还是RE,然后向管理员
联系了下,他们说数据没有问题,还把数据发过来了,一共5个点,最后一个点的in竟然
30MB。。。,挂接都挂不了。。。
/**************************************************************
Problem:
User: BLADEVIL
Language: Pascal
Result: Runtime_Error
****************************************************************/
//By BLADEVIL
var
n, h, d :longint;
tree :array[..,..] of longint;
w :array[..,..] of longint;
p :array[..] of longint;
i, j :longint;
k :longint;
ans :longint;
function max(a,b:longint):longint;
begin
if a>b then max:=a else max:=b;
end;
begin
readln(n,h,d);
for i:= to n do
begin
read(tree[i,]);
for j:= to tree[i,] do
begin
read(k);
inc(tree[i,k]);
end;
end;
for j:=h downto do
for i:= to n do
begin
w[i,j]:=w[i,j+]+tree[i,j];
if j+d<=h then w[i,j]:=max(w[i,j],p[j+d]+tree[i,j]);
p[j]:=max(p[j],w[i,j]);
end;
ans:=-maxlongint;
for i:= to n do ans:=max(ans,w[i,]);
writeln(ans);
end.
bzoj 1270 DP的更多相关文章
- bzoj 3622 DP + 容斥
LINK 题意:给出n,k,有a,b两种值,a和b间互相配对,求$a>b$的配对组数-b>a的配对组数恰好等于k的情况有多少种. 思路:粗看会想这是道容斥组合题,但关键在于如何得到每个a[ ...
- BZOJ 1270: [BeijingWc2008]雷涛的小猫( dp )
简单的dp.. dp(i,j) = max(dp(x,y))+cnt[i][j], (x,y)->(i,j)是合法路径. 设f(i)= max(dp(x,y))(1≤x≤N, 1≤y≤i), g ...
- BZOJ 1270 雷涛的小猫 dp
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1270 题目大意: 雷涛的小猫雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助 ...
- bzoj 1270: [BeijingWc2008]雷涛的小猫 简单dp+滚动数组
1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec Memory Limit: 162 MB[Submit][Status][Discuss] Descrip ...
- 51nod 1270 dp
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1270 简单的线性dp,最近狂刷水题真的是...药丸 差值最大得话要么是峰 ...
- BZOJ - 1003 DP+最短路
这道题被马老板毒瘤了一下,TLE到怀疑人生 //然而BZOJ上妥妥地过了(5500ms+ -> 400ms+) 要么SPFA太玄学要么是初始化block被卡到O(n^4) 不管了,不改了 另外D ...
- BZOJ 2431 & DP
题意:求逆序对数量为k的长度为n的排列的个数 SOL: 显然我们可以对最后一位数字进行讨论,判断其已经产生多少逆序对数量,然后对于前n-1位同样考虑---->每一个长度的排列我们都可以看做是相同 ...
- bzoj 1791 DP
首先对于一棵树我们可以tree_dp来解决这个问题,那么对于环上每个点为根的树我们可以求出这个树的一端为根的最长链,并且在tree_dp的过程中更新答案.那么我们对于环,从某个点断开,破环为链,然后再 ...
- bzoj 1592 dp
就是dp啊 f[i][j]表示到第i位,最后一位高度是j的最小花费 转移::f[i][j]=minn(f[i-1][k])+abs(a[i]-num[j]);(k<=j) #include< ...
随机推荐
- Change Homepage Logo
Open the following defination and changed them. 1. NEW_PS_LOGO (Image Type) - To change the logo.2. ...
- WPF—TreeView无限极绑定集合形成树结构
1.如图所示:绑定树效果图 2.前台Xaml代码: <Window x:Class="WpfTest.MainWindow" xmlns="http://schem ...
- Android Material Design:基于CoordinatorLayout实现向上滚动导航条ToolBar滚出、向下滚动导航条滚出
activity_main.xml: <android.support.design.widget.CoordinatorLayout xmlns:android="http://sc ...
- Python学习教程(learning Python)--2.3.2 Python函数实参详解
本节主要讨论函数调用时参数的实参问题. 1. 实参赋值顺序和型参定义顺序一一对应 Python在调用哪个子函数时,如果型参为多个,一般实参的排布顺序和型参顺序保持一致,即一一对应.我们以下面的代码为例 ...
- AlertDialog.Builder对话框类的用法
1.在测试时,如何实现一个提示 可以使用 Toast.makeText(this, "这是一个提示", Toast.LENGTH_SHORT).show(); //从资源文件str ...
- mysql Unknown table engine 'InnoDB'解决办法
最近做项目时,由于数据库存的中文乱码.改了一下配置.中文乱码改过来了,但是在导入数据时Unknown table engine 'InnoDB' 百度上各种拷贝.最后看了下InnoDB.是一种支持事 ...
- 简答的理解C语言中的各种类型函数
1.变参函数 变长参数的函数即参数个数可变.参数类型不定 的函数.最常见的例子是printf函数.scanf函数和高级语言的Format函数.在C/C++中,为了通知编译器函数的参数个数和类型可变(即 ...
- Linux 配置jdk环境变量
1.首先去官网下载所需版本的jdk,必须是.linux下的安装版本. 2.解压到以文件下 3.vim /etc/profile or ~/.bashrc 添加如下环境配置 JAVA_HOME=/usr ...
- Mysql数据库基本配置
一 数据库基本配置包括编码方式 (安装环境是在linux下) 1.1 进入数据库 开启数据库服务:service mysqld start/restart(如果开启话可以重启) 关闭数据库服务:ser ...
- Redis 五:配置主从复制功能
redis的主从复制事实上是非常简单的一件事情,甚至比mysql的配置还简单,因为基本不需要在主服务器上做任何操作 我们在同一台服务器上开不同的端口进行测试操作(安装部分就不说啦,前面的文章有::) ...