【BZOJ 1024】 [SCOI2009]生日快乐】的更多相关文章

1024: [SCOI2009]生日快乐 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=1024 Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕.现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕. windy主刀,每一切只能平行于一块蛋糕的一边(任意一边…
1024: [SCOI2009]生日快乐 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3025  Solved: 2201[Submit][Status][Discuss] Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕.现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕.windy主刀,每一切只能平行于一块蛋糕的一边(任意一边),并且必须把这…
Description 将一个 \(x\times y\) 的矩形分成 \(n\) 块,让最长边:最短边 最小. Sol 搜索. \(n\) 只有 \(10\) 写一个类似于记搜的东西就好了. Code /************************************************************** Problem: 1024 User: BeiYu Language: C++ Result: Accepted Time:220 ms Memory:1288 kb…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1024 可以枚举这边放多少块.那边放多少块. 注意精度.不要每次用x*y/base算有多少块,传参较好. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define db double using namespace std; ; ; db n,x,y…
题目链接 搜索,枚举切的n-1刀. 对于长n宽m要切x刀,可以划分为若干个 长n'宽m'要切x'刀 的子问题,对所有子问题的答案取max 对所有子问题的方案取min 就是当前状态答案. 这显然是会有很多重复状态的,用map记忆化(长宽都是double). 每一刀会将当前分成两份.比如当前是横着切,枚举上边再切i刀(分成i+1份)(下边就再切x-1-i刀),由m不变,有 \(n'*m=n*m*(i+1)/(x+1)\),可以得到n'.同理可以得到每种切法的n',m'. double可以用pair<…
思路:eng...按照题意搜就好了 (一定要注意题面的n<=10--) 枚举断点...反正n<=10不怂 //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; int n,m,k; double ans=0x3fffffff,area; double dfs(double x,double y,int remain){ if(remain==1)return max(x/y,…
1024: [SCOI2009]生日快乐 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1729  Solved: 1219[Submit][Status][Discuss] Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕.现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕. windy主刀,每一切只能平行于一块蛋糕的一边(任意一边),并且必须把…
http://www.lydsy.com/JudgeOnline/problem.php?id=1024 果然现在弱到连搜索都不会了么..... 一直想二分...但是无论如何也推不出怎么划分... QAQ 然后暴力搜索每一次割的时候左边右边各有几块或者上边下边各有几块就行了QAQ #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostr…
Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕.现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕. windy主刀,每一切只能平行于一块蛋糕的一边(任意一边),并且必须把这块蛋糕切成两块.这样,要切成 N 块蛋糕,windy必须切 N-1 次.为了使得每块蛋糕看起来漂亮,我们要求 N 块蛋糕的长边与短边的比值的最大值最小.你能帮助windy求出这个比值么?Input 包含三个整数,X Y N…
暴力题,N<=10,没注意到平均分,读题真是.. 我们对于一个矩形分成两块进行搜.然后求较大值. ans=min(ans,max(dfs(x,y/n*i,i),dfs(x,y/n*(n-i),n-i): 就是分成两块,分别递归的样子. #include<stdio.h> #include<algorithm> #include<string.h> #include<math.h> #include<iostream> using names…