这题出在单调队列优化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的思想——看单调性!!!

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

Pogo-Cow S的更多相关文章

  1. [luogu] P3089 [USACO13NOV]POGO的牛Pogo-Cow

    P3089 [USACO13NOV]POGO的牛Pogo-Cow 题目描述 In an ill-conceived attempt to enhance the mobility of his pri ...

  2. POJ 3278 Catch That Cow(bfs)

    传送门 Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 80273   Accepted: 25 ...

  3. 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心

    SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ...

  4. HDU Cow Sorting (树状数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2838 Cow Sorting Problem Description Sherlock's N (1  ...

  5. [BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居

    [BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 试题描述 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发 ...

  6. 细读cow.osg

    细读cow.osg 转自:http://www.cnblogs.com/mumuliang/archive/2010/06/03/1873543.html 对,就是那只著名的奶牛. //Group节点 ...

  7. POJ 3176 Cow Bowling

    Cow Bowling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13016   Accepted: 8598 Desc ...

  8. raw,cow,qcow,qcow2镜像的比较

    在linux下,虚拟机的选择方式有很多,比如vmware for linux,virtual box,还有qemu,在以前,使用qemu的人不多,主要是使用起来有些麻烦,但现在随着Openstack的 ...

  9. poj1985 Cow Marathon (求树的直径)

    Cow Marathon Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 3195   Accepted: 1596 Case ...

  10. (01背包变形) Cow Exhibition (poj 2184)

    http://poj.org/problem?id=2184   Description "Fat and docile, big and dumb, they look so stupid ...

随机推荐

  1. 使用python实现xls批量转为xlsx

    利用win32库来实现 # -*- coding:utf-8 -*- import os import win32com.client as win32 #需要转换的数据目录 inputdir = u ...

  2. 羽夏看Win系统内核——环境搭建

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  3. 再谈OAuth授权

    工作场景流程 大家都知道OAuth是用于第三方授权的,当你用其他的APP想访问微信账号的昵称.粉丝.联系人等信息,这里就需要微信进行授权,此时在APP的网页端是可以发现有微信登录的,点开会出现弹框,在 ...

  4. hadoop 学习笔记二

    NameNode的持久化(persistent)(day4,1) 类似于:Redis redis中的持久化文件是相互独立的当两个持久化文件同时存在时默认使用的是aof ,但是namenode 的持久化 ...

  5. netty系列之:使用netty搭建websocket服务器

    目录 简介 netty中的websocket websocket的版本 FrameDecoder和FrameEncoder WebSocketServerHandshaker WebSocketFra ...

  6. MFC获取文件路径和文件夹路径

    MFC的界面中,需要实现这样两个功能: 1.在界面上加一个按钮,单击按钮弹出一个对话框选择文件,在工程中获得文件的路径: 2.在界面上加一个按钮,单击按钮弹出一个对话框选择文件夹,在工程中获取文件夹的 ...

  7. 腾讯首个CNCF沙箱开源项目

    作者 SuperEdge开发者.腾讯云容器产品中心边缘计算团队.腾讯开源生态管理协会 SuperEdge 进入 CNCF 沙箱 2021 年 9 月 14 日,云原生分布式边缘容器系统 SuperEd ...

  8. Markdown 编写技巧汇总(一)

    编写文档,有很多格式选择,也有不同平台选择.下面就自己接触到的MarkDown编写文档的各种技巧做简单梳理,供自己参阅,也希望帮到网友. [1]添加空格 ①   这种写法比较老土,但是,很实用!注意都 ...

  9. Hive语法及其进阶(二)

    1.使用JDBC连接Hive 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prep ...

  10. 一个Electron的设计缺陷及应对方案

    当你想实现阻止Electron窗口关闭,并弹出询问对话框,提示用户:"文章尚未保存,是否要关闭窗口"这类业务时,那么你99%会碰到这个BUG: https://github.com ...