这题出在单调队列优化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. coreos 常见问题

    1.如果docker run的时候报如下错误: error creating overlay mount to /var/lib/docker/overlay2/... ... 则需要修改/run/s ...

  2. uniapp 获取用户手机号

    参考资料: 微信小程序官方文档 uniapp开发微信小程序获取用户手机号 页面增加一个按钮 <button open-type="getPhoneNumber" @getph ...

  3. SpringSecurity-Shiro-初见

    目录 简介 实战环境搭建 SpringSecurity 认证和授权 权限控制和注销 记住我 Shiro 快速上手 shiro整合mybais 简介 在 Web 开发中,安全一直是非常重要的一个方面. ...

  4. 浅谈一种浮标浮岛式水质监测“智能哨兵”助力水质监测,多环境应用ke轻松测水!

    浮岛式水质监测站能够在实际使用中,安装方便,能够采集多种参数,溶解氧  氨氮  电导率  盐分 pH值  COD  水位  节省时间和人工,浮标水质监测站是设立在河流.湖泊.水库.近岸海域等流 域内的 ...

  5. scrum项目冲刺_day10总结

    摘要:今日完成任务. 1.发布功能实现 2.导航还在进行 总任务: 一.appUI页面(已完成) 二.首页功能: 1.图像识别功能(已完成) 2.语音识别功能(已完成) 3.垃圾搜索功能(基本完成) ...

  6. php_excel导出

    1.下载PHPExcel工具 2.解压后放置位置:ThinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php. 3.Common.php代码 public functio ...

  7. Jetpack Compose学习(5)——从登录页美化开始学习布局组件使用

    原文:Jetpack Compose学习(5)--从登录页美化开始学习布局组件使用 | Stars-One的杂货小窝 本篇主要讲解常用的布局,会与原生Android的布局控件进行对比说明,请确保了解A ...

  8. pycharm 增删改查 mysql数据库

    1.pycharm创建mysql数据表######################################################import pymysql# 创建连接con = p ...

  9. Python测试框架对比----unittest, pytest, nose, robot framework对比

    什么是框架? 框架(Framework)是整个或部分系统的可重用设计, 框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求,记录日志, ...

  10. redis linux的 安装

    https://blog.csdn.net/u011159417/article/details/80085011 安装: 1.获取redis资源 wget http://download.redis ...