每日一题--Tokitsukaze and Colorful Chessboard【二分】

题目


解题思路

今天这道题还算简单,看一遍大概就有思路,读一遍题后大致能想出来是一个区间查找问题,最适合用二分去做,这道题恰好适合学习了二分的基础的小伙伴来练手,

肯定是每个相隔一个放棋子能最大化利用空间,这样能在满足条件的基础上最大包容的其中一种棋子数量是(nn+1)/2(向上取整)
那么这道题就是在满足**n
n>=a+b**,且**(n*n+1)/2>=max(a,b)**,首先a,b范围0~1000000000,那么至少边长为50001的方格能放得下a+b,我们用二分答案来做,范围也就出来了,利用模版一找最小值n.

二分不熟悉的小伙伴请看这篇:二分查找&二分答案【模板+例题】带你精通二分!

代码实现

cpp 复制代码
void solve()
{
	int a,b;cin>>a>>b;
	int mx=max(x,y);
	int l=1,r=50005;
	while(l<r)
	{
		int mid=l+r>>1;
		if(mid*mid>=a+b&&(mid*mid+1)/2>=mx)r=mid;
		else l=mid+1;
	}
	cout<<l<<endl;
}
相关推荐
m0_639906945 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
Sakura_j_h_6 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
ZhengEnCi6 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
程序喵大人7 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
秋天的怀念_David7 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Pniubi7 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
hhb_6188 小时前
大模型落地三重优化实战
人工智能·算法·机器学习
云和数据.ChenGuang8 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
jimy19 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
2601_970703839 小时前
工业除湿机租赁:把一份租金合同拆开看
大数据·数据结构·算法·数据库架构·推荐算法