上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 85 下一页
摘要: 题意:输入n(在32位带符号整数范围内),计算下面C++函数的返回值。 分析:合并同类项加速一下即可。 假设n为100,则n/34=2,那么通过n/2=50,可知道34到50的结果都是2,以此加速。 阅读全文
posted @ 2017-02-09 15:29 Somnuspoppy 阅读(295) 评论(0) 推荐(0)
摘要: 题意:初始串为一个1,每一步会将每个0改成10,每个1改成01,因此1会依次变成01,1001,01101001,……输入n(n<=1000),统计n步之后得到的串中,"00"这样的连续两个0出现了多少次。 分析:找规律,输出n等于20之前所有的结果 得到结论,i为奇数时,a[i] = a[i - 阅读全文
posted @ 2017-02-09 15:13 Somnuspoppy 阅读(281) 评论(0) 推荐(0)
摘要: 题意:有n(n<=16384)位选手参加编程比赛。比赛有3道题目,每个选手的每道题目都有一个评测之前的预得分(这个分数和选手提交程序的时间相关,提交得越早,预得分越大)。接下来是系统测试。如果某道题目未通过测试,则该题的实际得分为0分,否则得分等于预得分。得分相同的选手,ID小的排在前面。 已知所有 阅读全文
posted @ 2017-02-09 14:58 Somnuspoppy 阅读(547) 评论(0) 推荐(0)
摘要: 题意:将序列1,2,3,……,n,用不超过2n^2次操作,通过下列操作变成给定序列。(1<=n<=300) 1、交换前两个元素 2、将第一个元素移到最后 分析:因为将序列变成升序更容易操作,所以倒着输出解,进行如下操作: 1、交换前两个元素 2、将最后一个元素移到第一个(当a[0] < a[1] | 阅读全文
posted @ 2017-02-08 17:31 Somnuspoppy 阅读(242) 评论(0) 推荐(0)
摘要: 题意:输入一个1~n(1<=n<=10000)的排列,用不超过9^6次操作把它变成升序。每次操作都可以选一个长度为偶数的连续区间,交换前一半和后一半。 提示:2n次操作就足够了。 分析:从左到右依次将数字i放在位置i。 设要将数字i放在位置i,而数字i现在在位置pos。 (1)若(pos - i) 阅读全文
posted @ 2017-02-08 16:15 Somnuspoppy 阅读(314) 评论(0) 推荐(0)
上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 85 下一页