博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU3486 RMQ
阅读量:6432 次
发布时间:2019-06-23

本文共 1433 字,大约阅读时间需要 4 分钟。

1 /*多么变态的一道题,交了18次*/ 2  3  4 #include
5 #include
6 #include
7 #define max(a,b) (a>b?a:b) 8 int dp[200005][20],llog2[200005];//用llog2数组进行优化 9 int n,k;10 11 void DpMax(){12 for(int j=1;j<=llog2[n]+1;j++){
//llog213 for(int i=1;i+(1<
<=n;i++){14 dp[i][j]=max(dp[i][j-1],dp[i+(1<<(j-1))][j-1]);15 }16 }17 }18 19 int GetMax(int L,int R){20 int j=llog2[R-L+1];//llog221 return max(dp[L][j],dp[R-(1<
k)38 return i;39 }40 pre_tot = tot;41 pre_sum = sum;42 }43 else44 {45 for(int j = num; j <= sum; j += num)46 {47 tot += GetMax(j-num+1, j);48 if(tot > k)49 return i;50 }51 pre_num = num;52 pre_tot = tot;53 pre_sum = sum;54 }55 }56 return -1;57 }58 59 int main(){60 for(int i=2;i<200005;++i){
//llog261 llog2[i]=(i&(i-1))==0?llog2[i-1]+1:llog2[i-1];62 }63 while(scanf("%d%d",&n,&k),n>0||k>0){64 memset(dp,0,sizeof(dp));65 for(int i=1;i<=n;i++){66 scanf("%d",&dp[i][0]);67 }68 DpMax();69 printf("%d\n",work());70 }71 }72 73 74

 

转载于:https://www.cnblogs.com/Stomach-ache/p/3703276.html

你可能感兴趣的文章
去除工程的.svn隐藏文件夹
查看>>
Python24 终端如何输出彩色字体
查看>>
XSS跨站脚本***
查看>>
linux 挂载光驱
查看>>
ASP.NET MVC Area操作
查看>>
CSS颜色代码大全
查看>>
LINQ之路10:LINQ to SQL 和 Entity Framework(下)
查看>>
circle area
查看>>
怎么改变按钮的图标
查看>>
当输入流和输出流同时作用一个文件
查看>>
MySQL关于表碎片整理OPTIMIZE TABLE操作
查看>>
FortiGate 0458版本bug
查看>>
后台post注入爆密码
查看>>
Java --- 多线程 面试题
查看>>
OA项目如何成功实施!
查看>>
FindMaxConsecutive.java
查看>>
面试官问:ZooKeeper 一致性协议 ZAB 原理
查看>>
DNS实现域名正解与反解
查看>>
反向教学系列之——Django入门(一)【不需知道web框架】
查看>>
Linux学习-标准输入输出
查看>>