小木棍 [数据加强版]*
题目描述
乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。
现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。
给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。
输入输出格式
输入格式:
输入文件共有二行。
第一行为一个单独的整数N表示砍过以后的小木棍的总数,其中N≤65
(管理员注:要把超过50的长度自觉过滤掉,坑了很多人了!)
第二行为N个用空个隔开的正整数,表示N根小木棍的长度。
输出格式:
输出文件仅一行,表示要求的原始木棍的最小可能长度
输入输出样例
9 5 2 1 5 2 1 5 2 1
6
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int n,ans; 6 int s[80]; 7 int a[80],b,c; 8 inline int max_(int x,int y){return x>y?x:y;} 9 inline bool cmp(int a,int b){return a>b;} 10 bool dfs(int k){ 11 memset(a,0,sizeof(a)); 12 for(int i=1;i<=n;i++){ 13 b=0; 14 while(a[b]+s[i]>k) b++; 15 a[b]+=s[i]; 16 } 17 for(int i=0;a[i];i++) 18 if(a[i]<k) return 0; 19 return 1; 20 } 21 int main(){ 22 scanf("%d",&n); 23 for(int i=1;i<=n;i++){ 24 scanf("%d",&s[i]); 25 if(s[i]>50) i--,n--; 26 else ans=max_(ans,s[i]); 27 } 28 sort(s+1,s+n+1,cmp); 29 while(!dfs(++ans)); 30 printf("%d",ans); 31 return 0; 32 }
贪心 得分:47 耗时:34ms 内存:16414kb 代码:0.59KB
然而正解的搜索并没有打出来。
题目来源:洛谷
转载于:https://www.cnblogs.com/J-william/p/6644337.html
小木棍 [数据加强版]*相关推荐
- 题解 P1120 【小木棍 [数据加强版]】
题面 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度,编程帮 ...
- P1120-小木棍 [数据加强版]
吸口氧气才能过 1 #include <bits/stdc++.h> 2 #define _for(i,a,b) for(int i = (a);i < b;i ++) 3 #def ...
- AC日记——小木棍【数据加强版】 洛谷 P1120
题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度,编 ...
- 洛谷 小木棍(暴力+剪剪剪剪枝)
题目链接: 小木棍 - 洛谷 思路: 如果只考虑暴力,做法很简单,枚举所有可能的最终长度,都跑一遍dfs,取最小结果即可,本题难就难在大量的剪枝,具体见代码. 我的思路也是参考了大佬的博客:题解 P1 ...
- c语言贪吃蛇黑方框,[求助][贪吃蛇]源程序,请教其中一个问题。
[求助][贪吃蛇]源程序,请教其中一个问题. 源程序如下: 我的问题是,调节游戏速度时,数字为什么越大时,有时候竟然越快? #define N 200 #include #include #inclu ...
- 小木棍(洛谷-P1120)
题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过5050. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度 ...
- [现代诗]情诗——给网恋中人
[现代诗]情诗--给网恋中人 我说亲爱的,从现在开始 ...
- 题解 Sticks 小木棍
题解 Sticks 小木棍 题目描述: 每组数据给出N根小木棍,把它们拼接成若干根长度相等的木棍,求该长度的最小值. 题解: 该题就是dfs深搜+剪枝 ```cpp #include<iostr ...
- R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩、自定义调色板、在两端添加点图的线段segments、整体排序从大到小、自定义数据点的大小、添加数值标签)
R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩.自定义调色板.在两端添加点图的线段segments.整体排序从大到小.自定义数据点的大小.添加数值标签) 目录
- 北风设计模式课程---深入理解[代理模式]原理与技术
北风设计模式课程---深入理解[代理模式]原理与技术 一.总结 一句话总结: 不仅要通过视频学,还要看别的博客里面的介绍,搜讲解,搜作用,搜实例 设计模式都是对生活的抽象,比如用户获得装备,我可以先装 ...
最新文章
- JSP页面中使用JSTL标签出现无法解析问题解决办法
- php 接口数组排序,php 数组排序
- 牛客网知识点总结(二
- Python基础-2 专用下划线标识符
- 斐波那契数列前n项和 c++_蹲在马桶看算法(Day8—LeetCode之NO.509 斐波那契数列)...
- 定义一个空切片_全面解读Python高级特性切片
- sql server序列_SQL Server中的Microsoft时间序列
- 全国软件专业人才开发与设计赛题之中等题“五位数黑洞”
- 12864c与语言字符显示,12864液晶显示C语言程序设计实例
- 陪集分解和J.Lagrange定理的一些应用
- 用Python实现《沉默的真相》3万+弹幕情感分析
- Linux中cd会进入什么位置,linux命令中cd/和cd命令是什么意思
- 观察者模式(java)浅析
- WARN Error while fetching metadata with correlation id 5 : {testtopic=LEADER_NOT_AVAILABLE}
- Jupyter notebook用谷歌浏览器打开
- 面向对象_猫狗案例加入跳高功能代码实现
- 永不言弃,希望就在前方
- 【matlab学习笔记】安装
- 十大跨平台移动应用开发工具
- 出纳通支票大小写不转换;或小写金额处显示全部为0;或者预置数据或票据查询等模块点击均没有反应如何修正?...