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

做网站卖广告百度关键词查询网站

做网站卖广告,百度关键词查询网站,中铁建设门户网登录咋进不去了,网站友情链接怎么做题目 题目链接 自己没看题解写的,摸石头过河,解释一下 首先,输入输出都是正整数。先搞定输入,再判断条件,如果无解,输出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.mnyf.cn/news/35817.html

相关文章:

  • 农产品十大交易平台seo排名关键词搜索结果
  • 网站文件大小百度搜索网站
  • 合肥建设网络赌博网站最新国际新闻事件今天
  • 网站建设与维护选择题营销培训课程视频
  • 口碑好的o2o网站建设成都seo优化推广
  • wordpress第三方用户系统优化深圳seo
  • 好友介绍网站怎么做优秀企业网站欣赏
  • 没有域名能做网站吗百度云网页版入口
  • 移动网站建设商关键词查找的方法有以下几种
  • 郑州网站推广效果软件培训班
  • 建筑网校哪个比较好seo广州工作好吗
  • 如何做公司自己的网站首页广州seo推广营销
  • 网站扫码怎么做的搜索引擎广告案例
  • 网站建站制作价格安装百度一下
  • 网站展示新榜数据平台
  • 做同城购物网站赚钱吗网络营销推广技术
  • dreamweaver网站建设大赛方案品牌推广的作用
  • 赣州网站制作找哪家好百度seo优化招聘
  • 郑州网站建设兼职seoul
  • 网络营销的网站建设报告游戏如何在网上推广
  • 枣阳做网站网络推广需要多少费用
  • 做网站上海公司广州关键词排名推广
  • wordpress 合法评论seoul是什么品牌
  • 商城网站建设设计介绍怎样设计一个网页
  • 股票网站排名哪个好做引流推广的平台600
  • 百度云做网站百度识图找原图
  • 深圳做营销网站公司哪家好国外媒体报道
  • 手机app设计网站今日新闻摘抄十条简短
  • 网站不备案支付宝接口关键词seo如何优化
  • 精美网页赏析徐州seo网站推广