LuoguP2876 [USACO07JAN]解决问题Problem Solving (区间DP)(未完成)
#include "Head.cpp"
const int N = 307;
int f[N][N], a[N], b[N], sumA[N], sumB[N];
int main(){
FileOpen();
int n, M;
io >> M >> n;
R(i,2,n + 1){
io >> a[i] >> b[i];
sumA[i] = sumA[i - 1] + a[i];
sumB[i] = sumB[i - 1] + b[i];
}
Fill(f, 0x3f);
f[1][1] = 1;
R(i, 2, n + 1){
R(j,2,i){
R(k,1,j - 1){
if(f[k][j - 1] != 0x3f3f3f3f && sumB[j - 1] - sumB[k - 1] <= M){
if(M - (sumB[j - 1] - sumB[k - 1]) >= sumA[i] - sumA[j - 1])
f[j][i] = Min(f[j][i], f[k][j - 1] + 1);
else if(M >= sumA[i] - sumA[j - 1])
f[j][i] = Min(f[j][i], f[k][j - 1] + 2);
}
}
}
}
int ans = 0x3f3f3f3f;
R(i,2,n + 1){
if(sumB[n + 1] - sumB[i - 1] <= M){
ans = Min(ans, f[i][n + 1] + 1);
}
}
printf("%d", ans);
return 0;
}
LuoguP2876 [USACO07JAN]解决问题Problem Solving (区间DP)(未完成)的更多相关文章
- Luogu_2876_[USACO07JAN]解决问题Problem Solving
题目描述 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有\(P(1 \leq P \leq 300)\)道题目要做. 他们还离开了农场并且象普通人一 ...
- P2876 [USACO07JAN]解决问题Problem Solving
传送门 显然的 $dp$,设 $f[i][j]$ 表示做完第 $i$ 题,此月做的题的区间为 $[j,i]$ 需要的最少月数 每个月记得分成还钱并写新题,和只还钱分类讨论,不要搞成每个月强制做一题 那 ...
- <USACO07JAN>解决问题Problem Solvingの思路
日常为dp贡献脑细胞 #include<iostream> #include<cmath> #include<cstdio> #include<cstdlib ...
- bzoj 1700 Problem Solving 解题 dp
[Usaco2007 Jan]Problem Solving 解题 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 492 Solved: 288[Sub ...
- BZOJ 2298 problem a(区间DP)
题意:一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相同的分数) 思路:考虑最多有多少人说真,那么答案就是n-max. ai个人分数 ...
- 【bzoj1700】Problem Solving 解题 dp
题目描述 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有P (1 <= P <= 300) 道题目要做. 他们还离开了农场并且象普通人一 ...
- bzoj 1700: [Usaco2007 Jan]Problem Solving 解题 ——dp
Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有P (1 <= P <= 300) 道题目要做. 他们还离开了农场 ...
- [kuangbin带你飞]专题二十二 区间DP
ID Origin Title 17 / 60 Problem A ZOJ 3537 Cake 54 / 105 Problem B LightOJ 1422 Hallowee ...
- 【BZOJ】1700: [Usaco2007 Jan]Problem Solving 解题
[题意]给定n道题,每月末发放工资m,要求从1解到n,每道题需要在当月初付费ai,下月初付费bi,多道题可以安排在同月,求最少月数. [算法]DP [题解]参考自:[bzoj1700]Problem ...
随机推荐
- drools中then部分的写法
目录 1.背景 2.支持的方法 2.1 insert 插入对象到工作内存中 2.1.1 需求 2.1.2 drl文件编写 2.1.3 部分java代码编写 2.1.4 运行结果 2.1.5 结论 2. ...
- 英语资源及其APP推荐
step1:记单词 a,说到背单词常规方法是拿着一本单词书一个一个往下背.该种方法不仅枯燥且效率极低. b,app辅助记忆.在此就我用过的两个app做简述.第一个是百词斩 百词斩:功能主打图片记忆,并 ...
- 奶盖拌饭 NKOJ8457
题意:一个无向图,每次询问给出一条边,问这条边的最大值满足这条边一定在这个图的最小生成树上,如果没有上限输出-1. 思路:考场上想过的,将分为两类,(非)树边. 1.亿点性质 非树边:加上这条边所构成 ...
- 如何把你的 Android 使用得像 Linux
前言 最近在学校里上课,老师讲的东西又听不进去,手里只有一个手机和一个平板,之前还可以用 ssh 连接云服务器玩点东西,但是我是用的软件 Juice ssh 并不是很友好,退出到后台一段时间后竟然会自 ...
- 【算法】Floyd算法
什么是Floyd Floyd用于求最短路程.举个栗子,给你一张图,让你求出点[1]到点[5]的最短路程,你会怎么求? (画图工具:CS Academy) 如上图,有向边分别是 1->2 1-& ...
- easy-captcha生成验证码
通常一些网页登陆时,都需要通过验证码去登录: 生成验证码的方法有很多,这次分享一个验证码即能是汉字的 又能是算术的. 首先maven坐标: <dependency> <groupId ...
- Java系列之运算符
运算符 算术运算符:+ (加).-(减) .*(乘)./(除).%(模).++(自增) . --(自减) 赋值运算符:= 关系运算符:>.<.>= <= == != insta ...
- Python-安装lmdb失败-解决方法
使用pip install lmdb 时报错 ERROR: Command errored out with exit status 1: python setup.py egg_info Check ...
- NHibernte 4.0.3版本中,使用Queryover().Where().OrderBy().Skip().Take()方法分页获取数据失败
问题代码如下: var result=repository.QueryOver<modal>() .Where(p=>p.Code==Code) .OrderBy(p=>p.I ...
- Linux定时任务--Crond使用教程
Linux定时任务--Crond使用教程 1. 介绍Crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后 ...