POJ - 1190 生日蛋糕 dfs+剪枝】的更多相关文章

思路:说一下最重要的剪枝,如果当前已经使用了v的体积,为了让剩下的表面积最小,最好的办法就是让R尽量大,因为V = πR 2H,A' = 2πRH,A' = V / R * 2 ,最大的R一定是取当前的r,所以得到剩下最小表面积就是(n-v)/r*2,如果(n-v)/r*2 + s >= ans,ans是当前得到的最小表面积,直接剪枝. AC代码 #include <cstdio> #include <cmath> #include <cctype> #inclu…
题意: 制作一个体积为Nπ(N<=10000)的M(M<=20)层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱. 当i < M时.要求Ri > Ri+1且Hi > Hi+1. 因为要在蛋糕上抹奶油.为尽可能节约经费.我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小.  令Q = Sπ  请编程对给出的N和M,找出蛋糕的制作方案(适当的Ri和Hi的值),使S最小. (除Q外,以上全部数据皆为正…
题目传送门:http://poj.org/problem?id=1190 参考剪枝:https://blog.csdn.net/nvfumayx/article/details/6653111 生日蛋糕 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23038   Accepted: 8211 Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. …
生日蛋糕 Time Limit: 1000MSMemory Limit: 10000KB64bit IO Format: %I64d & %I64u Submit Status Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体.设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当i < M时,要求Ri > Ri+1且Hi > Hi+1.由于要在蛋糕上抹奶油,为尽…
7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当i < M时,要求Ri > Ri+1且Hi > Hi+1. 由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小. 令Q = Sπ 请编程对给出的N和M,找出蛋糕的制作方案(适当的Ri和Hi的值),使S最小. (除Q外,以上所有数据皆为正整数) In…
Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当i < M时,要求Ri > Ri+1且Hi > Hi+1. 由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小. 令Q = Sπ 请编程对给出的N和M,找出蛋糕的制作方案(适当的Ri和Hi的值),使S最小. (除Q外,以上所…
题目地址:http://poj.org/problem?id=1190 一道很有趣的搜索题--主要是剪枝-- 我弄了5个剪枝: 1.当前剩余层数>=上层半径,剪掉 2.当前剩余层数>=上层高度,剪掉 3.体积<1,剪掉 4.体积<当前可能的最小体积(我用等差数列求和公式算的--也不知道对不对) 5.神奇剪枝网上看的,当前(剩余体积*2)/上层半径+当前表面积总和>当前搜出的最优解,剪掉 代码很简单,20行 1 #include <iostream> 2 #incl…
生日蛋糕 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18236   Accepted: 6497 Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当i < M时,要求Ri > Ri+1且Hi > Hi+1. 由于要在蛋糕上抹奶油,为尽可能…
知道是数独问题后犹豫了一下要不要做(好像很难的样纸==.),用dfs并剪枝,是一道挺规范的搜索题. 先介绍以下数独吧- 数独(Sudoku)是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格 的数字,并满足每一行.每一列.每一个粗线宫内的数字均含1-9,不重复. 每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的. 有一种求解数独问题的方案是“候选数字法”,就是在待填充的格子中填写不会造成行重复.列重复.块重复的…
典型的深搜+剪枝策略 我们采用可行性剪枝.上下界剪枝.优化搜索顺序剪枝.最优性剪枝的方面来帮助我们进行剪枝. 也许有人还不知道剪枝,那我就弱弱地为大家补习一下吧qwq: .优化搜索顺序: 在一些搜索问题中,搜索树的各个层次.各个分支之间的顺序是不固定的.不同的搜索顺序会产生不同的搜索树形态,其规模大小也相差甚远.因此,我们可以采用排序.更改等手段来优化时间或者空间上的复杂度,借此来优化我们的程序. .排除等效冗余 在搜索过程中,如果我们能够判定从搜索树的当前节点沿着某几条不同的分支到达的子树是等…