每个pi要求

  这个只需要正反DP(?)一次就行了,可以发现这个是有决策单调性的,用分治优化

#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn=,inf=1e9;
int n;
int a[maxn],f[maxn][];
void read(int &k)
{
int f=;k=;char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(c<=''&&c>='')k=k*+c-'',c=getchar();
k*=f;
}
void solve(int l,int r,int L,int R,int ty)
{
if(l>r||L>R)return;
int mid=(l+r)>>,pos;
double mx=0.0;
for(int i=L;i<=R&&i<=mid;i++)
{
if((double)a[i]-a[mid]+sqrt(mid-i)>=mx)
mx=(double)a[i]-a[mid]+sqrt(mid-i),pos=i;
}
f[mid][ty]=(int)ceil(mx);
solve(l,mid-,L,pos,ty);solve(mid+,r,pos,R,ty);
}
int main()
{
read(n);
for(int i=;i<=n;i++)read(a[i]);
solve(,n,,n,);
reverse(a+,a++n);
solve(,n,,n,);
for(int i=;i<=n;i++)printf("%d\n",max(f[i][],f[n-i+][]));
}

最新文章

  1. html5第二天
  2. Mdrill 安装部署(单机版)
  3. The Linux Process Principle,NameSpace, PID、TID、PGID、PPID、SID、TID、TTY
  4. Windows安装Python图像处理库:PIL模块
  5. HDU 2196 Computer 树形DP 经典题
  6. c指针提高
  7. JAVA多态问题总结(课堂总结)
  8. java中的类修饰符、成员变量修饰符、方法修饰符
  9. Swift 实现俄罗斯方块详细思路解析(附完整项目)
  10. 用java写的一个简易记事本
  11. HTTPS 基本流程2
  12. PHP02
  13. ECMAScript 引用类型
  14. CSS等高布局的7种方式
  15. 扩展EF的Fluent API中的 OnModelCreating方法 实现全局数据过滤器
  16. Android BLE设备蓝牙通信框架BluetoothKit
  17. vs 2015
  18. Bigbluebutton安装过程
  19. log4j 配置(转)
  20. 665. Non-decreasing Array只允许修改一位数的非递减数组

热门文章

  1. selenide 自动化测试进阶一: 查找元素和相关操作
  2. 跟浩哥学自动化测试Selenium -- 浏览器的基本操作与元素定位(3)
  3. Objective-C NSString基本使用 类方法 self关键字
  4. HDU - 6409:没有兄弟的舞会(数学+思维)
  5. Java集合学习--集合总结
  6. 如何借助windows的VHD引导特性实现VHD多windows系统共存
  7. Hadoop第二课:Hadoop集群环境配置
  8. SpringCloud IDEA 教学 (二) Eureka Service
  9. BAT 批处理脚本 教程 【转】
  10. SGU 438 The Glorious Karlutka River =)(最大流)