这道题目我一看到就想起了经典题——关路灯

但是时间好像不太好搞啊!

我们可以枚举时间qwq

考虑 \(4\) 维 \(dp\) \(f_{i,j,t,0/1}\) 表示 \(zrl\) 看了第 \(i\) 页到第 \(j\) 页,此时时间为 \(t\)。

最后一维

  • 如果是 \(0\) 就是在第 \(i\) 页。

  • 如果是 \(1\) 就是在第 \(j\) 页。

为什么这样是对的?

我们会发现,首先为了最优 \(zrl\) 绝对不会刻意地去浪费时间,像这样

要往左走,一定会超过之前走到最左的点

要往右走,一定会超过之前走到最右的点

所以,我们可以开始转移了。

  • 按照上面的结论 \(f_{i,j,t,1}\) 有 \(2\) 种可能

    • 一种是 \(f_{i+1,j,t-(a_{i+1}-a_i),0}\)

    • 一种是 \(f_{i+1,j,t-(a_j-a_i),1}\)

  • 按照上面的结论 \(f_{i,j,t,0}\) 有 \(2\) 种可能

    • 一种是 \(f_{i,j-1,t-(a_j-a_{j-1}),1}\)

    • 一种是 \(f_{i,j-1,t-(a_j-a_i),0}\)

代码就很好写了:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node{
int x,v,t;
}a[210];
ll f[210][210][510][2],n,ans;//不开long long见祖宗!
bool cmp(node a,node b){
return a.x<b.x;
}
int work(int x,int y){//算能否get到快乐值
if(a[y].t>=x)return a[y].v;
return 0;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].v>>a[i].t;
n++;//这里的话,我来解释一下,首先有可能所有帖子的页面都>0或<0,zrl也可能只向左走或只向又走。
sort(a+1,a+n+1,cmp);
for(int len=1;len<=n;len++)
for(int i=1;i+len<=n;i++){
int j=i+len;
if(a[i].x>0||a[j].x<0)continue;
int x=min(abs(a[i].x),abs(a[j].x))+a[j].x-a[i].x;
for(int t=x;t<=500;t++){
f[i][j][t][0]=max(f[i+1][j][max(t-(a[i+1].x-a[i].x),0)][0],f[i+1][j][max(t-(a[j].x-a[i].x),0)][1] )+work(t,i);//优美的转态转移方程。
f[i][j][t][1]=max(f[i][j-1][max(t-(a[j].x-a[i].x),0)][0],f[i][j-1][max(t-(a[j].x-a[j-1].x),0)][1] )+work(t,j);
ans=max(ans,max(f[i][j][t][0],f[i][j][t][1]));//优美的转态转移方程。
}
}
cout<<ans;//输出
return 0;
}

最新文章

  1. 【前端安全】JavaScript防http劫持与XSS
  2. Asp.net C# 把 Datatable转换成JSON 字符串
  3. Scipy学习笔记 矩阵计算
  4. css基础总结一
  5. 为archlinux安装mplayer
  6. android_自定义布局
  7. 李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档
  8. 通过jqueryui实现邮件提示
  9. chroot_local_user和chroot_list_enable含义
  10. (Problem 14)Longest Collatz sequence
  11. bzoj:1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会
  12. Python中如何将二维列表转换成一维列表
  13. js中Array数组基本方法
  14. linux 卸载数据库
  15. Puppet file资源使用
  16. chrome shortkeys
  17. 矩阵中的旋转(Rotation)
  18. table-layout:fixed 布局注意事项
  19. Java 常用对象-System类
  20. springmvc中@RequestMapping的使用

热门文章

  1. 新财报再次巨亏 HTC还能活到2017吗?
  2. web端手机方向传感器闲谈
  3. vue项目实战
  4. PHP实现 3des加密解密
  5. Day06 - Fetch、filter、正则表达式实现快速古诗匹配
  6. 微信小程序开发,如何优雅地兼容
  7. BEM命名及其在sass中的实践
  8. bp(net core)+easyui+efcore实现仓储管理系统——入库管理之三存储过程(三十九)
  9. vue项目npm run dev 报错Uncaught SyntaxError: Unexpected token &lt;
  10. Eureka停更了?试试Zookpper和Consul