【解题思路】

  爆搜,状态f(r,x,y)表示剩下r刀,边长为x和y,对于每个状态枚举切成两块后的长度比或宽度比。复杂度o((n/2)n)。

【参考代码】

 #include <algorithm>
#include <cstdio>
#define REP(I,start,end) for(int I=(start);I<=(end);I++)
#define PER(I,start,end) for(int I=(start);I>=(end);I--)
#define REPs(I,start,end,step) for(int I=(start);I<=(end);I+=(step))
#define PERs(I,start,end,step) for(int I=(start);I>=(end);I-=(step))
#define maxint 32767
#define maxlongint 2147483647
#define maxint64 9223372036854775807ll
using namespace std;
typedef unsigned short US;
typedef unsigned long UL;
typedef long long LL;
typedef unsigned long long ULL;
inline int getint()
{
char ch=getchar();
while((ch<''||ch>'')&&ch!='-')
ch=getchar();
int result=;
bool impositive=ch=='-';
if(impositive)
ch=getchar();
while(ch>=''&&ch<='')
{
result=(result<<)+(result<<)+ch-'';
ch=getchar();
}
return impositive?-result:result;
}
inline int putint(int n)
{
int result=;
char* sav=new char[];
bool impositive=n<;
if(impositive)
{
putchar('-');
n=-n;
}
sav[]=n%+'';
while(n/=)
sav[result++]=n%+'';
PER(i,result-,)
putchar(sav[i]);
delete []sav;
return result+impositive;
}
inline LL getLL()
{
char ch=getchar();
while((ch<''||ch>'')&&ch!='-')
ch=getchar();
LL result=0ll;
bool impositive=ch=='-';
if(impositive)
ch=getchar();
while(ch>=''&&ch<='')
{
result=(result<<)+(result<<)+ch-'';
ch=getchar();
}
return impositive?-result:result;
}
inline int putLL(LL n)
{
int result=;
char* sav=new char[];
bool impositive=n<;
if(impositive)
{
putchar('-');
n=-n;
}
sav[]=n%+'';
while(n/=)
sav[result++]=n%+'';
PER(i,result-,)
putchar(sav[i]);
delete []sav;
return result+impositive;
}
template<typename integer> inline int read_int(integer &n)
{
char ch=getchar();
while((ch<''||ch>'')&&ch!='-')
ch=getchar();
int result=n=integer();
bool impositive=ch=='-';
if(impositive)
ch=getchar();
while(ch>=''&&ch<='')
{
n=(n<<)+(n<<)+integer(ch-'');
result++;
ch=getchar();
}
if(impositive)
{
n=-n;
result++;
}
return result;
}
template<typename integer> inline int write_int(integer n)
{
int result=;
char* sav=new char[];
bool impositive=n<;
if(impositive)
{
putchar('-');
n=-n;
}
sav[]=n%+'';
while(n/=)
sav[result++]=n%+'';
PER(i,result-,)
putchar(sav[i]);
delete []sav;
return result+impositive;
}
template<typename T> inline bool getmin(T &target,T pattern)
{
bool can=pattern<target;
if(can)
target=pattern;
return can;
}
template<typename T> inline bool getmax(T &target,T pattern)
{
bool can=pattern>target;
if(can)
target=pattern;
return can;
}
//==========================================Header Template================================================
#include <iomanip>
#include <iostream>
double DFS(int rest,double _x,double _y)
{
if(rest==)
return _x>_y?_x/_y:_y/_x;
double result=maxlongint;
REP(i,,rest>>)
{
long double x0=_x/rest,y0=_y/rest,_r=rest-i;
getmin(result,min(max(DFS(i,x0*i,_y),DFS(_r,x0*_r,_y)),max(DFS(i,_x,y0*i),DFS(_r,_x,y0*_r))));
}
return result;
}
int main()
{
int x=getint(),y=getint(),n=getint();
cout<<setiosflags(ios::fixed)<<setprecision()<<DFS(n,x,y)<<endl;
return ;
}

bzoj1024题解的更多相关文章

  1. 【BZOJ1024】[SCOI2009]生日快乐(搜索)

    [BZOJ1024][SCOI2009]生日快乐(搜索) 题面 BZOJ 洛谷 题解 看到这个数据范围就感觉是爆搜.我们爆搜左右分成多少块,这样子左右的面积已知,再枚举一下横着切还是竖着切,这样子就可 ...

  2. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  3. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  4. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  5. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  6. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  7. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  8. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  9. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

随机推荐

  1. 关于_getattr_方法的一些理解

    在学习rest framework的过程中,rest framework的request是经过重构的,但是如果调用重构对象request中的属性,如果属性不存在会调用原request对象中的属性,它使 ...

  2. 【转】 MySQL主从(Master-Slave)复制

    首先声明:此文是在失去U盘极度郁闷的时候写的,有些零散,估计也有错误.欢迎大家指出 MYSQL服务器复制配置   这是根据我之前看的MYSQL复制的文档然后自己亲自实验的过程.配置的功能比较简单. 环 ...

  3. 管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区

    一.硬盘分区及格式化 问题: 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区: 1> 采用默认的 msdos 分区模式        2> ...

  4. leyou_04_使用vue.js搭建页面—使用ajax完成品牌的查询

    1.使用vue.js搭建页面 1.1使用的模板插件Vuetify 中文UI组件官网:https://vuetifyjs.com/zh-Hans/getting-started/quick-start ...

  5. python:列表、元组和字典

    1.1.特点:   任意对象的有序集合   通过偏移量读取   可变长度,异构以及任意嵌套   属于可变序列的分类   对象引用数组:当把一个对象赋给一个数据结构元素或变量名时,python总会存储对 ...

  6. SDOI2017 树点染色

    \[SDOI2017 树点染色\] 题目描述 Bob 有一棵 $ n $ 个点的有根树,其中 $ 1 $ 号点是根节点.Bob 在每个节点上涂了颜色,并且每个点上的颜色不同. 定义一条路径的权值是,这 ...

  7. 杂项-Conda:Conda

    ylbtech-杂项-Conda:Conda 1.返回顶部 1. Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换.   外文名:Con ...

  8. SpringBoot项目框架下ThreadPoolExecutor线程池+Queue缓冲队列实现高并发中进行下单业务

    主要是自己在项目中(中小型项目) 有支付下单业务(只是办理VIP,没有涉及到商品库存),目前用户量还没有上来,目前没有出现问题,但是想到如果用户量变大,下单并发量变大,可能会出现一系列的问题,趁着空闲 ...

  9. myeclipse 启动卡住的解决办法

    myeclipse 启动卡住的解决办法 今天启动myeclipse突然卡住,CPU一直占用,启动任务管理器强制关闭.重启myeclipse,重启电脑都不能够解决. 上网查找,在工程路径(工作空间的路径 ...

  10. on() 不支持hover事件

    因为 .hover() 是 jQuery 自己定义的事件… 是为了方便用户绑定调用 mouseenter 和 mouseleave 事件而已,它并非一个真正的事件,所以当然不能当做 .bind() 中 ...