CF1338A
题目简化和分析:
\(a_{i}\ge a_{i-1}\) 已经满足直接跳过
\(a_{i}<a_{i-1}\) 我们就要将其的差进行二进制的分解,使得 \(a_{i-1}=a_i\)
我也不知道一开始我怎么想的还开了个 \(f\) 数组。
\(f_i=f_{i-1}+(2^{f_{i-1}}=i)\) 这部妥妥的 MLE。
所以还是暴力吧,毕竟二进制也快。
Solution:
注意以下代码的 for 循环 k 的初始值,估计是太大会 UB?
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
const int N=1e5+50;
const int M=1e5+50;
const int Mod=1e9+7;
inline ll read(){
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
ll t,n;
ll a[N];
int main()
{
t=read();
while(t--){
n=read();
for(int i=1;i<=n;++i){
a[i]=read();
}
ll ans=0;
for(int i=2;i<=n;++i){
if(a[i]>=a[i-1]) continue;
for(ll k=31;k>=1;--k){
if(a[i]+(1<<k-1)<=a[i-1])
{
a[i]+=(1<<k-1);
ans=max(ans,k);
}
}
}
printf("%lld\n",ans);
}
return 0;
}
随机推荐
- 2023-06-29:redis中什么是热点Key?该如何解决?
2023-06-29:redis中什么是热点Key?该如何解决? 答案2023-06-29: 在Redis中,经常被访问的key被称为热点key. 产生原因和危害 原因 热点key问题产生的原因可以归 ...
- 如何将mp4文件解复用并且解码为单独的.yuv图像序列以及.pcm音频采样数据?
一.初始化解复用器 在音视频的解复用的过程中,有一个非常重要的结构体AVFormatContext,即输入文件的上下文句柄结构,代表当前打开的输入文件或流.我们可以将输入文件的路径以及AVFormat ...
- .net core提示502.5错误
最近给WindowsServer2012服务器部署.Net Core项目,部署后一直显示502.5错误,具体如下: 网上找了一大堆解决办法都行不通,最后在stackoverflow中找到说是缺少一个补 ...
- CF1810D Candies题解
CF1810D Candies 点击查看原题 点击查看思路 经典的小学数学奥数题. 设 \(a\) 为每天往上爬的高度,\(b\) 为每天向下降的高度,\(n\) 为给定的需要爬上去的天数. 请注意, ...
- Linux切换Root权限配置和无法切换排查
1.wheel组 普通用户禁止su切换root 在默认的情况下,普通用户通过su可以切换到root用户下,为了加强系统安全性,使用Linux的特殊用户组wheel来实现,只有用户加入到wheel组当中 ...
- asp.net core之Host
Host简介 在ASP.NET Core中,Host是一个托管应用程序的宿主环境.它提供了一种统一的方式来启动和运行应用程序,无论是在开发环境中还是在生产环境中.Host负责处理应用程序的生命周期.配 ...
- JFrame一些基础小知识
JFrame.setLocationRelativeTo方法 JFrame.setLocationRelativeTo()是一个Java Swing中的方法,它用于将窗口居中显示在屏幕上. 当你调用该 ...
- Abstract Factory 抽象工厂模式简介与 C# 示例【创建型1】【设计模式来了_1】
〇.简介 1.什么是抽象工厂模式? 一句话解释: 提供一个接口,以创建一系列相关或相互依赖的抽象对象,而无需指定它们具体的类.(将一系列抽象类装进接口,一次接口实现,就必须实例化这一系列抽象类) ...
- 通过Proxy和Reflect实现vue的响应式原理
vue3通过Proxy+Reflect实现响应式,vue2通过defineProperty来实现 Proxy Proxy是什么 Proxy是ES6中增加的类,表示代理. 如果我们想要监听对象的操作过程 ...
- mybatis系列: 简介以及使用
目录 一.简介 二.简单使用 一.简介 MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD. MyBatis在三层架构中负责持久层的,属于持久层框架. MyBatis的发展历程: ...