摘要: 题意 n个数里,找到最长的一个连续序列使里面最多k个不同的数。 分析 尺取法,每次R++,如果第R个数未出现过,那么不同的数+1,然后这个数的出现次数+1,如果不同的数大于k了,那就要去掉第L个数,直到不同的数为k,然后更新答案。 代码 阅读全文
posted @ 2016-02-24 15:09 水郁 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 题意 一个序列是1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5....这样排的,求第n个是什么数字。 分析 第n个位置属于1到k,求出k,然后n-i*(i-1)/2就是答案了。 方法1:可以枚举k为i,当i*(i+1)/2大于等于n时,k就是i了。 方法2:先 阅读全文
posted @ 2016-02-24 12:40 水郁 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 题意 给出n个数的集合,求一个 (平均数-中位数)最大 (偏度最大)的子集,输出子集元素个数和各个元素(任意顺序)。 分析 因为是子集,所以不一定是连续的序列。然后我们有下面几个结论。 1.最大偏度一定≥0 因为一个元素时,偏度为0。 2.最大偏度子集必定有元素个数为奇数个的。 证: 如果当元素个数 阅读全文
posted @ 2016-02-24 12:02 水郁 阅读(749) 评论(2) 推荐(0) 编辑
摘要: 题意 给你n,m,如果 n个2的倍数和m个3的倍数,这n+m个数各不相同,那么求最大的数的最小值。 分析 方法1:枚举最大值为i,直到 i/2+i/3-i/6(不重复的2或3的倍数)≥n+m,并且要i/2(2的倍数)≥n,i/3(3的倍数)≥m。 方法2:枚举重复的数字i,i最小为6,每次增加6,设 阅读全文
posted @ 2016-02-24 02:03 水郁 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一个数n,把它写成几个正整数相加的形式,即把n拆开成若干段,把所有可能的式子里正整数 k 出现的次数取模是多少。 分析 特判 k>=n 的情况。 k<n时:问题相当于n个点排一行,选其中连续的k个点,其他点的间隔情况有多少种。 n个点原来有n-1个两两之间的间隔,当n-k>1时,如果k个点 阅读全文
posted @ 2016-02-24 01:08 水郁 阅读(368) 评论(0) 推荐(0) 编辑
……