【HDU】5248-序列变换(贪心+二分)「建议收藏」

【HDU】5248-序列变换(贪心+二分)

大家好,又见面了,我是全栈君。

二分枚举长度改变的长度即可了

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int  INF = 3000000;
const int maxn = 100005;
int n,arr[maxn],arr2[maxn];
bool solve(int x){
    memcpy(arr2,arr,sizeof(arr));
    for(int i = 1; i <= n; i++){
        if(arr2[i] > arr2[i - 1]){
            arr2[i] = max(arr2[i - 1] + 1,arr2[i] - x);
        }
        else{
            if(arr2[i] + x <= arr2[i - 1]) return false;
            arr2[i] = arr2[i - 1] + 1;
        }
    }
    return true;
}
int main(){
    int T,Case = 1;
    scanf("%d",&T);
    arr[0] = -INF;
    while(T--){
        scanf("%d",&n);
        for(int i = 1; i <= n; i++)
            scanf("%d",&arr[i]);
        int l = 0,r = INF;
        int ans = n;
        while(l <= r){
            int mid = (l + r) >> 1;
            if(solve(mid)){
                ans = mid;
                r = mid - 1;
            }
            else
                l = mid + 1;
        }
        printf("Case #%d:\n",Case++);
        printf("%d\n",ans);
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116609.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • phpstorm 比较修改过的代码 version control

    phpstorm 比较修改过的代码 version control

    2021年11月10日
    58
  • IIC软件协议及硬件知识汇总

    IIC软件协议及硬件知识汇总IIC软件协议及硬件相关知识,真的是非常齐全了!

    2022年7月22日
    9
  • 刷子 撸一撸手头的几把刷

    刷子 撸一撸手头的几把刷想写刷子的博文不是一天两天了,看到这么多刷子,我立马头大啊!其实草刷子,是最近一年的动作,基本上都是近期收的,所以我元气很伤!!!休息天,花了2个小时拍照,这些基本都是比较爱用的刷子,还有一部分刷子不怎么用的被我雪藏起来了!全部倒在桌子上,感叹两个字:好乱!!! 经过整理就好看多了! 上层:下层:

    2022年8月22日
    7
  • DHCP协议详解

    DHCP协议详解文章目录什么是DHCPDHCP协议DHCP报文种类DHCP报文格式DHCP工作流程IP地址分配方式租约表工作流程服务器处理流程什么是DHCPDHCP(DynamicHostConfigurationProtocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局…

    2022年5月10日
    58
  • com组件接口_com组件特点

    com组件接口_com组件特点int main( int argc, char *argv[] ){cout << "Ini

    2022年8月5日
    8
  • Window基础(黑客基础)

    Window基础(黑客基础)一、Window重要目录1.ProgramData:C:\ProgramData是个公用的被创建文件夹或文件存放的地方,这些文件夹或文件仅由创建者完整控制。programdata是电脑C盘的一个系统文件夹2.ProgramFiles和ProgramFiles(86):程序软件默认安装目录,它们的区别是前者是安装64位软件,后者是安装32位软件3.Window:系统安装目录4….

    2022年5月2日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号