bzoj 2216: [Poi2011]Lightning Conductor(DP决策单调性)
2216: [Poi2011]Lightning Conductor
Time Limit: 25 Sec Memory Limit: 64 MB
Submit: 1292 Solved: 443
[Submit][Status][Discuss]
Description
已知一个长度为n的序列a1,a2,...,an。
对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt(abs(i-j))
Input
第一行n,(1<=n<=500000)
下面每行一个整数,其中第i行是ai。(0<=ai<=1000000000)
Output
n行,第i行表示对于i,得到的p
Sample Input
Sample Output
式子转化一下,把p拉到左边
题目要找最小的非负整数p使得对于所有的j∈n都满足上面公式,那么可以得出
也就是找出最优决策点j满足a[j]-a[i]+sqrt(|i-j|)最大
1D/1D动态规划模型,而且因为更号函数差分后单调递减,很容易证明决策单调性
不过这题不同的是,一般都是j=1到j=i-1,而这个是j=1到j=n,所以要正着反正各求一次最大
也可以写个像http://blog.csdn.net/jaihk662/article/details/78178729这题一样的二分
具体看程序
#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
int a[500005];
double dp1[500005], dp2[500005];
void Sech(int l, int r, int L1, int R1, int L2, int R2)
{int i, m, x1, x2;if(l>r)return;m = (l+r)/2;dp1[m] = dp2[m] = -2147400000;for(i=L1;i<=min(m,R1);i++){if(a[i]+sqrt(m-i)>=dp1[m])dp1[m] = a[i]+sqrt(m-i), x1 = i;}for(i=R2;i>=max(m,L2);i--){if(a[i]+sqrt(i-m)>=dp2[m])dp2[m] = a[i]+sqrt(i-m), x2 = i;}Sech(l, m-1, L1, x1, L2, x2);Sech(m+1, r, x1, R1, x2, R2);
}
int main(void)
{int n, i;scanf("%d", &n);for(i=1;i<=n;i++)scanf("%d", &a[i]);Sech(1, n, 1, n, 1, n);for(i=1;i<=n;i++)printf("%d\n", (int)(ceil(max(dp1[i], dp2[i]))-a[i]));return 0;
}
bzoj 2216: [Poi2011]Lightning Conductor(DP决策单调性)相关推荐
- BZOJ2216 [Poi2011]Lightning Conductor 【决策单调性dp】
题目链接 BZOJ2216 题解 学过高中数学都应知道,我们要求\(p\)的极值,参变分离为 \[h_j + sqrt{|i - j|} - h_i \le p\] 实际上就是求\(h_j + sqr ...
- BZOJ 2216 Poi2011 Lightning Conductor 动态规划
题目大意:给定一个序列aia_i,对于每一个ii求⌈max{aj+|i−j|−−−−−√}−ai⌉\lceil max\{ a_j+\sqrt{|i-j|}\}-a_i\rceil 看了题解才知道是决 ...
- CF834D. The Bakery(线段树优化dp 决策单调性优化dp)
linkkkkk 题意: 将一个长度为 n 的序列分为 m段,使得总价值最大. 一段区间的价值表示为区间内不同数字的个数. n≤35000,m≤50 思路: 考虑朴素的dpdpdp方程:dp[i][j ...
- BZOJ2216: [Poi2011]Lightning Conductor
第一道此类的题,所以这是一篇假的博客,定理不会证明不理性 也不一定对 我是从这篇博客看的 = = 很显然是让你求 p[i] = max{a[j] + sqrt(i - j)} - a[i] 就是 ma ...
- [BZOJ2216][Poi2011]Lightning Conductor[决策单调性优化]
最初在HDU的ACM模板上看到这个分治的DP优化 用这个的前提是不强制在线(f[i]不由前面的f转移过来)且决策单调 \[ \forall j\in \left[ \text{1,}n \right] ...
- bzoj 4709: [Jsoi2011]柠檬(分段DP+决策单调性)
4709: [Jsoi2011]柠檬 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 240 Solved: 105 [Submit][Status ...
- BZOJ4899: 记忆的轮廓 期望DP 决策单调性
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=4899 容易发现树形结构是骗人的...走到错误分叉的影响是可以预处理的常数,所以就相当于一个序列 ...
- bzoj2687 交与并(贪心+dp+决策单调性+分治)
双倍经验:portal #include <cstdio> #include <cstring> #include <algorithm> #include < ...
- Codeforces Round #190 (Div. 1): E. Ciel and Gondolas(决策单调性DP+wqs二分)
E. Ciel and Gondolas 题意: bzoj5311:https://www.lydsy.com/JudgeOnline/problem.php?id=5311 同一道题目,但是bzoj ...
最新文章
- conda不是内部或外部命令
- RequireJs入门(一)
- windows dos命令窗口的环境变量
- 赞!这样构建微服务架构,实在是太轻松了!
- cad记忆口诀_CAD制图口诀你值得拥有!
- 推荐算法炼丹笔记:CTR点击率预估系列入门手册
- 基于Guava API 轻松落地观察者模式
- 使用C#快速生成二维码 | 真正跨平台方案
- java中configmanager_Spring4新的javaConfig注解
- 工业交换机与光纤收发器的区别
- jq追加元素最前面_DNF:哈林史诗百鬼夜行最理想的首饰搭配,海博伦应选贤者之欲...
- Qt - QVariant
- 用Redis客户端工具连接Redis
- html表格ppt,HTML表格.ppt
- 从零到一,美芽的技术实战
- 空间想象力差学计算机,空间思维想象力差怎么办
- Java技术实验三 货物进销管理系统
- 英语差能学好Python吗?学Python有捷径吗?
- 逍遥游 一致性和哥德尔两大定理—— 读哥德尔之八
- AV1:谷歌微软等联合打造的新视频压缩技术
热门文章
- python编程入门经典-总算理解python编程入门经典教程
- python用什么编译器-python应选什么编译工具
- 广义表取表头表尾_数据结构广义表的递归算法
- npm ERR! Unexpected end of JSON input while parsing near '...Comment: https://open'
- foxmail邮件加载失败重试_Foxmail提示错误的解决方案
- 手机端页面自适应解决方案—rem布局进阶版
- LeetCode 172 阶乘后的0
- sql出现列名无效的原因_SQL数据库中的数据类型与表结构的创建
- php ecdsa secp256k1,从上的压缩派生ECDSA未压缩公钥
- MyBatis传入参数为0时条件不生效