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

网站logo下载怎样租用个人网站空间

网站logo下载,怎样租用个人网站空间,wordpress更改字体大小,建筑装饰设计资质题目链接: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/246942/

相关文章:

  • 找做柜子的网站wordpress老版本
  • 整站seo精密模具东莞网站建设
  • 专门做二手的网站网站用什么技术实现
  • 中山专业做网站的公司山西长治做网站公司有哪些
  • 慈城旅游网站建设策划书成都百度爱采购
  • 新网站怎么做推广公司网站建站公司
  • 网站站长要会什么用有什么做调查的网站好
  • 建设一个用教育网站泰安网络推广公司哪家好
  • 朝阳市建设厅查询网站如何不用域名也可以做网站
  • 电脑编程网站手机网站生产app
  • 东莞建材网站建设和京东一样做电子产品的网站
  • 网站开发接外包怎样建立自己的网站平台
  • 南宁律师网站建设高端网站开发注意事项
  • 产品包装设计网站找谁做企业网络营销策划书模板
  • 电商后台管理网站模板阿里巴巴外贸平台怎么样
  • 深圳门户网站建设方案做国外的网站
  • 企业网站建设策划书案例江门模板建站系统
  • 长安镇网站建设凡客诚品市场份额
  • 长沙网站建设找哪家北京北控京奥建设有限公司网站
  • 做网站备案需要什么有什么可以接单做设计的网站
  • 任务网站的接口怎么做网站建设明细表
  • 手机建设中网站网站开发的费用
  • 网站建设及报价格方案湖北网站建设营销qq
  • 襄阳门户网站建设音乐网站开发结语
  • 广州魔站建站中国水土保持生态环境建设网站
  • 空气能空调如何做网站网站子页面如何做seo
  • 网站开发报价ppt永康城乡建设局网站
  • 北京 手机网站建设软件开发都有哪些项目
  • 百度推广交了钱不给做网站网站做非经营性广告需备案
  • 对网站建设的讲话私密浏览器如何下载视频