<USACO07JAN>解决问题Problem Solvingの思路
日常为dp贡献脑细胞
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int dp[][],fst[],lst[];
int n,p;
int main()
{
int i,j,k;
memset(dp,,sizeof(dp));
scanf("%d%d",&n,&p);
for(i=;i<=p;i++)scanf("%d%d",&fst[i],&lst[i]);
dp[][]=;dp[][]=;dp[][]=;
for(i=;i<=p;i++)
{
fst[i]+=fst[i-];lst[i]+=lst[i-];//前缀和方便算几个任务一共的钱
}
for(i=;i<=p;i++)//总共已完成的
{
//本月完成任务!!
for(j=;j<=i;j++)//本月完成的
{
for(k=;k<=i-j;k++)//上月完成的(欠了多少
{
if(fst[i]-fst[i-j]+lst[i-j]-lst[i-j-k]<=n)//钱够得话.利用前缀和 算一段任务的钱
dp[i][j]=min(dp[i][j],dp[i-j][k]+);
}
}
//本月不完成任务
for(k=;k<=p;k++)if(lst[i]-lst[i-k]<=n)dp[i][]=min(dp[i][k]+,dp[i][]);//就还债
}
int ans=dp[p][]+;
for(i=;i<=p;i++)//倒二月完成的.最后月还
if(lst[p]-lst[i-p]<=n)ans=min(ans,dp[p][i]+);
printf("%d",ans);
return ;
}
点击查看丑陋の代码&注释
<USACO07JAN>解决问题Problem Solvingの思路的更多相关文章
- P2876 [USACO07JAN]解决问题Problem Solving
传送门 显然的 $dp$,设 $f[i][j]$ 表示做完第 $i$ 题,此月做的题的区间为 $[j,i]$ 需要的最少月数 每个月记得分成还钱并写新题,和只还钱分类讨论,不要搞成每个月强制做一题 那 ...
- Luogu_2876_[USACO07JAN]解决问题Problem Solving
题目描述 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有\(P(1 \leq P \leq 300)\)道题目要做. 他们还离开了农场并且象普通人一 ...
- 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 ...
- 【BZOJ1700】[Usaco2007 Jan]Problem Solving 解题 动态规划
[BZOJ1700][Usaco2007 Jan]Problem Solving 解题 Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地 ...
- KXO151 Programming & Problem Solving
Page 1 of 9KXO151 Programming & Problem SolvingAIEN-SOU - 2019Assignment 2Deadline for Submissio ...
- 学习笔记之Problem Solving with Algorithms and Data Structures using Python
Problem Solving with Algorithms and Data Structures using Python — Problem Solving with Algorithms a ...
- 【BZOJ】1700: [Usaco2007 Jan]Problem Solving 解题
[题意]给定n道题,每月末发放工资m,要求从1解到n,每道题需要在当月初付费ai,下月初付费bi,多道题可以安排在同月,求最少月数. [算法]DP [题解]参考自:[bzoj1700]Problem ...
- bzoj 1700 Problem Solving 解题 dp
[Usaco2007 Jan]Problem Solving 解题 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 492 Solved: 288[Sub ...
- AST11103 Problem Solving
AST11103 Problem Solving with Programming SkillsAdditional Individual Assignment: Min-Game Programmi ...
随机推荐
- Spring注解配置和xml配置优缺点比较
Spring注解配置和xml配置优缺点比较 编辑 在昨天发布的文章<spring boot基于注解方式配置datasource>一文中凯哥简单的对xml配置和注解配置进行了比较.然后朋 ...
- Linux学习(二) --- 常用命令
[TOC] 一.常用命令 1.目录 cd切换 cd 路径 切换到指定路径 cd .. 上一级 mkdir:创建目录 mkdir 目录名 pwd:查看 2.查看 ll命令:查询目录内容 ll 查看当前( ...
- Python程序中的线程操作(线程池)-concurrent模块
目录 Python程序中的线程操作(线程池)-concurrent模块 一.Python标准模块--concurrent.futures 二.介绍 三.基本方法 四.ProcessPoolExecut ...
- Django框架(一):MVC设计模式、Django简介
1. MVC设计模式 MVC设计模式:Model-View-Controller简写. 最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪8 ...
- php获取客户IP
获取客户真实IP,保存到数据库建议转整 function getIp(){ $ip = ''; if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip = $_SERV ...
- 2.监控利器nagios手把手企业级实战第一部
1. 什么是Nagios? Nagios是一款开源的网络及服务的监控工具,功能强大,灵活性强,需要注意的是,其服务端只能在linux上面安装. Nagios可以进行分布 ...
- [Algo] 306. Check If Linked List Is Palindrome
Given a linked list, check whether it is a palindrome. Examples: Input: 1 -> 2 -> 3 -> 2 ...
- 吴裕雄--天生自然python TensorFlow图片数据处理:No module named 'tensorflow.examples.tutorials'解决办法
import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...
- RDD(五)——action
reduce(func) 通过func函数聚集RDD中的所有元素并得到最终的结果,先聚合分区内数据,再聚合分区间数据.Func函数决定了聚合的方式. def main(args: Array[Stri ...
- metinfo_5.3变量覆盖引发的一系列问题
metinfo_5.3中存在一个很经典的$$型变量覆盖,这种变量覆盖在之前的博客中提到过,今天的博客围绕这个变量覆盖漏洞结合这款CMS的其他功能进行漏洞利用. 变量覆盖+文件包含 拿到这个CMS首先还 ...