这题出在单调队列优化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. 为老的vueCli项目添加vite支持

    1.前言 接手公司的某个项目已经两年了,现在每次启动项目都接近1分钟,hmr也要好几秒的时间,but vite2发布之后就看到了曙光,但是一直没有动手进行升级,昨天终于忍不住了,升级之后几秒钟就完成了 ...

  2. 数据导出生成Excel附件使用POI的HSSFWorkbook对象

    比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel.Jakarta POI 是一套用于访问微软格式文档的Java API.Jakarta POI有很多组 ...

  3. SQL语句分组获取记录的第一条数据的方法

    使用Northwind 数据库 首先查询Employees表 查询结果: city列里面只有5个城市 使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY CO ...

  4. js简单化技巧

    1.交换两个变量而没有第三个 let x = 1;let y = 2;[x, y] = [y, x];console.log(x, y); 输出: 2 1 2.将数字转换为字符串 const num  ...

  5. 机器学习——softmax回归

    softmax回归 前面介绍了线性回归模型适用于输出为连续值的情景.在另一类情景中,模型输出可以是一个像图像类别这样的离散值.对于这样的离散值预测问题,我们可以使用诸如 softmax 回归在内的分类 ...

  6. jsp页面动态获取系统时间

    最近在做练习时碰到了这样一个问题:"读者选择查询图书相应信息,跳转到书目的详细信息界面,当可借阅数量大于零,点击借阅按钮,提示用户借阅成功,并显示归还日期(三个月),否则提示用户该书可借阅数 ...

  7. 密码学系列之:Argon2加密算法详解

    目录 简介 密钥推导函数key derivation function Password Hashing Competition Argon2算法 Argon2的输入参数 处理流程 简介 Argon2 ...

  8. 修改文件权限后,再git pull后提示文件已修改

    问题: 从git上面pull下来脚本文件,在Linux上面执行.执行chmod +x 后,如果再次有修改文件,git pull 的提示会终止.每次都要使用 git checkout -- <fi ...

  9. 怎样在Linux中查看apache是用那个httpd.conf

    第一步:找到apache启动命令: [root@WAPBJ01 ~]# ps -ef|grep httpdroot     10575     1  0 19:45 ?        00:00:03 ...

  10. python mysql增加改查

    #python mysql增加改查,方便日后copy/paste .......... 1 #encoding: UTF-8 2 import pymysql 3 # # 打开数据库连接 4 db = ...