【10.30 校内普及组】【二分】【数学】 有趣的水管 题解
题目
解题思路
暴力
一开始想暴力
从输出口为k的倒序累加到2
如果累加和大于n
退出输出个数
很明显,会超时
二分
二分求mid为分离器的个数
假设每个输出口都为k
除去第一个不会占用上一个分离器的一个输出口,别的都会
所以要减去(mid-1)
输出口的个数是k,k-1,k-2…k-mid+1
减去的数是一个等差数列
求和得mid*(mid-1)/2
总式子即:midk-(mid-1)-mid(mid-1)/2
代码
using namespace std