题意:Bessie去滑雪,限时T,滑雪场有S节课

   每节课开始于$m_i$,长度为$l_i$,可以将Bessie的能力值变成$a_i$(注意是变成不是增加)

   有n个滑雪坡,去滑雪需要$c_i$的能力,并且耗时$d_i$

   问Bessie最多能滑几次雪

一看这么多变量,很显然就是DP啦(只是不会而已)

变量:时间,课程,坡,能力,次数(额,咋设状态呢。。。。)

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cctype>
#include<algorithm>
using namespace std;
#define int long long
#define olinr return
#define _ 0
#define love_nmr 0
#define DB double
inline int read()
{
int x=,f=;
char ch=getchar();
while(!isdigit(ch))
{
if(ch=='-')
f=-f;
ch=getchar();
}
while(isdigit(ch))
{
x=(x<<)+(x<<)+(ch^);
ch=getchar();
}
return x*f;
}
inline void put(int x)
{
if(x<)
{
x=-x;
putchar('-');
}
if(x>)
put(x/);
putchar(x%+'');
}
int t;
int s;
int n;
int f[][]; //f[i][j]表示到i时刻,能力值为j的最多滑雪次数
int ks[][]; //ks[i][j]表示在i时刻结束,获得j能力的课程的最晚开始时间
int g[]; //g[i]表示到i时刻的最多滑雪次数
int st[]; //st[i]表示能力值>=i的最短滑雪时间
signed main()
{
t=read();
s=read();
n=read();
for(int a,b,c,i=;i<=s;i++) //预处理ks
{
a=read();
b=read();
c=read();
ks[a+b-][c]=max(ks[a+b-][c],a);
}
memset(st,0x3f,sizeof st);
for(int a,b,i=;i<=n;i++) //预处理st
{
a=read();
b=read();
for(int j=;j>=a;j--)
st[j]=min(st[j],b);
}
memset(f,-0x3f,sizeof f); //初始值
f[][]=g[]=; //初始能力为1
for(int i=;i<=t;i++)
for(int j=;j<=;j++)
{
f[i][j]=f[i-][j]; //啥也不干QAQ
if(ks[i-][j]) f[i][j]=max(f[i][j],g[ks[i-][j]]); //表示在前一分钟刚刚上完课,niubi了
if(i-st[j]>=) f[i][j]=max(f[i][j],f[i-st[j]][j]+); //去滑雪
g[i]=max(g[i],f[i][j]); //每次更新
}
put(g[t]);
olinr ~~(^_^)+love_nmr;
}

最新文章

  1. C++智能指针详解
  2. 分享我的开源项目-springmore
  3. C#中dynamic的正确用法
  4. c#修改config中的AppSettings属性
  5. 使用Git上传本地项目代码到github
  6. VMware Workstation 10安装Centos6.4操作步骤说明
  7. 启动tomcat时报classpath not found
  8. SQL常用语句,随时用随时更新
  9. HTTPS 原理浅析及其在 Android 中的使用
  10. jquery easyui datagrid 如何第一次点击列标题时是降序排列
  11. Python的ctypes 和pyinstaller
  12. 内存管理-slab[代码]
  13. Linux command stty
  14. excel怎样添加的选项卡中含有下拉列表
  15. python gpio
  16. ubuntu安装conda
  17. mac下docker中安装nodejs
  18. inline-block和float的区别,什么时候使用
  19. 理解 JavaScript 原型 / 原型链
  20. MySQL innodb表使用表空间物理文件复制或迁移表

热门文章

  1. Python数据库(三)-使用sqlalchemy创建表
  2. python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)
  3. 新增线下、APP、公众号多处入口,小程序会再火起来么?
  4. javascript——对象的概念——Object(未完)
  5. 初识DDD
  6. 部署和调优 3.2 dns安装配置-2
  7. 部署和调优 2.0 squid服务介绍
  8. Strophe.Status的所有值
  9. sort排序应用
  10. ReactNative安装配置