首页 > [SCOI2009]生日快乐
头像 zzugzx
发表于 2020-07-14 12:38:49
题目链接 题意:题解: AC代码 /* Author : zzugzx Lang : C++ Blog : blog.csdn.net/qq_43756519 */ #include<bits/stdc++.h> using namespace std; #de 展开全文
头像 sunrise__sunrise
发表于 2020-07-16 10:16:18
题目描述windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕。现在包括windy ,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕。windy主刀,每一切只能平行于一块蛋糕 的一边(任意一边),并且必须把这块蛋糕切成两块。这样,要切成 N 块 展开全文
头像 num73
发表于 2020-07-17 14:40:40
生日快乐题解 题解 : 这个题数据范围较小,可以直接尝试枚举所有切割情况。 题目中有要求,将蛋糕分成大小相等的n块,每一次切割的线一定与一条边平行。所以首先每一刀有两种切法,与长边平行和与短边平行。为了能够将蛋糕n等分,那么当前这一刀可以是过长边的一个n等分点并与短边平行,或过短边的一个n等分点与长 展开全文
头像 hnust_yangyanjun
发表于 2020-07-21 12:58:26
题意:将一块x*y的蛋糕切n-1刀分成n块面积相同的小蛋糕,每次切只能平行于边将一块切成二块。求N块蛋糕的长边与短边的比值的最大值最小为多少? 思路:我们发现n<=10,而且每次切只能平行于边将一块切成二块,而且每一块面积相同,所以我们可以用dfs枚举每一种切法。平行于y边切:可以切成(i * 展开全文
头像 阿里嘎多懒羊羊桑_
发表于 2020-07-14 12:32:14
牛客—— [SCOI2009]生日快乐 (dfs)原题链接:https://ac.nowcoder.com/acm/problem/20272题意: 给定一个矩形蛋糕,只能平行x轴或y轴切n-1刀得到面积相等的n块蛋糕,求n块蛋糕的长边与短边比值的最大值最小的值。 思路: 被题意迷惑以为是二分。 因 展开全文
头像 美丽雯雯
发表于 2023-08-05 10:58:48
dfs(x,y,n)表示当前切的矩形长x宽y,需要切成n块; 每次切的时候,我们可以选择在x/ni处竖切,也可以在y/ni处横切(i=1,2...n/2); 每次切后会产生两块矩形,我们可以通过这两块矩形的面积来确定接下来要将其分成多少块矩形(即新的n); #include<iostream& 展开全文
头像 hnust_zhouzisheng
发表于 2020-07-15 22:27:23
递归 数据范围较小,直接递归解决。考虑将当前蛋糕分成left块:当left==1时,返回长与宽的比值;当left>1时,若沿着当前蛋糕的某一条边切割总共有n/2种切割方法(考虑对称性),沿着长和宽总共有(n/2)*2种切割方法;对于当前蛋糕的每一种切割方法,递归考虑其切割后的两个蛋糕,得到二者 展开全文
头像 Severus.
发表于 2020-07-14 18:45:47
题目描述 windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕。现在包括windy ,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕。windy主刀,每一切只能平行于一块蛋糕 的一边(任意一边),并且必须把这块蛋糕切成两块。这样,要切成 N 展开全文
头像 Z_L_G
发表于 2025-04-13 23:25:05
题意 x*y蛋糕,切成n块等面积的,要求最大块的(长边/短边)最小 思路 对于每一块,切的时候切的位置总为当前块长度或者宽度/当前块要切成的块数,这样才能保证每一块面积相等你 也就是对于(x,y,n)横着切切的一定是x/n的倍数,并且若倍数为i,则一边应该且成i块,另一边应该切成n-i块 于是 展开全文
头像 Ray.C.L
发表于 2020-07-16 13:31:24
思路:我们用dfs去想,首先如果此时只有一个人那我们就直接返回答案,dfs(x,y,n)表示边长为x,y,切给n个人长边与短边之比最大值最小的值是多少,为了保证面积相同每次切若沿着x切必定是x/n的倍数若沿着y切必定是y/n的倍数,我们要看切完后分给多少个人,就看他当前切的是多少倍,然后我们按X,Y 展开全文