【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 奔图打印机官网驱动_施乐105P一样的打印机

    奔图打印机官网驱动_施乐105P一样的打印机奔图P3060DW打印机驱动带给大家官方最新驱动程序,这款打印机十分小巧功能却很全面,高速双面黑白激光打印机可以满足大家日常的工作及其它需求,驱动程序非常必要,成功安装后方可使用打印机。奔图P3060DW打印机参数:型号P3060DW打印参数打印速度30ppm(A4)32ppm(Letter)首页打印时间≤8.5秒最大月打印量25000页建议月打印量250页到3000页分辨率(dpi)最大12…

    2022年8月30日
    1
  • 链表排序算法_怎么对链表进行排序

    链表排序算法_怎么对链表进行排序排序算法概述盗个图转自:https://www.cnblogs.com/onepixel/articles/7674659.html排序算法复杂度由于是链表排序,首先定义链表节点数据结构common.htypedefstructNodeLNode;structNode{intdata;LNode*next;LNode*prev;};备注:以下排序…

    2022年10月11日
    0
  • Torchvision transforms 总结

    Torchvision transforms 总结一.torchvision.transformsTransfoms是很常用的图片变换方式,可以通过compose将各个变换串联起来**1.classtorchvision.transforms.Compose(transforms)**这个类将多个变换方式结合在一起参数:各个变换的实例对象举例:transforms.Compose([ transforms.Center…

    2022年6月24日
    43
  • 新东方背单词记忆法_刘晓艳10天背单词怎么背

    新东方背单词记忆法_刘晓艳10天背单词怎么背[来源:新东方作者:胡文宁] 从一上大学起,我就执着地认为,英语问题就是单词问题。你看,无论是精读还是泛读,大量的生词扑面而来,我想,如果这些单词都认识的话,一切不都迎刃而解了吗?刚开始背单词,我也不得其法,功夫下了不少,但是效果甚微。又发现班里有些同学,似乎很容易地就记住了许多单词,心里有些懊恼,常想:上天不公啊,为何我的记忆力就如此这般地差。我打小memory就很poor,常…

    2022年9月13日
    1
  • java 死链检测_网站死链检测工具/网站地图生成工具「建议收藏」

    java 死链检测_网站死链检测工具/网站地图生成工具「建议收藏」转载自http://www.yshjava.cn/post/483.html今天在谷歌站长工具上看到谷歌爬虫在笔者的个人博客网站上找到了3个无效的404链接,稍微有一点SEO常识的人都知道,404是搜索引擎爬虫非常讨厌的页面,会直接降低网站在搜索引擎中的权重和排名,这是广大站长都不愿意看到的事情。如果自己手动的去寻找这些404页面,或许很难:404存在于哪些页面中?出现一次还是多次?偶然还是必然…

    2022年7月23日
    16
  • java中遍历数组的方法_java遍历object数组

    java中遍历数组的方法_java遍历object数组参考labmbda表达式引言记录一下Java遍历数组的几种常见方法下面以遍历整数数组为例Integer[]arr={1,3,4,5,6};//这里不能使用int[],会报错//!!!注意:使用Arrays.asList转换为集合时,不能用其进行修改集合的相关方法(add/remove)List<Integer>list=Arrays.asList(arr);1、利用for遍历//1、利用for遍历System.out.prin

    2022年9月19日
    0

发表回复

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

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