BZOJ 1024 SCOI 2009 生日快乐 深搜
题目大意:有一块蛋糕,长为X,宽为Y。如今有n个人来分这块蛋糕,还要保证每一个人分的蛋糕的面积相等。求一种分法,使得全部的蛋糕的长边与短边的比值的最大值最小。
思路:刚拿到这个题并没有什么思路。可是定睛一看。(n <= 10),额。。能够乱搞了。。。
直接爆搜就能够水过。传三个參数,代表当前的长和宽,还有当前块须要被分成几块,然后随便乱搞就能够水过了。。
CODE:
#include <cstdio>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std; int X,Y,cnt; double DFS(double x,double y,int step); int main()
{
cin >> X >> Y >> cnt;
cout << fixed << setprecision(6) << DFS(X,Y,cnt) << endl;
return 0;
} double DFS(double x,double y,int step)
{
if(step == 1) {
if(x < y) swap(x,y);
return x / y;
}
double _x = x / step,re = 10000.0;
for(int i = 1;i < step; ++i) {
double temp = DFS(_x * i,y,i);
temp = max(temp,DFS(x - _x * i,y,step - i));
re = min(re,temp);
}
double _y = y / step;
for(int i = 1;i < step; ++i) {
double temp = DFS(x,_y * i,i);
temp = max(temp,DFS(x,y - _y * i,step - i));
re = min(re,temp);
}
return re;
}
BZOJ 1024 SCOI 2009 生日快乐 深搜的更多相关文章
- bzoj 1024 [ SCOI 2009 ] 生日快乐 —— 递归
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1024 因为每次把一块切成两块,所以可以枚举从哪里切开,然后递归求解: 一开始用了不太对的贪心 ...
- bzoj 1085骑士精神 迭代深搜
题目传送门 题目大意:给出一幅棋盘,问能否复原,中文题面,不做解释. 思路:第一次写迭代深搜的题目,这道题还是挺经典的.这道题的状态很明显的每多搜一层就是多八倍,非常的多,而且又是t组输入,所以必定有 ...
- [BZOJ 1026] [SCOI 2009] Windy数 【数位DP】
题目链接:BZOJ - 1026 题目分析 这道题是一道数位DP的基础题,对于完全不会数位DP的我来说也是难题.. 对于询问 [a,b] 的区间的答案,我们对询问进行差分,求 [0,b] - [0,a ...
- [SCOI 2009] 生日快乐
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1024 [算法] 直接DFS,即可 [代码] #include<bits/std ...
- 【BZOJ 1024】 [SCOI2009]生日快乐
[题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1024 [题意] [题解] 要求恰好分成n个部分;每个部分的面积都一样; 则dfs的时候 ...
- [BZOJ 1297][SCOI 2009]迷路(矩阵快速幂)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1297 分析:如果每条边的边权都是1,那么就相当于对邻接矩阵自乘T次(因为写一下递推式子 ...
- bzoj 1024 暴力深搜
我们直接暴力的深搜怎么切就行了, 每一刀切的方案只有横着和竖着,横竖又分在几等分点切, 因为要保证每个人的面积相同,所以比较好处理了,第几个几等分点就 分给这边几刀. /*************** ...
- 【BZOJ】1016: [JSOI2008]最小生成树计数 深搜+并查集
最小生成树计数 Description 现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树中至少有一条边不同,则这两个最小 ...
- Bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐 深搜,bitset
1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 554 Solved: 346[ ...
随机推荐
- MySQL_数据分页查询(limit用法)
取前5条数据 select * from table_name limit 0,5 或 select * from table_name limit 5 取第11条到第15条数据,共5条 select ...
- 静态查找_Search
#include <stdio.h> #define MAXSIZE 50 #define OK 1 #define ERROR 0 int F[MAXSIZE];//斐波那契数列 int ...
- poj 1887 Testing the CATCHER_最长上升子序列
题意:题目太长没看,直接看输入输出猜出是最长下降子序列 用了以前的代码直接a了,做法类似贪心,把最小的顺序数存在数组里面,每次二分更新数组得出最长上升子序列 #include<iostream& ...
- [week1]每周总结与工作计划
实在不想说这句俗话,因为实在太俗了.但是俗话说,“吾日三省吾身”,我虽然难以做到每天反省那么多次,但是每周来一次就很不错了.于是我决定: 从这周开始准备每周都写每周总结与工作计划. 很好,就这样说定了 ...
- ORACLE数据库存储结构简介(转)
首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内部的组织和管理数据的方式. 物理存储结构:o ...
- UINavigationController和UITabBarController合用
一.创建一个 Tabbed Application.默认创建的是带有两个Tab的工程. 二.在AppDelegate.h里面添加 @property (strong, nonatomic) UINav ...
- Ubuntu packages multi-architectures
Show current machine architecture dpkg --print-architecture It's built-in to the currently installed ...
- Git教程--Git分支管理
分支管理--原理分析 在前面讲到的版本回退里,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.只有一条时间线的这条分支称为master,HEAD严格来说不是指向提交,而是指向maste ...
- java中关于窗体居中显示问题
最近在学着用java写qq聊天程序,首先是登录和聊天界面,书上没有给出居中显示,通过上网查找知道有两种方案 先说第一种方法,也是以前用的方法 /获得屏幕大小Dimension screenSize = ...
- js 保留两位小数
1. 最笨的办法....... function get() { var s = 22.127456 + ""; var str = s.substring(0,s.indexOf ...