为什么要写这道题的DP捏?

  原因很简单,因为为原来在openjudge上有一道题叫分蛋糕,有一个思路和这道题很像:“分锅”。

  分锅:即为考虑计算当前情况的最优解时,把当前状态结果,分散为考虑当前状态的子状态最优解,从而得出当前状态的最优解;因为要得到这一答案,要枚举分配某一变量,所以可以叫这一过程为分锅。

  “分锅”这一思路不仅适用于DP,还适用于最优解搜索。

  换句话说,“分锅”这一思路适用于一切最优解的计算,所以对于任何求最优解的问题,皆可灵活用这一方法。

  所以对于这道题,就是简单的搜索家一个分锅的思想

  直接甩题目啦。。。

  Description

  windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕。现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕。 windy主刀,每一切只能平行于一块蛋糕的一边(任意一边),并且必须把这块蛋糕切成两块。这样,要切成 N 块蛋糕,windy必须切 N-1 次。为了使得每块蛋糕看起来漂亮,我们要求 N 块蛋糕的长边与短边的比值的最大值最小。你能帮助windy求出这个比值么?

  Input

  包含三个整数,X Y N。

  Output

  包含一个浮点数,保留6位小数。

  Sample Input

  5 5 5

  Sample Output

  1.800000

  HINT

  【数据规模和约定】 100%的数据,满足 1 <= X,Y <= 10000 ; 1 <= N <= 10 。

  然后就甩代码啦

  

 /**************************************************************
Problem: 1024
User: PencilWang
Language: C++
Result: Accepted
Time:12 ms
Memory:820 kb
****************************************************************/ #include<stdio.h>
#include<algorithm>
using namespace std;
int x,y,n;
double dfs(double a,double b,int d)
{
if(d==)return max(a/b,b/a);
double ans=1e30;
for(int i=;i<=d/;i++)//这个循环就是用来分锅的
{
double yy=b*i/d,xx=a*i/d;
ans=min(ans,max(dfs(xx,b,i),dfs(a-xx,b,d-i)));
ans=min(ans,max(dfs(a,yy,i),dfs(a,b-yy,d-i)));
}
return ans;
}
int main()
{
scanf("%d%d%d",&y,&x,&n);
printf("%.6lf",dfs(x,y,n));
return ;
}

值得一做》关于一道暴搜BZOJ1024(EASY+)的更多相关文章

  1. 值得一做》一道类似于货车运输的题目(BZOJ3732)(easy+)

    这是一道模板套模板的题目,只要会LCA和最小生成树就可以做,水题 直接先甩题目 Description 给你N个点的无向图 (1 <= N <= 15,000),记为:1…N. 图中有M条 ...

  2. 【BZOJ-3033】太鼓达人 欧拉图 + 暴搜

    3033: 太鼓达人 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 204  Solved: 154[Submit][Status][Discuss] ...

  3. c++20701除法(刘汝佳1、2册第七章,暴搜解决)

    20701除法 难度级别: B: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述     输入正整数n,按从小到大的顺序输出所有 ...

  4. Sicily1317-Sudoku-位运算暴搜

    最终代码地址:https://github.com/laiy/Datastructure-Algorithm/blob/master/sicily/1317.c 这题博主刷了1天,不是为了做出来,AC ...

  5. suoi62 网友跳 (暴搜+dp)

    传送门 sbw太神啦orz 首先N<=20可以直接暴搜 然后玄学剪枝可以过18个点 那么N<=40的时候,就把它拆成两半分别暴搜,再用dp拼起来 对于前半段,设f[i][j]是开始高度为i ...

  6. bzoj1016/luogu4208 最小生成树计数 (kruskal+暴搜)

    由于有相同权值的边不超过10条的限制,所以可以暴搜 先做一遍kruskal,记录下来每个权值的边使用的数量(可以离散化一下) 可以证明,对于每个权值,所有的最小生成树中选择的数量是一样的.而且它们连成 ...

  7. 值得一做》关于双标记线段树两三事BZOJ 1798 (NORMAL-)

    这是一道双标记线段树的题,很让人很好的预习/学习/复习线段树,我不知道它能让别人学习什么,反正让我对线段树的了解更加深刻. 题目没什么好讲的,程序也没什么好讲的,所以也没有什么题解,但是值得一做 给出 ...

  8. hdu 5952 Counting Cliques 求图中指定大小的团的个数 暴搜

    题目链接 题意 给定一个\(n个点,m条边\)的无向图,找出其中大小为\(s\)的完全图个数\((n\leq 100,m\leq 1000,s\leq 10)\). 思路 暴搜. 搜索的时候判断要加进 ...

  9. 紫书 习题 10-25 UVa 1575 (有重复元素的全排列+暴搜)

    我一开始以为有什么很牛逼的方法来做,然后一直没有思路 后来看了https://blog.csdn.net/zju2016/article/details/78562932的博客 竟然是暴搜?????? ...

随机推荐

  1. 性能指标术语&理发店模型

    2015-11-26 09:13:53 响应时间 响应时间=呈现时间+系统响应时间 呈现时间取决于数据在被客户端收后到呈现出页面所消耗的时间: 系统响应时间指应用系统从请求发出开始到客户端接收到数据所 ...

  2. Docker生态不会重蹈Hadoop的覆辙

    本文原作者是晏东(精灵云Ghostcould创始人),在读到<Docker生态会重蹈Hadoop的覆辙吗?>文章后的个人思考,里面的不少观点也是很不错的. 1.形态上的差异 2013年的时 ...

  3. oracle之 12.1.0.1.0 C 在 linux 7 上安装报错处理

    环境说明:-- os[root@host-172-16-3-132 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) - ...

  4. Top Android App使用的组件

    唱吧_462 smack:de.measite.smack:??? ???:org.apache:??? smack:org.jivesoftware.smack:XMPP客户端类库 dnsjava: ...

  5. struts2学习(3)struts2核心知识II

    一.struts.xml配置: 1.分模块配置方法: 比如某个系统多个模块,我们把资产管理模块和车辆管理模块,分开,在总的struts.xml配置文件中include他们: 工程结构: struts. ...

  6. Cassandra Wiki Login JmxSecurity

    JmxSecurity 监控和管理Cassandra

  7. 网络异常时抓包操作说明tcpdump+Wireshark

    转债至 https://help.aliyun.com/knowledge_detail/40564.html?spm=5176.11065259.1996646101.searchclickresu ...

  8. 如何搭建struts2框架

    一.首先,下载5个Struts2核心jar包: commons-logging-1.1.1.jar freemarker-2.3.15.jar ognl-2.7.3.jar struts2-core- ...

  9. soap,socket

    Socket 接口是访问 Internet 使用得最广泛的方法. 如果你有一台刚配好TCP/IP协议的主机,其IP地址是202.120.127.201, 此时在另一台主机或同一台主机上执行ftp 20 ...

  10. Linux学习笔记 - Shell 控制语句

    if 语句 语法: #!/bin/bash a= b= if [ $a -eq $b ] then echo "a 等于 b" elif [ $a -gt $b ] then ec ...