这题出在单调队列优化dp里,就离谱好吧......

对不住了上来先喷一波,不过离谱是确实的

dp的含义也很简单,就是说从j到i的分数最大值

直接上代马,里面说的很详细了

 1 #include<bits/stdc++.h>
2 using namespace std;
3 inline int read(){
4 int x=0,f=1; char ch=getchar();
5 while(ch<'0'||ch>'9'){ if(ch=='-') f=-1; ch=getchar(); }
6 while(ch>='0'&&ch<='9'){ x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }
7 return x*f;
8 }
9 const int NN=1005;
10 struct SNOW{
11 int pos,val;
12 }; SNOW a[NN];
13 int n,wsn,f[NN][NN];
14 inline bool cmp(SNOW a,SNOW b){return a.pos<b.pos;}
15 namespace WSN{
16 inline int main(){
17 n=read();
18 for(int i=1;i<=n;i++) a[i].pos=read(),a[i].val=read();
19 sort(a+1,a+n+1,cmp);
20 for(int j=1;j<=n;j++){//中间过度点
21 int k=j-1,v=f[j][0]+a[j].val;//k是起点,v是起点的初始值
22 for(int i=j+1;i<=n;i++){//终点
23 while(k&&a[i].pos-a[j].pos>=a[j].pos-a[k].pos)//卡一个终点到起点的最值
24 v=max(v,f[j][k]+a[j].val),k--;//比较加入后的权值
25 f[i][j]=max(f[i][j],v);
26 wsn=max(wsn,v+a[i].val);//加上终点的权值
27 }
28 }//因为牛即可以往正方向跑也可以往逆方向跑,所以要遍历两遍
29 //因为正反遍历的时候初始值会从新的开始,那么他每次更新的点都不会记录正方向遍历的值
30 //因此不必用memset
31 for(int j=n;j;j--){
32 int k=j+1,v=f[j][n+1]+a[j].val;
33 for(int i=j-1;i;i--){
34 while(k<=n&&a[j].pos-a[i].pos>=a[k].pos-a[j].pos)
35 v=max(v,f[j][k]+a[j].val),k++;
36 f[i][j]=max(f[i][j],v);
37 wsn=max(wsn,v+a[i].val);
38 }
39 }//这就跟上面的一模一样了
40 printf("%d\n",wsn);//最后直接输出值
41 return 0;
42 }
43 }
44 signed main(){return WSN::main();}

最后总结一下的话,这个专题并不是在考单调队列优化dp,而是在考一个优化dp的思想——看单调性!!!

还是要体会整理题目者的良苦用心啊

最新文章

  1. emacs下安装pip
  2. Android Studio调试功能使用总结【转】
  3. STL--list
  4. Period(KMP,循环节问题)
  5. 怎样用OleDbDataAdapter来对数据库进行操作?
  6. tornado 增加日志模块
  7. Java安全套接字扩展——JSSE
  8. Android动态换肤(二、apk免安装插件方式)
  9. oracle数据库的备份与还原(本地及远程操作)
  10. MQ实战
  11. Ubuntu系统配置
  12. model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)
  13. 1、JPA-HelloWorld
  14. springmvc 拦截通配符 /** /
  15. centos7升级Python2.x到3.x
  16. arcgisengine实现矩形转面
  17. 读DataSnap源代码(三)
  18. php的 $_REQUEST取值为空
  19. SSH批量分发管理
  20. 20135202闫佳歆--week1 计算机是如何工作的

热门文章

  1. fwm环境APP菜品数据加载失败的优化操作
  2. 转:C#读取PDF、TXT内容
  3. 我在组内的Nacos分享
  4. XXE从0到1
  5. freeswitch编译安装依赖
  6. 跨域分布式系统单点登录的实现(CAS单点登录)
  7. php图片处理库
  8. UVA 1599 Ideal Path(双向bfs+字典序+非简单图的最短路+队列判重)
  9. PHP中操作任意精度大小的GMP扩展学习
  10. PHP中的PDO对象操作学习(一)初始化PDO及原始SQL语句操作