题目大意:
~~~~~~一个长度为 n(1≤n≤200000) ~n(1\leq n \leq 200000)~的环由 0 or 1 ~0~or~1~组成,求有多少本质不同的环。分析:
~~~~~~((这题有可能更侧重于考高精度))
~~~~~~考虑循环节的个数只可能为 n ~n~的约数,且循环节的个数为 d ~d~的置换会出现 φ(n/d) ~\varph...
分类:
其他好文 时间:
2015-07-26 19:15:11
阅读次数:
162
这题暴力的时间复杂度为O(N*M)会超时,怎么办?当时想到了递推的方法,后面晏队说这是一类前缀和的题。。。说下递推方程吧,b[i]=b[i-1]+m*a[i]-c[i-1],b[i]表示以i结尾前M个数字的参考指数,c[i]表示以i结尾前M个数字的和,这样时间复杂度就是O(N)啦~Problem 2...
分类:
其他好文 时间:
2015-07-26 17:03:00
阅读次数:
105
题意:给定一个长度为N的数组,求两个连续的子序列,使得两个连续子序列的和最大。
分析:乍一看,跟最大连续和有点类似,但是,又有区别,因为对于这个题,考虑第i项两个连续子序列的最大和,不能仅仅由前i-1项递推得出,第i项两个连续子序列的最大和,与前i项和i以后的之间是存在关系的,因此这个题目是一个双向dp。
假如给定的序列为a0, a1, a2, a3, a4, ...... ,an,那么,对于...
分类:
其他好文 时间:
2015-07-26 11:15:59
阅读次数:
144
题目:http://acm.hnu.cn/online/?action=problem&type=show&id=13303&courseid=0
题意:给你一个字符串,由数字和其他字符组成,问有多少个子串,使得子串里面的数字和为3的整数倍(子串必须连续,而且里面不能有其他字符)。
分析:开3个数组,dp0[i],dp1[i],dp2[i]。dp0[i]表示从字符串的最后一个位置到位置i有多少...
分类:
其他好文 时间:
2015-07-26 11:13:47
阅读次数:
141
题目大意:求n个人比赛的所有可能的名次种数。比如:n=2时,有A第一B第二、B第一A第二、AB并列第一三种名次。题目解析:既然是比赛,总有第一名。第一名的人数可能是i (1≤i≤n),则剩下待定的人数就是n-i......设 f(n)为n个人比赛时的名次种数。则 f(n)= ∑ C(n,i)f(n-...
分类:
其他好文 时间:
2015-07-26 10:54:50
阅读次数:
91
题意:求将n分为k个数相加的种数。如:n=20,k=2,则可分为:0+20=201+19=202+18=20.......20 +0=20共21种方案。解析:令f(n,m)表示将n分为m个数相加的种数,则 f(n,m)= ∑ f(n-i,m-1) (0 ≤ i ≤n)代码如下: 1 # includ...
分类:
其他好文 时间:
2015-07-26 09:44:54
阅读次数:
131
最近一个项目中需要在VxWorks下使用一个高精度实时时钟,要求精度为1ms,溢 出时间大于5小时。VxWorks提供系统时钟,该时钟在操作系统启动后开始计数,精度为1个tick,可以通过tickGet()获取当前计数值。因为 系统时钟默认工作频率为60Hz,则1个tick相当于16.7ms,不符号...
分类:
编程语言 时间:
2015-07-25 21:28:01
阅读次数:
344
题意:汉诺塔问题,把A柱上n个圆盘全部移到B或C柱需要的步数,不同的是给出了一个序列,AB表示把A柱顶部的圆盘移到B柱顶上(按规则),这个序列每次从左到右扫描,找到可执行的第一个指令就执行一次,然后再从头扫描,同一个圆盘不能连续移动两次。问步数。
题解:因为序列给出,移动的顺序就是固定的,可以推出来。在序列不变的情况下,随着圆盘数量的增加,移动次数线性增加,可以得到如下递推式
f(1) = 1...
分类:
其他好文 时间:
2015-07-25 15:16:50
阅读次数:
247
先考虑一个斐波那契数能分成其他斐波那契数的方案,假如f[i]表示第i个斐波那契数,那么只要对他进行拆分,f[i-1]这个数字必定会存在。知道这一点就可以进行递推了。先将数字分成最少项的斐波那契数之和,s[i]表示第i项的数字对应的斐波那契数编号,F[i]表示对不第i项进行拆分,G[i]表示对第i.....
分类:
其他好文 时间:
2015-07-25 13:45:18
阅读次数:
111