【UER #7】天路
来源:互联网 发布:51单片机价格 编辑:程序博客网 时间:2024/05/17 02:52
题目大意
给定一个长度为
输出答案与标准答案误差在
Data Constraint
题解
因为并不要求最精确的答案,所以可以近似的枚举答案。
考虑枚举答案
对于每一个答案,我们可以
SRC
#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std ;#define N 100000 + 10const int MAXTOT = 290 ;const int MAXN = 18 ;int a[N] , f[N][MAXN] , g[N][MAXN] , Tab[N] , ans[N] ;double mid = 1 ;int n ;void Pre() { for (int i = 1 ; i <= n ; i ++ ) f[i][0] = g[i][0] = a[i] ; for (int j = 1 ; j < MAXN ; j ++ ) { for (int i = 1 ; i <= n ; i ++ ) { if ( i + (1 << (j - 1)) <= n ) f[i][j] = f[i+(1<<(j-1))][j-1] , g[i][j] = g[i+(1<<(j-1))][j-1] ; f[i][j] = min( f[i][j] , f[i][j-1] ) ; g[i][j] = max( g[i][j] , g[i][j-1] ) ; } }}inline int Find1( int l , int r ) { int k = Tab[r-l+1] ; return max( g[l][k] , g[r-(1<<k)+1][k] ) ;}inline int Find2( int l , int r ) { int k = Tab[r-l+1] ; return min( f[l][k] , f[r-(1<<k)+1][k] ) ;}int main() { scanf( "%d" , &n ) ; memset( ans , 63 , sizeof(ans) ) ; for (int i = 1 ; i <= n ; i ++ ) scanf( "%d" , &a[i] ) , Tab[i] = log(i) / log(2) ; Pre() ; for (int i = 1 ; i <= MAXTOT ; i ++ , mid *= 1.05 ) { int fir = 1 , las = 1 , st = 0 ; for ( ; las <= n ; las ++ ) { st = Find1( fir , las ) - Find2( fir , las ) ; while ( st > mid ) { fir ++ ; st = Find1( fir , las ) - Find2( fir , las ) ; } ans[las-fir+1] = min( ans[las-fir+1] , st ) ; } } for (int i = n - 1 ; i >= 2 ; i -- ) ans[i] = min( ans[i] , ans[i+1] ) ; for (int i = 2 ; i <= n ; i ++ ) printf( "%d\n" , ans[i] ) ; return 0 ;}
以上.
1 0
- 【UER #7】天路
- UOJ 245 [UER #7]天路
- UOJ#245. 【UER #7】天路
- 【UOJ 245】【UER #7】天路
- 【UOj】#245. 【UER #7】天路
- [UOJ#245][UER#7B]天路
- [近似算法 分治] UER #7 B.天路
- 【UOJ244】【UER #7】短路
- 【UER #7】套路
- uoj 245. 【UER #7】天路 (近似算法)
- uoj 246. 【UER #7】套路
- 【UOJ 244】【UER #7】短路
- 【UOJ 246】【UER #7】套路
- UOJ #244. 【UER #7】短路
- 【UOJ】#244. 【UER #7】短路
- 【UOJ】#246. 【UER #7】套路
- [UOJ#245][UER#7B]天路(数学相关:近似算法)
- 【UOJ 测试】B. 【#245 UER #7】天路(近似算法+RMQ)
- 2016.10.06信息学题解兼总结
- 由cudaCreateChannelDesc所查到的一些
- tensorflow 二阶导数计算
- 关于Spring中的<context:annotation-config/>配置
- 递推---分数矩阵
- 【UER #7】天路
- 做了一个转盘小游戏,后台传数据前段js展示中间产品
- Json解析与XML解析的demo
- cadence16.5中XNET的设置方法
- JAVA代码编写的30条建议
- HDU 1255 矩形覆盖面积(线段树)
- 模式识别作业1
- drawText参数介绍及绘制居中文本
- 【数据结构】二叉搜索树的删除,插入,查找