AC日记——Power收集 洛谷 P3800
思路:
单调队列优化dp;
代码:
#include <bits/stdc++.h>
using namespace std;
#define maxn 4005
struct QueueType {
int p,dis;
};
struct QueueType que[maxn];
int dp[maxn],Map[maxn][maxn],n,m,k,t,temp[maxn];
inline void in(int &now)
{
char Cget=getchar();now=;
while(Cget>''||Cget<'')Cget=getchar();
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
}
int main()
{
in(n),in(m),in(k),in(t);int x,y,di;
while(k--) in(x),in(y),in(di),Map[x][y]=di;
for(int i=;i<=n;i++)
{
int h=,tail=-,num=;
for(int v=;v<=m;v++)
{
int l=max(,v-t),r=min(m,v+t);
while(num<r)
{
num++;
while(tail>=h&&dp[num]>que[tail].dis) tail--;
que[++tail].p=num,que[tail].dis=dp[num];
}
while(h<=tail&&que[h].p<l) h++;
dp[v]=que[h].dis+Map[i][v];
}
}
int ans=;
for(int i=;i<=m;i++) ans=max(dp[i],ans);
cout<<ans;
return ;
}
AC日记——Power收集 洛谷 P3800的更多相关文章
- AC日记——寻找道路 洛谷 P2296
		题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通. 2 .在满足条 ... 
- AC日记——铺地毯 洛谷 P1003(水水水水水~)
		题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ... 
- AC日记——过河卒 洛谷 1002
		题目描述 棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右.同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为“马拦过河卒”. ... 
- AC日记——[SDOI2017]相关分析 洛谷 P3707
		[SDOI2017]相关分析 思路: 裸线段树: (玄学ac): 代码: #include <bits/stdc++.h> using namespace std; #define max ... 
- AC日记——丢瓶盖 洛谷 P1316
		题目描述 陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? 输入输出 ... 
- AC日记——滑动窗口 洛谷 P1886
		题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The array i ... 
- AC日记——挤牛奶 洛谷 P1204
		题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ... 
- AC日记——导弹拦截 洛谷 P1020 (dp+模拟)
		题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ... 
- AC日记——信息传递 洛谷 P2661 (tarjan求环)
		题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的生日.之后每一 ... 
随机推荐
- Codeforces Round #331 (Div. 2) A
			A. Wilbur and Swimming Pool time limit per test 1 second memory limit per test 256 megabytes input s ... 
- 微服务学习三:springboot与springcloud集成之Eurake的使用(server端,client端)
			这个多亏了网站上的一个大神的博客: http://blog.csdn.net/forezp/article/details/70148833 强烈推荐学习: 1.springcloud是什么,这个大家 ... 
- 关闭nginx日志
			在nginx.conf中将 access_log /dev/null; error_log /dev/null; 
- 动态切换input的  disables 属性
			$("input[type='text']").each(function(){ if($(this).data('parent_id')){ var _each_this_par ... 
- [freemarker篇]05.关于集合的遍历
			人啊,有的时候就是没有办法坚持一些事情,总是因为各种理由在推脱,逐渐就变成了拖延症!例如胖先生的减肥计划,其实本来就没有计划,属于散漫形式的!一直减肥,一直在肥!总是说没有时间,没有时间!其实有时候就 ... 
- select + 回调 + 事件循环
			#1. epoll并不代表一定比select好 # 在并发高的情况下,连接活跃度不是很高, epoll比select # 并发性不高,同时连接很活跃, select比epoll好 #通过非阻塞io实现 ... 
- Maven-Optional Dependencies & Dependency Exclusion
			本文讨论可选依赖和排除依赖. 帮助用户理解它们是什么, 如何使用, 它们如何工作, 以及什么时候使用它们最合适. 本文也将解释为什么排除是基于单个依赖的, 而非POM级别的. Optional De ... 
- 原生js addclass,hasClass,removeClass,toggleClass的兼容
			(function (window) { 'use strict'; // class helper functions from bonzo https://github.com/ded/bonzo ... 
- Vuejs - 强大的指令系统
			在 Vuejs 中,指令(Directives)是带有 v- 前缀的特殊属性.指令属性的预期值是 单个 Javascript 表达式(v-for 是个例外).指令的职责是,当表达式改变时,将其产生的连 ... 
- new操作符的内部运行解析
			在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在Javascript中,我们将这类方式成为Pseudoclassical. 基于上面的例子,我们执行如下代码 ... 
