• 值得一做》关于一道暴搜BZOJ1024(EASY+)


      为什么要写这道题的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 。

      然后就甩代码啦

      

     1 /**************************************************************
     2     Problem: 1024
     3     User: PencilWang
     4     Language: C++
     5     Result: Accepted
     6     Time:12 ms
     7     Memory:820 kb
     8 ****************************************************************/
     9  
    10 #include<stdio.h>
    11 #include<algorithm>
    12 using namespace std;
    13 int x,y,n;
    14 double dfs(double a,double b,int d)
    15 {
    16     if(d==1)return max(a/b,b/a);
    17     double ans=1e30;
    18     for(int i=1;i<=d/2;i++)//这个循环就是用来分锅的
    19     {
    20         double yy=b*i/d,xx=a*i/d;
    21         ans=min(ans,max(dfs(xx,b,i),dfs(a-xx,b,d-i)));
    22         ans=min(ans,max(dfs(a,yy,i),dfs(a,b-yy,d-i)));
    23     }
    24     return ans;
    25 }
    26 int main()
    27 {
    28     scanf("%d%d%d",&y,&x,&n);
    29     printf("%.6lf",dfs(x,y,n));
    30     return 0;
    31 }
  • 相关阅读:
    手机传感器大科普:手机中的陀螺仪、加速器和磁力计
    安卓新导入工程中gen目录下无R文件解决方法
    自写的 c# 锚点,前端显示 读书 记事本(一)
    update access 不能更新
    NHibenate初学资源推荐(切肤之痛)
    ASP.NET页面刷新和定时跳转
    c#(或vb.net)程序改进 (转载)
    感恩节的一天
    了解自己以及明白牛人会找什么样的人创业
    从别人如何读简历 看我们该如何成长
  • 原文地址:https://www.cnblogs.com/PencilWang/p/5970623.html
Copyright © 2020-2023  润新知