【百度之星初赛】序列变换(二分,贪心)
2015-05-31 10:38
204 查看
给定序列A={A1,A2,...,An},
要求改变序列A中的某些元素,形成一个严格单调的序列B(严格单调的定义为:Bi<Bi+1,1≤i<N)。
我们定义从序列A到序列B变换的代价为cost(A,B)=max(|Ai−Bi|)(1≤i≤N)。
请求出满足条件的最小代价。
注意,每个元素在变换前后都是整数。
Input
第一行为测试的组数T(1≤T≤10).
对于每一组:
第一行为序列A的长度N(1≤N≤105),第二行包含N个数,A1,A2,...,An.
序列A中的每个元素的值是正整数且不超过106。
Output
对于每一个测试样例,输出两行:
第一行输出:"Case #i:"。i代表第 i 组测试数据。
第二行输出一个正整数,代表满足条件的最小代价。
Sample Input
Sample Output
http://acm.hdu.edu.cn/showproblem.php?pid=5248
要求改变序列A中的某些元素,形成一个严格单调的序列B(严格单调的定义为:Bi<Bi+1,1≤i<N)。
我们定义从序列A到序列B变换的代价为cost(A,B)=max(|Ai−Bi|)(1≤i≤N)。
请求出满足条件的最小代价。
注意,每个元素在变换前后都是整数。
Input
第一行为测试的组数T(1≤T≤10).
对于每一组:
第一行为序列A的长度N(1≤N≤105),第二行包含N个数,A1,A2,...,An.
序列A中的每个元素的值是正整数且不超过106。
Output
对于每一个测试样例,输出两行:
第一行输出:"Case #i:"。i代表第 i 组测试数据。
第二行输出一个正整数,代表满足条件的最小代价。
Sample Input
2 2 1 10 3 2 5 4
Sample Output
Case #1: 0 Case #2: 1
http://acm.hdu.edu.cn/showproblem.php?pid=5248
#include<iostream> #include<algorithm> #include<string> #include<set> #include<vector> #include<cmath> #include<queue> #include<string.h> #include<stdlib.h> #include<stdio.h> #define ll long long #define eps 10e-7 using namespace std; int x[100001]; int n,s; int check(int p){ int w=x[0]-p; for(int i=1;i<n;++i){ if(max(w+1,x[i]-p)>x[i]+p) return 0; w=max(w+1,x[i]-p); } return 1; } int main(){ int t; scanf("%d",&t); int cnt=0; while(t--){ printf("Case #%d:\n",++cnt); scanf("%d",&n); for(int i=0;i<n;++i){ scanf("%d",&x[i]); } int mid; int l=0,r=10000000; while(l<=r){ mid=(l+r)>>1; if(check(mid)){ s=mid; r=mid-1; } else l=mid+1; } printf("%d\n",s); } return 0; }
相关文章推荐
- 在ubuntu14.10上安装theano并且使用GPU加速
- 右键添加打开终端
- '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "AttentionController" nib but the view outlet was not set.'
- U3d刚体,碰撞,触发器
- Android TextView里直接显示图片的三种方法
- Layered Architecture--分层体系结构
- 扩展欧几里得a*y-b*y=1
- Hadoop学习笔记(三)---hadoop的安装
- SlidingMenu和Fragment的总结
- Oracle学习(7):集合运算
- VS2010 C++ MFC框架学习笔记3 - 控件Tab顺序设置及模态对话框
- iOS开发 SQLite的创建数据库,表,插入查看数据
- openstack
- 【C# 基础】访问级别
- leetcode Contains Duplicate
- Git入门本地常见配置与操作
- 微软100题(44)几道腾讯面试题
- [BI项目记]-DB脚本同步
- UITabBar 蓝色
- 【leetcode】Text Justification