二分思想不仅仅用于二分查找哦,本题感觉难在理解题意。需要注意的是,饼的所以饼的体积取值应该是0到max间任意值,因为蛋糕不能拼凑可以多余,深入的想想就知道分到蛋糕最大的情况应该是找到一个极值,然后部分蛋糕根本不需要用上,部分蛋糕会有多余。想到这个后这个体积极值就顺利成章要用二分求了,因为没有具体的元素个数,耿直的顺序查找来求极值的方法用不了的。 我一开始是想枚举所有将蛋糕完整分给每个人的情况,相信大多数同志也是跳的这个坑,这样做其实是不会比正确解法分得的蛋糕多的,相信你对比下就知道了。
#include <iostream>
#include <stdio.h>
#include<math.h>
#define pi acos(-1.0)//准确定义Π的值
using namespace std;
/*思路是对0到max二分查找,根据大小算人数,人数与f+1比较后改变查找边界
因为蛋糕不能拼凑可以多余,所以饼的体积取值应该是0到max间任意值,一开始我没有注意到这点。。
所以不能枚举要二分查找逼近那个值
*/
int main()
{
int n,t