当前位置:网站首页>hdu1455 Sticks(搜索+剪枝+剪枝+.....+剪枝)
hdu1455 Sticks(搜索+剪枝+剪枝+.....+剪枝)
2022-08-05 11:30:00 【51CTO】
Sticks
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10325 Accepted Submission(s): 3091
Problem Description
George took sticks of the same length and cut them randomly until all parts became at most 50 units long. Now he wants to return sticks to the original state, but he forgot how many sticks he had originally and how long they were originally. Please help him and design a program which computes the smallest possible original length of those sticks. All lengths expressed in units are integers greater than zero.
Input
The input contains blocks of 2 lines. The first line contains the number of sticks parts after cutting, there are at most 64 sticks. The second line contains the lengths of those parts separated by the space. The last line of the file contains zero.
Output
The output file contains the smallest possible length of original sticks, one per line.
Sample Input
9 5 2 1 5 2 1 5 2 1 4 1 2 3 4 0
Sample Output
6 5
Source
Recommend
lcy | We have carefully selected several similar problems for you: 1258 1067 1045 2553 1426
Statistic |
Submit |
Discuss |
Note
我觉得我要死了 参考了别人的代码 理解了一晚上
自己敲了下。在hdu过了 可是在 nyoj293死活TLE。。
明明和别人同样的代码。最后顺序 变量名 什么都改 还是不行。。我选择死亡 nyoj的我不刷了
对于这道题而言 剪枝在搜索中的重要性体现的淋漓尽致。
剪枝1:小木棒的长度 越长约束力也就越大,灵活度就越小(能够组合的长度越少),所以首先对小木棒的长度排序
剪枝2:所有小木棒的长度之和肯定能够整除原来小木棒的长度
剪枝3:如果我们已经使用过木棒4 5 6无法完成拼接,下次再出现5 4 6肯定是不可能的 所以搜索时要避免这种情况
剪枝4:如果当前搜索的结果是正确的,对于每根小木棒 都要使用,如果发现没有使用 直接退出
剪枝5:如果当前木棒的长度等于拼接木棒需要的长度 ,并且这根木棒没有被使用,那么直接退出。(即使找到比他小的几个组合为这个木棒长度 也是无用)
剪枝6:如果当前木棒的长度已经出现过并且没有被使用 那么直接跳过
边栏推荐
- Android development with Kotlin programming language II Conditional control
- Letter from Silicon Valley: Act fast, Facebook, Quora and other successful "artifacts"!
- Android 开发用 Kotlin 编程语言一 基本数据类型
- 普通二本毕业八年,京东就职两年、百度三年,分享大厂心得
- 再获殊荣 | 赛宁网安入选2022年度“培育独角兽”企业榜单
- gradle尚硅谷笔记
- 张朝阳对话俞敏洪:一边是手推物理公式,一边是古诗信手拈来
- 微信小程序标题栏封装
- DocuWare平台——文档管理的内容服务和工作流自动化的平台详细介绍(下)
- Http-Sumggling缓存漏洞分析
猜你喜欢
随机推荐
停电。。。烦烦烦!!!
Android development with Kotlin programming language II Conditional control
Import Excel/CSV from Sub Grid within Dynamics 365
微信小程序标题栏封装
Discover the joy of C language
【硬件架构的艺术】学习笔记(2)同步和复位
nyoj1185最大最小值(线段树)
【加密解密】明文加密解密-已实现【已应用】
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
如何用Golang来手写一个Blog - Milu.blog 开发总结
Android 开发用 Kotlin 编程语言 二 条件控制
【名词】什么是PV和UV?
Detailed explanation of PPOCR detector configuration file parameters
再获殊荣 | 赛宁网安入选2022年度“培育独角兽”企业榜单
自定义过滤器和拦截器实现ThreadLocal线程封闭
TiDB 6.0 Placement Rules In SQL 使用实践
金融业“限薪令”出台/ 软银出售过半阿里持仓/ DeepMind新实验室成立... 今日更多新鲜事在此...
【心里效应】98 个著名的心理效应
power failure...Trouble trouble trouble!!!
#yyds干货盘点#JS数组和树相互转化