【BZOJ 1024】 [SCOI2009]生日快乐
2024-08-31 19:25:20
【题目链接】:http://www.lydsy.com/JudgeOnline/problem.php?id=1024
【题意】
【题解】
要求恰好分成n个部分;每个部分的面积都一样;
则dfs的时候三个域分别表示矩形的长宽以及要被切成的份数;
每次切一刀下去的时候肯定是按照比例分配的;
比如要这一刀切下去(假设竖着切)之后左边还要切x刀,右边切y刀
则左边肯定要分配当前面积的x/(x+y),右边肯定要分配当前面积的y/(x+y)
因为之后每一刀你都得按比例分啊.
又只能横着切、竖着切,没有其他的变数
所以如果不按照上面的方法根本不可能切成的每个块面积都一样的。
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define rei(x) scanf("%d",&x)
#define rel(x) scanf("%lld",&x)
#define ref(x) scanf("%lf",&x)
typedef pair<int, int> pii;
typedef pair<LL, LL> pll;
const int dx[9] = { 0,1,-1,0,0,-1,-1,1,1 };
const int dy[9] = { 0,0,0,-1,1,-1,1,-1,1 };
const double pi = acos(-1.0);
const int N = 110;
int x, y, n;
void input_data()
{
rei(x), rei(y), rei(n);
}
double dfs(double x, double y, int z)
{
if (z == 1)
{
if (x < y) swap(x, y);
return x / y;
}
double tt = z;
double xx = x / tt;
double z1 = 21e8;
rep1(i, 1, z-1)
{
double t = xx*i;
double temp1 = dfs(t, y, i);
temp1 =max(temp1, dfs(x - t, y, z - i));
z1 = min(z1, temp1);
}
double yy = y / tt;
rep1(i, 1, z-1)
{
double t = yy*i;
double temp1 = dfs(x, t, i);
temp1 = max(temp1, dfs(x, y - t, z - i));
z1 = min(z1, temp1);
}
return z1;
}
int main()
{
//freopen("F:\\rush.txt", "r", stdin);
input_data();
printf("%.6f\n", dfs(x, y, n));
//printf("\n%.2lf sec \n", (double)clock() / CLOCKS_PER_SEC);
return 0;
}
最新文章
- Travis CI用来持续集成你的项目
- ASP.NET内置对象的总结
- stm32f系列单片机startup_stm32fxxx.s文件说明(转)
- [ruby on rails] 跟我学之(8)修改数据
- 第六篇 ORACLE EBS用户界面通用元素或功能背后的道理解析
- VS编译时自动下载NuGet管理的库
- P51、面试题5:从尾到头打印链表
- conda配置python混合开发环境一站式入门【全平台】
- mvc UrlHelper
- [0] 领域模型 VS 贫血模型
- IPFS的竞争对手们(一)
- git简介及使用方法
- C# DataTable,DataSet,IList,IEnumerable 互转扩展属性
- Navicat连接阿里云服务器Linux下的Mysql
- Windows Python+Eclipse环境配置
- java 属性封装
- JAVA构造方法与方法是啥意思,方法重载方法覆盖俗谈
- windows 下为Python安装redis
- OC中分类(Category)和扩展(Extension)
- NPOI datatable导出类