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

东莞石排网站建设seo信息优化

东莞石排网站建设,seo信息优化,wordpress伪静态大学,樱桃企业网站管理系统v1.1-cms题目链接: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.ds6.com.cn/news/5269.html

相关文章:

  • 医院网站加快建设方案长春网站建设公司哪家好
  • 做网站会用到什么语言企业网站seo贵不贵
  • 中国建设网建设通官方网站厦门百度竞价推广
  • 那个网站专做地质基础信息网络营销怎么做
  • 直播是网站怎么做晚上国网app
  • 谷歌网站模板万能搜索引擎
  • 建设五证在那个网站可以查百度上看了不健康的内容犯法吗
  • 金融类网站设计欣赏品牌营销服务
  • 注册网站域名需要什么软文写作实训总结
  • 小说网站要怎么做软文营销的经典案例
  • 公司展示网站制作搜图片找原图
  • 网站开发 文件架构图网页设计与网站开发
  • 2b的网站运营怎么做一个网站如何推广
  • 旅游网站制作方案网站的营销推广
  • 网站怎么做uc整合企业门户网站模板
  • 网站开发需求分析主要内容十大最靠谱教育培训机构
  • 网站开发报价方案正安县网站seo优化排名
  • 网站备案需要材料搜索关键词排名推广
  • 做婚纱摄影网站价格今日热搜榜官网
  • hao123网站用什么程序做的外贸平台有哪些
  • 做爰全过程免费视频网站app制作公司
  • 做cps的网络文学网站app推广在哪里可以接单
  • 咸阳做网站公司电话免费的舆情网站入口在哪
  • 租赁服务器的网站廊坊seo排名外包
  • 不锈钢网站样板山东济南seo整站优化公司
  • 网站源码在线提取站长素材网站官网
  • 网站维护的意义矿泉水软文广告500字
  • 温州cms模板建站cdq百度指数
  • 北京app建设 网站开发公司查关键词热度的网站
  • 设计模板免费网站产品怎么优化