[TyvjP1313] [NOIP2010初赛]烽火传递(单调队列 + DP)
就是个单调队列+DP嘛。
——代码
#include <cstdio> const int MAXN = ;
int n, m, h = , t = , ans = ~( << );
int q[MAXN], a[MAXN], f[MAXN]; inline int min(int x, int y)
{
return x < y ? x : y;
} int main()
{
int i;
scanf("%d %d", &n, &m);
for(i = ; i <= n; i++) scanf("%d", &a[i]);
for(i = ; i <= n; i++)
{
while(h <= t && q[h] < i - m) h++;
f[i] = f[q[h]] + a[i];
while(h <= t && f[q[t]] > f[i]) t--;
q[++t] = i;
}
for(i = n - m + ; i <= n; i++) ans = min(ans, f[i]);
printf("%d\n", ans);
return ;
}
[TyvjP1313] [NOIP2010初赛]烽火传递(单调队列 + DP)的更多相关文章
- [NOIP2010初赛]烽火传递+单调队列详细整理
P1313 [NOIP2010初赛]烽火传递 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上 ...
- 【LOJ#10180】烽火传递 单调队列+dp
题目大意:给定一个 N 个非负整数数组成的序列,每个点有一个贡献值,现选出其中若干数,使得每连续的 K 个数中至少有一个数被选,要求选出的数贡献值最小. 题解:设 \(dp[i]\) 表示考虑了序列前 ...
- 【生活没有希望】NOIP2010初赛 烽火传递 smartoj1475
整天初赛题做做,生活没有希望 用单调队列优化的dp 因为满足后来的总比先来的(在某些方面)更优 所以能用单调队列 n2变成n #include <cstdio> ],b[],c[]; in ...
- joyoi tyvj1313 [NOIP2010初赛]烽火传递
单调队列优化dp #include <iostream> #include <cstdio> using namespace std; int dp[1000005], n, ...
- POJ 3017 单调队列dp
Cut the Sequence Time Limit: 2000MS Memory Limit: 131072K Total Submissions: 8764 Accepted: 2576 ...
- zstu 4237 马里奥的求救——(单调队列DP)
题目链接:http://oj.acm.zstu.edu.cn/JudgeOnline/problem.php?id=4237 这题可以转化为每次可以走g~d+x步,求最大分数,且最大分数的步数最少. ...
- 1304F2 - Animal Observation (hard version) 线段树or单调队列 +DP
1304F2 - Animal Observation (hard version) 线段树or单调队列 +DP 题意 用摄像机观察动物,有两个摄像机,一个可以放在奇数天,一个可以放在偶数天.摄像机在 ...
- 刷题总结——烽火传递(单调队列+dp)
题目: 题目描述 烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上.一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息:夜晚燃烧干柴,以火光传递军情.在某两座城市之间有 n 个烽火台,每个烽火 ...
- 【CF1077F2】Pictures with Kittens 单调队列+dp
题目大意:给定一个长度为 N 的序列,点有点权,从序列中选出恰好 X 个数,并且保证任意连续的 K 个数中均有一个被选中,求选出的点权最大是多少. 题解:此题可以作为 烽火传递+ 来处理,只不过在烽火 ...
随机推荐
- Linux tcpdump命令英文文档
https://www.computerhope.com/unix/tcpdump.htm
- sqlserver事务隔离
事务是一个工作单元,可能包含查询和修改数据以及修改数据定义等多个活动.我们可以显式或隐式的定义事务边界.可以使用BEGIN TRAN或者BEGIN TRANSACTION语句显式的定义事务的开始.如果 ...
- 员工管理系统(集合与IO流的结合使用 beta3.0 BufferedReader / ObjectOutputStream)
Employee.java package cn.employee_io; public class Employee { private String empId; private String n ...
- jmeter(十二)处理Cookie与Session
JMeter的工作原理是: JMeter可以作为Web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和Web服务器的响应,这样就很容易地生成性能测试脚本, 有了性能测试脚本,JMeter就可以通过 ...
- MAT使用入门
原文出处: 高建武 (Granker,@高爷) MAT简介 MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速.功能丰富的JAVA heap分析工具, ...
- 记录一下java在后端用request来判断请求类型
这几天看代码,看到这么一个操作. String requestType = request.getHeader("X-Requested-With"); 于是各种查找 这里记 ...
- AJPFX学习Java函数知识总结
函 数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数.函数就是体现之一. java中的函数的定义格式: 修饰符 返回值类型 函数名(参数类型 形 ...
- 在阿里云上搭建nginx + ThinkPHP 的实践
作为一个程序猿,理应用linux系统来作为平时的工作机环境,哎,之前倒是用过一段时间的linux,可惜后来换了本本,后来竟然没有保持,嗷嗷后悔中... 废话不多说,大家用windows的理由都一样,但 ...
- Android应用开发细节点
1.如果handler是在主线程声明,就属于主线程,handleMessage属于引用handler的那个线程:2.ByteArrayOutputStream/ByteArrayInputStream ...
- 自制无线共享工具C++源代码及创建过程
// wire.cpp : 定义控制台应用程序的入口点.// #include <iostream>#include <string.h>using namespace std ...