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

阿里网站如何做接入网站建设必要步骤

阿里网站如何做接入,网站建设必要步骤,汕头做网站公司,服务器搭建网站域名配置题目链接:Sticks 题目描述: 小明一开始有一些长度相等的木棍,小明现在将木棍砍成了一些长度为整数的木棍,他现在忘记了最开始木棍的长度,你需要找到最短的可能木棍长度,例如给定5,2,1,5,2,1,5,2,15,2,1,5,2…

题目链接:Sticks
题目描述:

小明一开始有一些长度相等的木棍,小明现在将木棍砍成了一些长度为整数的木棍,他现在忘记了最开始木棍的长度,你需要找到最短的可能木棍长度,例如给定5,2,1,5,2,1,5,2,15,2,1,5,2,1,5,2,15,2,1,5,2,1,5,2,1那么这些木棍可以是由一根长度为242424的木棍砍出来的,但是也可以是两根长度为121212的木棍砍出来,也可以是三根长度为888的木棍看出,也可以是444根长度为666的木棍砍出来。其中666是长度最短的,你需要输出666

题解:

由于本题的初始有几根木棍我们并不确定,我们实际上可以倒序枚举初始的木棍数量(从nnn开始,因为初始木棍的数量越多,木棍的长度也短),然后依次搜索所有情况,这就是一个倒序的IDIDID算法(通常IDIDID都是正着枚举)。
本题的难点在于如何进行搜索。枚举了初始的木棍数量之后,我们就知道了初始的每一根木棍的长度,也就是木棍的长度和除以初始木棍的数量,我们可以将木棍的长度进行排序,我们每次选择木棍进行组合的时候,我们优先处理长度更长的木棍,尝试将其拼接在当前的木棍上,如果长度大于了初始木棍的长度我们可以继续选择稍小的木棍进行处理,如果刚好等于初始木棍的长度,那么我们一定是选择其与当前的木棍进行组合,而不是选择几根更短的木棍进行组合,这是因为如果选择几根更短的木棍,那么剩余木棍的灵活性就会降低,而我们选择这一根木棍进行组合,剩下的木棍有着更多的组合可能性,这也就表明了如果选择一根进行拼接刚好等于初始长度的时候,如果搜索失败即使选择更短的木棍也会搜索失败。

代码:

#include <bits/stdc++.h>using namespace std;int n, maxDepth, sum;
vector<int> len;
bool *used;bool dfs(int nowDepth, int nowLen, int pos)
{if (nowDepth == maxDepth) { return true; }for (int i = pos; i >= 0; i--) {if (used[i]) { continue; }if (nowLen + len[i] < sum / maxDepth) {used[i] = true;if (dfs(nowDepth, nowLen + len[i], i - 1)) { return true; }used[i] = false;while (i - 1 >= 0 && len[i - 1] == len[i]) { i--; } // 相同长度此时一定会失败} else if (nowLen + len[i] == sum / maxDepth) {used[i] = true;if (dfs(nowDepth + 1, 0, n - 1)) { return true; }used[i] = false;return false; // 没有必要选择更短的,因为灵活性更低了}if (nowLen == 0) { return false; } // 这里是为了防止重复搜索}return false;
}int main()
{while (cin >> n && n != 0) {len.resize(n);used = new bool[n]; // 这题没有告知数据范围,所以这里采用了动态内存分配sum = 0;for (int i = 0; i < n; i++) {cin >> len[i];sum += len[i];}sort(len.begin(), len.end());for (maxDepth = n; ;maxDepth--) {if (sum % maxDepth != 0 || len[n - 1] > sum / maxDepth) { continue; }memset(used, 0, sizeof(bool) * n);if (dfs(0, 0, n - 1)) { break; }}cout << sum / maxDepth << endl;delete used;}return 0;
}
http://www.yayakq.cn/news/345071/

相关文章:

  • php 禁止电脑访问网站滨海做网站公司
  • 网站怎么做dns解析网络推广的具体方式
  • 哈尔滨模板建站公司用c 做毕业设计的音乐网站
  • 柳州购物网站开发设计催眠物语wordpress
  • wordpress short ping沧州seo推广
  • 适合初学者做的网站门户网站建设的建议
  • 网站用什么系统template是什么文件
  • 建设个人商城网站兰州网站seo优化
  • 建设网站平台合同范本wordpress淘宝联盟插件
  • wordpress自建站邮箱net做公司网站
  • 健身器材网站源码wordpress主题免刷新
  • 现在推广网站最好的方式档案安全网站安全建设
  • 重庆长寿网站设计公司推荐网站没备案可以使用了吗
  • 再网站里做商家店铺用模块做网站
  • 网站开发用主要软件天津网站开发公司电话
  • wordpress网站嵌入音乐seo要点
  • 传媒有限公司免费网站果壳 wordpress
  • 专业做网站较好的公司广州站点怎么建网页
  • 更换网站需要怎么做做电商网站必需知道qc
  • 特色企业网站wordpress 短链插件
  • 绍兴网站建设做网站域名138查询网
  • 二手车网站开发多少钱logo图片设计
  • 北京专业制作网站公司哪家好站外推广渠道
  • 网站建设许可证学校的网站怎么做的好
  • 做娃衣的布料去哪个网站郑州网络公司排名前十名
  • 成都哪个公司做网站网页版游戏链接
  • 珠海市住房城乡建设局网站做网站注册35类哪几个小项
  • 网站下方链接图标怎么做中企动力销售一个月能挣多少
  • 诸暨企业网站建设企业首页网站属于什么类型网站
  • 太湖县网站建设公司下载京东购物商城app