首页 > 其他分享 >Final Boss(二分答案)

Final Boss(二分答案)

时间:2025-01-04 17:11:00浏览次数:1  
标签:二分 return int sum long Boss xmmm Final

原题链接:

Problem - F - Codeforces

思路:

二分答案

代码:

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int xmmm=2e5+10;
int a[xmmm], b[xmmm];
int n, m;
int check(int x){
    int sum=0;
    for(int i=1;i<=n;i++){
        sum+=(1+(x-1)/b[i])*a[i];
        if(sum>m)return sum;//之前没加这句话, sum爆long long了;
    }
    return sum;
}
void solve(){
    cin>>m>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    int l=1, r=5e10+10;
    while(l<r){
        int mid=(l+r)/2;
        if(check(mid)<m){
            l=mid+1;
        }
        else r=mid;
    }
    cout<<l<<'\n';
}
signed main()
{
    int T;cin>>T;
    while(T--){
        solve();
    }
    return 0;
}

总结:

可以很快确定是二分答案

注意边界不要陷入死循环,以及数据范围不要爆longlong 就可以了。

标签:二分,return,int,sum,long,Boss,xmmm,Final
From: https://www.cnblogs.com/1747176348mi/p/18652123

相关文章

  • 二分查找 - 相关基础算法总结
    问题1:寻找target位置,没有返回-1问题2:从右往左,寻找<target的第一个位置问题3:从左往右,寻找>target的第一个位置问题4:从右往左,寻找<=target的第一个位置问题5:从左往右,寻找>=target的第一个位置以上问题是求很多解力扣算法题的基础,需要好好的掌握: 问题1:寻找......
  • 【优选算法】Binary-Blade:二分查找的算法刃(下)
    文章目录1.山脉数组的峰顶索引2.寻找峰值3.寻找旋转排序数组中的最小值4.点名希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力!本篇接上一篇二分查找,主要通过部分题目熟悉二分查找的进阶使用,重点强调二段性,找到两个区间不同的地方在哪,多画图划分界限......
  • 如何使用建筑物变化检测算法的Baseline工程 ,使用PyTorch框架,并选择U-Net来进行二分类
    建筑物变化检测算法baseline工程使用PyTorch框架,并选择U-Net来进行二分类任务(变化/不变)Baseline工程将基于深度学习方法来检测建筑物的变化备注:博客所有文章代码仅供参考!如何使用建筑物变化检测算法的Baseline工程,一个详细的步骤和代码示例。这个Baseline工程将基于深......
  • Python-二分法的进阶与Bisect库详解
    1.1前言:在进阶之前可能很多学过二分法的人都认为二分查找十分简单,但事实不完全如此。比如你是否熟练的知道while的条件有等于时返回究竟是mid还是left,还是right,还是随便返回一个没有等于时又是返回什么……本文将给大家讲解二分法的进阶和bisect库函数的运用,并且再讲解之后......
  • 【Java基础-31】Java中的final关键字:深入理解与应用
    在Java编程中,final关键字是一个非常重要的修饰符,它可以用于类、方法、变量等不同的场景。final关键字的主要作用是表示“不可变”,即一旦被final修饰,其所修饰的实体将不能被进一步修改或继承。本文将深入探讨final关键字的使用场景及其背后的设计思想,帮助开发者更好地理解和......
  • 常见中间件漏洞(tomcat,weblogic,jboss,apache)
    先准备好今天要使用的木马文件使用哥斯拉生成木马压缩成zip文件改名为war后缀一:Tomcat1.1CVE-2017-12615环境搭建cdvulhub-master/tomcat/CVE-2017-12615docker-composeup-d1.首页抓包,修改为PUT方式提交发送shell.jsp和木马内容201创建成功2.......
  • 路标设置(二分答案)
    题目链接:https://www.luogu.com.cn/problem/P3853题意:给你一段长度,以及一些分割该长度的路标,允许加上k个路标让路标间距离变小,让你求两个路标之间最大的距离思路:二分答案,check时把注意力放在相邻的两个路标之间的距离看满不满足你二分出来的答案,如果不满足,就加上路标让其满足(注......
  • 寻找两个正序数组的中位数(二分查找)
    给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log(m+n)) 。 示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[1......
  • 寻找旋转排序数组中的最小值(二分查找)
    已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums=[0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0],a[1],a[2],...,a[n-1......
  • Leetcode刷题第三天-二分查找
    162.寻找峰值-力扣(LeetCode)没二分,数组头尾分别插入最小值和最大值,比较num[i-1]<num[i]>num[i+1]classSolution:deffindPeakElement(self,nums:List[int])->int:ifnotnums:returnNonemax_num,min_num=min(nums)-1,min(nums)-1......