参考:https://blog.csdn.net/cgh_andy/article/details/52506738

没有get到什么重点的dp……做的莫名其妙

注意滑雪一个坡可以滑很多次

设f[i][j]为时间为i能力为j的最大滑雪次数,预处理l[i][j]为在i时获得j能力的最晚开始时间,w[i]为有能力j时最短的能滑雪时间

模拟转移即可

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=10005,M=105;
int l[N][M],n,t,m,f[N][M],w[M],g[N];
int read()
{
int r=0,f=1;
char p=getchar();
while(p>'9'||p<'0')
{
if(p=='-')
f=-1;
p=getchar();
}
while(p>='0'&&p<='9')
{
r=r*10+p-48;
p=getchar();
}
return r*f;
}
int main()
{
t=read(),m=read(),n=read();
for(int i=0;i<=t;i++)
for(int j=0;j<=100;j++)
f[i][j]=-1e9;
for(int i=0;i<=100;i++)
w[i]=1e9;
// memset(f,128,sizeof f);
// memset(w,127/3,sizeof w);cerr<<f[0][0]<<" "<<f[0][1]<<" "<<w[0]<<" "<<w[1]<<endl;
for(int i=1;i<=m;i++)
{
int x=read(),y=read()+x,z=read();
l[y][z]=max(l[y][z],x);
}
for(int i=1;i<=n;i++)
{
int x=read(),y=read();
for(int j=x;j<=100;j++)
w[j]=min(w[j],y);
}
f[0][1]=0;
for(int i=1;i<=t;i++)
for(int j=1;j<=100;j++)
{
f[i][j]=f[i-1][j];
if(l[i][j])
f[i][j]=max(f[i][j],g[l[i][j]]);
if(i-w[j]>=0)
f[i][j]=max(f[i][j],f[i-w[j]][j]+1);
g[i]=max(g[i],f[i][j]);
}
printf("%d\n",g[t]);
return 0;
}

bzoj 1571: [Usaco2009 Open]滑雪课Ski【dp】的更多相关文章

  1. BZOJ 1571: [Usaco2009 Open]滑雪课Ski

    Description Farmer John 想要带着 Bessie 一起在科罗拉多州一起滑雪.很不幸,Bessie滑雪技术并不精湛. Bessie了解到,在滑雪场里,每天会提供S(0<=S& ...

  2. BZOJ——1571: [Usaco2009 Open]滑雪课Ski

    http://www.lydsy.com/JudgeOnline/problem.php?id=1571 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit:  ...

  3. bzoj 1571: [Usaco2009 Open]滑雪课

    http://www.lydsy.com/JudgeOnline/problem.php?id=1571 dp[i][j]表示前i个时间,能力为j所能达到得最大滑雪次数 预处理出,需要能力$<= ...

  4. 【BZOJ】1571: [Usaco2009 Open]滑雪课Ski

    [算法]动态规划 [题解]yy出了O(1w log 1w)的算法. 将雪坡排序预处理出g[i]表示能力值为i的最短时长雪坡. 这样就可以定义work(t,c)表示时长t能力c的最多滑雪数量,work( ...

  5. 1571. [Usaco2009 Open]滑雪课Ski

    传送门 可以想到 $dp$,设 $f[i][j]$ 表示当前等级为 $i$,时间为 $j$ 的最大滑雪次数 显然上课不会上让自己等级降低的课,所以第一维 $i$ 满足无后效性 然后直接枚举 $i,j$ ...

  6. 【贪心优化dp决策】bzoj1571: [Usaco2009 Open]滑雪课Ski

    还有贪心优化dp决策的操作…… Description Farmer John 想要带着 Bessie 一起在科罗拉多州一起滑雪.很不幸,Bessie滑雪技术并不精湛. Bessie了解到,在滑雪场里 ...

  7. [bzoj1571][Usaco2009 Open]滑雪课Ski

    题目描述 Farmer John 想要带着 Bessie 一起在科罗拉多州一起滑雪.很不幸,Bessie滑雪技术并不精湛. Bessie了解到,在滑雪场里,每天会提供S(0<=S<=100 ...

  8. bzoj千题计划156:bzoj1571: [Usaco2009 Open]滑雪课Ski

    http://www.lydsy.com/JudgeOnline/problem.php?id=1571 DP不一定全部全状态转移 贪心的舍去一些不合法的反而更容易转移 在一定能力范围内,肯定滑雪所需 ...

  9. [USACO2009 OPEN] 滑雪课 Ski Lessons

    洛谷P2948 看到题目就觉得这是动规但一直没想到如何状态转移……看了别人的题解之后才有一些想法 f[i][j]:前i单位时间能力值为j可以滑的最多次数 lessons[i][j]:结束时间为i,获得 ...

随机推荐

  1. hibernate-validator验证请求参数

    开发接口要进行请求参数内容格式校验,比如在接收到请求参数后依次需要进行数据内容判空.数据格式规范校验等,十分麻烦,于是尝试用hibernate-validator进行参数校验,简单记录一下使用步骤: ...

  2. Django——配置服务器上线

    使用UWSGI和NGINX配置项目上线 首先你得有一个拿得出手的项目 其次,购买了域名,也备案成功了 将settings.py中的DEBUG设置为False 配置Uwsgi 在项目(哪里都可以)中创建 ...

  3. 慕课笔记利用css进行布局【一列布局】

    <html> <head> <title>一列布局</title> <style type="text/css"> bo ...

  4. ModelForm组件和forms组件补充

    forms组件补充: forms组件的三个字段:ChoiceField, ModelChoiceField & ModelMultipleChoiceField # forms组件:Choic ...

  5. 共享一个NOI用过的vimrc [rc][vimrc]

    set nocp set nu set ru set noet set ai set cin set mouse =a set mp=g++\ %\ -o\ %<\ -g\ -Wall\ -Ws ...

  6. [NOIP2004] 普及组

    不高兴的津津 纯模拟 #include<cmath> #include<cstdio> #include<iostream> using namespace std ...

  7. 在windows下安装Django

    2013-07-24 21:23:30| 1.安装Python 我安装的是Python(x,y)-2.7.5.0,安装目录在C盘.安装成功后如下图所示.   2.安装Django 从https://w ...

  8. int *ptr=(int *)(&a+1)问题的探讨

    从网络上看到这样一道有意思的题目,是关于数组与指针的问题,描述如下: main() { ]={,,,,}; ); printf(),*(ptr-)); } 输出为:2,5 请解释以上代码的输出结果. ...

  9. JVM定位程序假死或cpu占用高的线程

    linux系统: 参考:https://blog.csdn.net/qq_40197576/article/details/80287515 1>使用top命令查看占用cpu进程情况,得到jav ...

  10. Mybatis的配置文件和映射文件具体解释

    一.Mybatis的全局配置文件 1.SqlMapConfig.xml是mybatis的全局配置文件.配置内容例如以下: properties(属性) settings(全局配置參数) typeAli ...