Fork me on GitHub
摘要: Manacher算法首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长。这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文有多长, 这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了。这一点一直是在做... 阅读全文
posted @ 2014-07-21 23:29 whatbeg 阅读(491) 评论(0) 推荐(0)
摘要: 题意:给出每行每列至少有的灯泡数,问最少有的灯泡数。解法:要使灯泡数尽量小,说明要使交叉点尽量多,这样即抵了行,又抵了列,为最优的。所以可以用行来消去列,也可以用列来消去行,我这里是列来消去行。首先将列的灯泡数排个序,从大到小枚举,同时每次行的数也要有序,可以直接排序或者用优先队列,然后一个一个消去... 阅读全文
posted @ 2014-07-21 19:43 whatbeg 阅读(594) 评论(0) 推荐(0)
摘要: 题意:给一串数字,第一个数是Num的话,要使后面的数字组成Num个数,而且为不降的,将这Num个数分配到9个素因子上作为指数,问能组成多少个不同的数解法:dfs一遍,看后面的数字能组成Num个不降数字的方法种数,及该种方法的不同数字的个数,然后这些方法加起来。具体见代码吧。代码:#include #... 阅读全文
posted @ 2014-07-21 19:36 whatbeg 阅读(256) 评论(0) 推荐(0)
摘要: 1.要求系数矩阵可逆2.A为增广矩阵,即A[i][n]为第i个方程右边的bi3.运行结束后A[i][n]即为第i个未知数的值typedef double Matrix[N][N];void gauss_elimination(Matrix A,int n){ int i,j,k,r; f... 阅读全文
posted @ 2014-07-21 11:46 whatbeg 阅读(217) 评论(0) 推荐(0)