首页 > 其他分享 >晾衣服(二分)

晾衣服(二分)

时间:2024-12-23 21:30:59浏览次数:7  
标签:二分 arr 晾衣服 int big mid cin ans

题目 : 链接:https://ac.nowcoder.com/acm/problem/235254

谁能告诉我为什么16行要这样写,而不是用temp-=ceil((double)arr[i]/k);????

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k;
const int maxn=1e5+5;
int arr[maxn];
int ans;
bool check(int mid)
{
	int temp=mid;
	for(int i=1;i<=n;i++)
	{
		if(arr[i]<=mid)continue;
		else
		{
			temp-=ceil((double)(arr[i]-mid)/(k-1));
		}
	}
	return temp>=0;
}
signed main()
{
	ios::sync_with_stdio(false),cin.tie(0);
	cin>>n;
	int big=0;
	for(int i=1;i<=n;i++)
	{
		cin>>arr[i];
		big=max(big,arr[i]);
	}
	cin>>k;
	int l=0,r=big;
	while(l<=r)
	{
		int mid=(l+r)>>1;
		if(check(mid))
		{
			ans=mid;
			r=mid-1;
		}
		else
		{
			l=mid+1;
		}
	}
	cout<<ans;
	return 0;
}


标签:二分,arr,晾衣服,int,big,mid,cin,ans
From: https://www.cnblogs.com/benscode/p/18625063

相关文章

  • 二分图相关技术
    基础部分二分图最大匹配P3386【模板】二分图最大匹配可网络流\(O(n\sqrtm)\),可匈牙利\(O(nm)\)。给出匈牙利。匈牙利板子#include<bits/stdc++.h>usingnamespacestd;constintmaxn=510;intn,m,k,ans,mat[maxn];boolvis[maxn],g[maxn][maxn];booldfs(intu......
  • hot100-一刷-11二分查找(共6道题)
    题目题目链接题目描述代码实现分析:代码:题目题目链接题目描述代码实现分析:代码:题目题目链接题目描述代码实现分析:代码:题目题目链接题目描述代码实现分析:代码:题目题目链接题目描述代码实现分析:代码:题目题目链接题目描述代码实现分析:代......
  • 数据结构与算法Python版 顺序查找与二分查找
    文章目录一、顺序查找二、二分查找一、顺序查找顺序查找SequentialSearch通过下标,我们就可以按照顺序来访问和查找数据项,这种技术称为“顺序查找”如果数据项保存在如列表这样的集合中,我们会称这些数据项具有线性或者顺序关系在Python列表中,这些数据项的存储位置......
  • java二分查找
    二分查找针对的一定是有序数组啊,因为有序数组才知道每次分的方向。//二分查找publicstaticintbinarySearch(int[]nums,inttarget){if(nums==null||nums.length==0){return-1;}intleft=0;intright=nums.length-......
  • Python 二分查找
    作者制作不易,关注、点赞、收藏一下吧!1.二分查找的概念和基本步骤二分查找是一种高效的搜索算法,适用于在一个有序数组中查找特定元素。其基本思想是每次将搜索范围缩小一半,从而快速定位目标元素。二分查找要求输入数组必须是有序的。时间复杂度为O(logn)。初始化:设定两......
  • Luogu P10838 『FLA - I』庭中有奇树 题解 [ 绿 ] [ 二分 ] [ 双指针 ] [ 树 ]
    庭中有奇树:很多算法揉在一起的好题。转化题意因为要封锁\(m\)条路径,根据贪心思想,他一定会封锁最短的\(m\)条路径。所以我们能走的最短传送路径就是最短的第\(m+1\)条路径。这应该是本题最关键的一步转化了,几个月前降智了根本没想到这个。做法求第\(m+1\)短的路径,这个......
  • 二分搜索树
    一、概念及其介绍二分搜索树(英语:BinarySearchTree),也称为二叉查找树、二叉搜索树、有序二叉树或排序二叉树。满足以下几个条件:若它的左子树不为空,左子树上所有节点的值都小于它的根节点。若它的右子树不为空,右子树上所有的节点的值都大于它的根节点。它的左、右子树也都......
  • 基础算法--二分查找插入位置
    给定一个有序数组如[0,1,2,3,4](从小达大排序)和一个正整数num,查找二分插入位置,使得,插入num后的数组依然有序代码如下:Java版本publicintgetInsertIndex(int[]nums,intnum){if(nums==null||nums.length==0)return0;inti=0;intj=nums.len......
  • 二分图染色 笔记
    二分图染色笔记大致思路把二分图中不能处于同一集合的点连一条边,在该边两端染上不同颜色,即0和1。若出现矛盾则说明不能成立,直接返回。例题1——封锁阳光大学https://www.luogu.com.cn/problem/P1330题目描述曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校......
  • 搞定leetcode面试经典150题之二分查找
    系列博客目录文章目录系列博客目录理论知识基本理论:算法步骤:二分查找的时间复杂度:二分查找的变种:注意事项:模板例题35.搜索插入位置74.搜索二维矩阵162.寻找峰值33.搜索旋转排序数组153.寻找旋转排序数组中的最小值34.在排序数组中查找元素的第一个和最后一个位置......