当前位置: 首页 > news >正文

昆明网站设计电话培训班的ui设计

昆明网站设计电话,培训班的ui设计,win2012 iis 新建网站,网赌怎么推广拉客户题目 题目链接 自己没看题解写的,摸石头过河,解释一下 首先,输入输出都是正整数。先搞定输入,再判断条件,如果无解,输出0,否则输出蛋糕外表面面积Q(这里用全局变量,开l…

题目

题目链接

自己没看题解写的,摸石头过河,解释一下

首先,输入输出都是正整数。先搞定输入,再判断条件,如果无解,输出0,否则输出蛋糕外表面面积Q(这里用全局变量,开long long)。

然后写dfs函数,函数形参先写了一个layer, r, h。这些数据是需要递归时传入的,在每一次的搜索中,r,h都会变。

先写结束条件,搜索层数layer与输入层数m相同时,return结束。后来写着写着又在形参加了两个变量,一个是奶油面积total_CreamArea(蛋糕外表面面积),一个是搜索中的总体积。结束条件中另外再加一个判断就是当总体积totalvolume = n时,取Q和奶油面积total_CreamArea的最小值来更新Q的值

写到这里就有问题了,遇到瓶颈。这个r,h的范围是多少呢?

#include <bits/stdc++.h>
using namespace std;int n, m; //蛋糕体积,层数
long long Q = 9e10;void dfs(int layer, int r, int h,int total_CreamArea, int totalvolume)
{if(layer == m) //层数 = 输入层数{if(totalvolume == n)Q = min(Q, total_CreamArea);return; //结束dfs}//for(int i = r; i>=0; i--)int newArea = total_CreamArea + 2*r*h; //加上侧面积,底面积就是第一层的大圆面积int newVolume = totalvolume + r*r*h; //加上新一层的体积dfs(layer+1, r, h, newArea, newVolume);
}int main()
{cin>>n>>m;dfs(1, )if(Q == 9e10)cout << 0 << endl;elsecout << minvolume << endl;
}

后来看了视频,还有罗老师的博客,才知道原来是这样确定r, h的范围的。当然剪枝也是不能少的,没有剪枝就会超时。

我是推不出来这个条件:2(n−v)/r+s≥ans,测试过没有这个条件也有70分!


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_43914593/article/details/135489983

【AC参考代码】

#include <bits/stdc++.h>
using namespace std;int n, m; //蛋糕体积,层数
int Q = 9e8;
int minVolume[16], minArea[16]; //用于剪枝void dfs(int layer, int r, int h,int total_CreamArea, int totalvolume)
{if(layer == 0) //层数 = 输入层数{if(totalvolume == n)Q = min(Q, total_CreamArea);return; //结束dfs}if(minVolume[layer] + totalvolume > n || totalvolume > n) //体积大于输入值return;if(total_CreamArea + minArea[layer] >= Q) //面积比最小面积还要大,舍去return;if(2*(n - totalvolume)/r + total_CreamArea >= Q) //2(n−v)/r+s≥ansreturn;for(int newR = min(r-1, (int)(sqrt(n-totalvolume)) ); newR >= layer; newR--){if(layer == m) //上表面积,从上往下看就是一个圆total_CreamArea = newR * newR;//体积公式求hfor(int newH = min(h-1, (n-totalvolume)/(newR * newR) ); newH >= layer; newH--){int newArea = total_CreamArea + 2*newR*newH; //加上侧面积,底面积就是第一层的大圆面积int newVolume = totalvolume + newR*newR*newH; //加上新一层的体积dfs(layer-1, newR, newH, newArea, newVolume);}}}int main()
{cin>>n>>m;for(int i=1;i<=m;i++){minVolume[i] = minVolume[i-1] + i*i*i; //R^3minArea[i] = minArea[i-1] + 2*i*i; //2*R^2}dfs(m, 9e8, 9e8, 0, 0);if(Q == 9e8)cout << 0 << endl;elsecout << Q << endl;
}

看视频吧,视频肯定比我讲得清楚。视频链接:【B24 DFS剪枝 生日蛋糕】

http://www.yayakq.cn/news/963447/

相关文章:

  • 高端大气上档次的网站模板云南网站建设小程序开发
  • 化妆品网站推广策划书拓者设计吧官网图片
  • wordpress和站点wordpress反向代理 谷歌
  • 广州住房和城乡建设厅网站首页图片转换成网址链接
  • 网站页面需求wordpress enki
  • 腾讯公司做的购物网站查询公司
  • 学校网站建设市场wordpress 建站简单吗
  • 河北网站建设方案商标设计网上接单 平台
  • flashfxp上传多个网站产品系统设计案例
  • 做视频网站用什么好怀化举报网站
  • 离退休工作网站建设方案免费咨询贷款
  • 网站设计师工作室微信小号自助购买网站
  • 珠海建网站公司织梦网站如何做二级导航栏
  • 门户网站建设管理工作自查报告百度的广告策略
  • 做易购网站电商创业需要多少资金
  • 建设网站要多久的时间音乐播放器网站怎么做
  • 沈阳cms模板建站烟台快速建站公司
  • 男男做h的视频网站西安快速排名优化
  • 产品网站建设公司网站改版注意事项
  • 甘州区住房和城乡建设局网站wordpress广告调用代码
  • 苏州市城乡建设档案馆网站wordpress文章图片缩放
  • dw建设网站的代码模板下载建设通是什么网站
  • 微商城系统网站模板广东省建设厅网站怎么查询证件
  • 推荐几个安全没封的网站营销活动策划公司
  • 贵阳网站建设是什么意思企业网站最重要的访问对象是
  • 搭建网站挣钱网站服务器租赁你的知识宝库
  • 云南省建设网站响应式h5网站多少钱
  • 医疗类网站源码怎么弄公司网站
  • 中国建设银行网站登录wordpress关注插件
  • 网站的策划和建设黄山建设网站公司电话号码