首页 > 编程语言 >《算法竞赛》---二分

《算法竞赛》---二分

时间:2024-01-10 17:25:23浏览次数:27  
标签:二分 false cout int mid long --- 算法

整数二分经典模型

1.最大值最小化(最大值尽量小)

序列划分-----p48

#include<bits/stdc++.h>
using namespace std;
int n,k;
//long long sum;
int a[1000000];
bool check(int x)
{
    long long res=0,cnt=0;
   res=a[1];
   for(int i=2;i<=n;i++)
   {
       if(res+a[i]<=x)res+=a[i];//注意当最后加入一个元素满足条件时不会再加上一个cnt,要人工特判一下最后面加入
       else 
       res=a[i],cnt++;
       if(res==x&&i==n)cnt++;
   }
   if(cnt>k)return true;
    return false;
}
int main()
{
    ios::sync_with_stdio(false);cin.tie();cout.tie();
    cin>>n>>k;
    int r=0,l=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        l=max(a[i],l);
        r+=a[i];
    }
     //cout<<l<<' '<<r<<endl;
    while(l<r)
    {
       // sum=r;
        int mid=(l+r)>>1;
        if(check(mid))l=mid+1;
        else r=mid;
         //  cout<<l<<' '<<r<<' '<<mid<<endl;
    }
    cout<<l;
    return 0;
}

标签:二分,false,cout,int,mid,long,---,算法
From: https://www.cnblogs.com/yuexiabaobei/p/17956914

相关文章

  • 《算法竞赛》---搜索
    搜索二叉树搜索bfs搜索二叉树---p98#include<bits/stdc++.h>usingnamespacestd;constintN=1e5;intn;chara[100000];structnode{charvalue;intlson,rson;}tree[N];intidx=1;intnewnode(charval){tree[idx].value=val,tree[idx].lson=0,tre......
  • rm -rf dir删除不了的几种情况
    我勒个去!root用户通过rm-rf竟无法删除文件了!原创 浩道 浩道Linux 2024-01-0907:50 发表于广东关注上方浩道Linux,回复资料,即可获取海量Linux、Python、网络通信、网络安全等学习资料!前言大家好,这里是浩道Linux,主要给大家分享Linux、Python、网络通信、网络安全等相......
  • AP8854 宽压降压电源管理芯片12-80V 7v2.5A 应用于电动车手暖套的PBC线路
    AP8854一款宽电压范围降压型DC-D电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合宽电压输入降压使用。AP8854带使能控制,可以大大节省外围器件,更加适合电池场合使用,具有很高的方案性价比。产品特点:电压输入范围10V至......
  • 张正友棋盘代码-python
    具体实现方案:棋盘是一块由黑白方块间隔组成的标定板,我们用它来作为相机标定的标定物(从真实世界映射到数字图像内的对象)。之所以我们用棋盘作为标定物是因为平面棋盘模式更容易处理(相对于复杂的三维物体),但与此同时,二维物体相对于三维物体会缺少一部分信息,于是我们会多次改变棋盘的......
  • php入门学习-2
    运算符与优先级  php的运算符分为:算术运算符,字符串运算符,赋值运算符,位运算符,条件运算符,逻辑运算符等。  当各种运算符同在一个表达式中时,运算是有一定优先级的。  1.算术运算符  + 加法  - 减法  * 乘法  / 除法  % 求余......
  • Spark 框架模块和Spark的运行模式 -
    整个Spark框架模块包含:SparkCore、SparkSQL、SparkStreaming、SparkGraphX、SparkMLlib,而后四项的能力都是建立在核心引擎之上SparkCore:Spark的核心,Spark核心功能均由SparkCore模块提供,是Spark运行的基础。SparkCore以RDD为数据抽象,提供Python、Java、Scala、R语......
  • 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪,虚拟机无法使用的数据恢复案例
    服务器数据恢复环境:WindowsServer操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外还有一块硬盘存放虚拟机数据文件的备份。服务器故障&检测:由于MD3200存储中虚拟......
  • 迅为iTOP-3568开发板助力实时系统,Preemption与Xenomai
    iTOP-RK3568开发板使用手册上新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。iTOP-RK3568开发板支持了Preemption和Xenomai实时系统。实时系统以其卓越的实时性能,为用户提供出色的体验,《iTOP-3568开发板实时系统使用手册》将对实时系统的选择、编译烧写、测试等方......
  • Oracle-概要文件dba_profiles(资源配置)
    DBA_PROFILES用来显示所有配置文件及其限制。在11g数据库环境中,dba_profiles的结构只有4个字段,分别是PROFILE\RESOURCE_NAME\RESOURCE_TYPE\LIMIT;在12c及以上的Oracle数据库中,新增了COMMON\INHERITED\IMPLICIT。1.通过select语句查看所有配置及限制。select*fromdba_profil......
  • InnoDB delete-update加锁流程分析
    死锁原因:并发事务在执行过程中,因争夺锁资源而造成互相等待。加锁顺序导致死锁:不同表加锁顺序相反、相同表不同行加锁顺序相反,其中相同表不同行加锁顺序相反造成死锁有很多变种,其中容易忽略的是给辅助索引行加锁的时候,同时会给聚集索引行加锁;同时还可能出现在外键索引时,给父表加......