摘要: 题意:将1个含N个正整数的序列划分成K个连续的子序列,使每段的和的最大值尽量小,问字典序最小的划分方案。 解法:由于是连续的数的“最大值最小”,便可想到二分每段的最大值,若这时可分成<=K段,则这个最大值成立,再继续二分。 输出方案需要用到贪心策略, 先从后往前贪心求得最小划分的段数M,若M不足K, 阅读全文
posted @ 2016-10-31 22:22 konjac蒟蒻 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题意:将正整数N用2的幂次方表示(彻底分解至2(0),2)。 解法:将层次间和每层的操作理清楚,母问题分成子问题就简单了。但说得容易,操作没那么容易,我就打得挺纠结的......下面附上2个代码,都借用了数组储存,而代码2是我近期打的,应该是更优美一点的。 1 #include<cstdio> 2 阅读全文
posted @ 2016-10-31 20:46 konjac蒟蒻 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 题意:问一个给定正整数的分解因数的方式数。N=a1*a2*...*ak(a1<=a2<=...<=ak)。 解法:一步步分解该数,总方式数为一个个因数被分解的方案数之和。 可用大括号表示,也可想象成一棵树[分层构造],每个节点为不同的因数分解方式。(结构图凑合着看吧.....) N= X={u*v, 阅读全文
posted @ 2016-10-31 17:08 konjac蒟蒻 阅读(1992) 评论(0) 推荐(0) 编辑