#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…
题目描述 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有\(P(1 \leq P \leq 300)\)道题目要做. 他们还离开了农场并且象普通人一样找到了工作. 他们的月薪是\(M(1 \leq M \leq 1000)\) 元. 他们的题目是一流的难题,所以他们得找帮手.帮手们不是免费的,但是他们能保证在一个月内作出任何题目. 每做一道题需要两笔付款, 第一笔\(A_i(1 \leq A_i \leq M)\)元在做题的那一个月初支付, 第…
传送门 显然的 $dp$,设 $f[i][j]$ 表示做完第 $i$ 题,此月做的题的区间为 $[j,i]$ 需要的最少月数 每个月记得分成还钱并写新题,和只还钱分类讨论,不要搞成每个月强制做一题 那么 $f[i][i+1]$ 就表示把 $i$ 题做完并还完钱需要的最少月数,注意一下边界什么的就好了 第一个月不能做题,月薪是月底才发的 #include<iostream> #include<cstdio> #include<algorithm> #include<…
日常为dp贡献脑细胞 #include<iostream> #include<cmath> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; ][],fst[],lst[]; int n,p; int main() { int i,j,k; memset(dp,,sizeof(dp)); scanf…
[Usaco2007 Jan]Problem Solving 解题 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 492  Solved: 288[Submit][Status][Discuss] Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有P (1 <= P <= 300) 道题目要做. 他们还离开了农场并且象普通人一样找到了工作. 他们的月薪是M (1 <= M…
题意:一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相同的分数) 思路:考虑最多有多少人说真,那么答案就是n-max. ai个人分数比他高,bi个人分数比他低,说明[bi+1,n-ai]里面的人分数相同. 用map维护某个区间是否相同. #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #includ…
题目描述 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有P (1 <= P <= 300) 道题目要做. 他们还离开了农场并且象普通人一样找到了工作. 他们的月薪是M (1 <= M <= 1000) 元. 他们的题目是一流的难题,所以他们得找帮手.帮手们不是免费的,但是他们能保证在一个月内作出任何题目.每做一道题需要两比付款, 第一笔A_i(1 <= A_i <= M) 元在做题的那一个月初支付, 第二笔B_i元(1…
Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有P (1 <= P <= 300) 道题目要做. 他们还离开了农场并且象普通人一样找到了工作. 他们的月薪是M (1 <= M <= 1000) 元. 他们的题目是一流的难题,所以他们得找帮手.帮手们不是免费的,但是他们能保证在一个月内作出任何题目.每做一道题需要两比付款, 第一笔A_i(1 <= A_i <= M) 元在做题的那一个月初支付, 第二…
        ID Origin Title   17 / 60 Problem A ZOJ 3537 Cake   54 / 105 Problem B LightOJ 1422 Halloween Costumes   59 / 90 Problem C POJ 2955 Brackets   26 / 51 Problem D CodeForces 149D Coloring Brackets   47 / 58 Problem E POJ 1651 Multiplication Puz…
[题意]给定n道题,每月末发放工资m,要求从1解到n,每道题需要在当月初付费ai,下月初付费bi,多道题可以安排在同月,求最少月数. [算法]DP [题解]参考自:[bzoj1700]Problem Solving 解题 dp by GXZlegend 因为当月的选择同时关系着当月和下月,贪心是错误的,有如下反例: 50 5 40 10 10 40 10 5 10 3 10 2 因此考虑DP,令f[i][j]表示解决1~i题,最后一月解决j题的最小月数.(只保证满足当月开销,也就是下月开销之后再…