poj3265
考状态的dp
我的方法可能比较奇怪
设f[i,j]表示第i个月解决j个问题可以最多解决到第几个问题
容易知道,答案(月份)不会超过2n+1;
f[i,j]=max(f[i-1,k]+j)
复杂度为O(n^3)
代码如下
var f:array[..,..] of longint;
b,a,sa,sb:array[..] of longint;
p,y,q,i,j,k,n,m:longint;
function max(a,b:longint):longint;
begin
if a>b then exit(a) else exit(b);
end; begin
readln(m,n);
for i:= to n do
begin
readln(b[i],a[i]);
sa[i]:=sa[i-]+a[i];
sb[i]:=sb[i-]+b[i];
end;
f[,]:=;
i:=;
while i<=*n+ do
begin
inc(i);
f[i,]:=f[i-,];
for j:= to n do
begin
if f[i-,j]= then break;
f[i,]:=max(f[i,],f[i-,j]);
end;
for j:= to n do
begin
for k:= to n do
begin
if (f[i-,k]=) and (k<>) then break; //后面的状态不存在,直接退
p:=f[i-,k];
q:=f[i-,k]+j;
if q>n then continue;
y:=f[i-,k]-k;
if (sb[q]-sb[p]+sa[p]-sa[y]<=m) and (sa[q]-sa[p]<=m) then //判断是否够这个月花的
f[i,j]:=max(f[i,j],f[i-,k]+j);
end;
if f[i,j]>=n then
begin
writeln(i+); //注意付完款一定是下个月
halt;
end;
if f[i,j]= then break;
end;
end;
end.
话说代码有的地方可能写的比较冗杂……
poj3265的更多相关文章
随机推荐
- CentOS 安装配置memcached (转)
1.先下载memcached 和libevent. libevent 最新的稳定版: wget http://monkey.org/~provos/libevent-1.4.14b-stable.ta ...
- phpstorm 自定义函数配置
phpstorm 自定义函数配置 打开设置->活动模板->
- Spark机器学习 Day1 机器学习概述
Spark机器学习 Day1 机器学习概述 今天主要讨论个问题:Spark机器学习的本质是什么,其内部构成到底是什么. 简单来说,机器学习是数据+算法. 数据 在Spark中做机器学习,肯定有数据来源 ...
- How to install Hadoop
1.How to install Hadoop 3.0.0 http://blog.sina.com.cn/s/blog_4a1f59bf01010kx3.html 2.How to install ...
- codeblocks常用快捷键
CodeBlocks常用操作快捷键编辑部分:Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / ...
- Qt播放mp3
.pro项目文件中加入 QT += phonon 包含头 #include <phonon/Phonon> 播放文件 Phonon::MediaObject *media = ...
- log4j示例
示例代码:此示例从控制台输入日志,设置了输出等级. # # Log4J Settings for log4j 1.2.x (via jakarta-commons-logging) # # The f ...
- [转载]EasyUI Pagination 分页的两种做法
EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...
- [Database]Operators
Arithmetic Operators +,-,×,÷ Comparison Operators =,<>,!=,>,<,>=,<= BETWEEN,IN,IS ...
- 使用rsyslog+loganalzey收集日志显示客户端ip
http://www.ituring.com.cn/article/128536 rsyslog localhost 转发 http://bigsec.net/one/tool/rsyslog.htm ...