AcWing 1273. 天才的记忆
2024-08-30 03:45:09
从前有个人名叫 WNB,他有着天才般的记忆力,他珍藏了许多许多的宝藏。
在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松回答出这个问题,便可以继承他的宝藏。
题目是这样的:给你一大串数字在你看过一遍之后,它便消失在你面前,随后问题就出现了,给你m 个询问,每次询问就给你两个数字,要求你瞬间就说出这段区间内的最大数。
一天,一位美丽的姐姐从天上飞过,看到这个问题,感到很有意思(主要是据说那个宝藏里面藏着一种美容水,喝了可以让这美丽的姐姐更加迷人),于是她就竭尽全力想解决这个问题。
但是,她每次都以失败告终,因为这数字的个数是在太多了!
于是她请天才的你帮他解决。如果你帮她解决了这个问题,可是会得到很多甜头的哦!
#include<bits/stdc++.h>
using namespace std;
const int N = 2000100,M = 18;
int n,m,f[N][M];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)cin>>f[i][0];
for(int j=1;j<M;j++)
for(int i=1;i+(1<<j)-1<=n;i++)
f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);
cin>>m;
while(m--)
{
int l,r;
cin>>l>>r;
int len=r-l+1;
int k=log(len)/log(2);
cout<<max(f[l][k],f[r-(1<<k)+1][k])<<endl;
}
return 0;
}
最新文章
- matlab更改打开时候默认路径
- .Net批量插入数据到SQLServer数据库,System.Data.SqlClient.SqlBulkCopy类批量插入大数据到数据库
- Remove Duplicates from Sorted Array II [LeetCode]
- MBProgressHud添加自定义动画
- Mac 下查看 Android Studio 的 SHA1的方法
- HDU 5876 Sparse Graph BFS 最短路
- codeforces 485A.Factory 解题报告
- python pdb
- hdu 5137 How Many Maos Does the Guanxi Worth 最短路 spfa
- 零基础如何入门Python
- apply和call的区别在哪里
- jQuery Validation Plugin学习
- [C++关键字] alignof &; alignas 内存对齐 sizeof 占内存大小
- NDK常见问题
- iOS开发——GCDAsyncSocket
- 1934: [Shoi2007]Vote 善意的投票
- 辅助排序和Mapreduce整体流程
- html5入门:教你用canvas写一个时钟
- EF连接Mysql 表&#39;TableDetails&#39;中的列&#39;IsPrimaryKey&#39;的值为DBNull
- Docker集群管理(三)—— docker swarm mode基础教程