题意:给一个递推式S(n) = a1*S(n-1)+...+aR*S(n-R),要求S(k)+S(2k)+...+S(nk)的值。分析:看到n的大小和递推式,容易想到矩阵快速幂。但是如何转化呢?首先看到我们用A表示上面的递推式中的R*R的那个矩阵,那么对于前面那个向量,每次乘上A^k之后都会变成(S...
分类:
其他好文 时间:
2014-08-05 22:17:50
阅读次数:
230
题意:给n个石头,分成一些部分(最多n部分,随便分),问分完后每部分的数量的乘积有多少种情况。分析:可以看出,其实每个乘积都可以分解为素数的乘积,比如乘积为4,虽然可以分解为4*1,但是更可以分解为2*2*1,所以就可以枚举素因子来分解,dfs即可。代码:#include #include #inc...
分类:
其他好文 时间:
2014-08-05 21:56:00
阅读次数:
252
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.方法:为了使BST高度平衡,要找链表中的中值作为当前根节点。/** * Defin...
分类:
其他好文 时间:
2014-08-04 20:37:47
阅读次数:
194
一开始想了一个用二进制状压的方法,发现空间需要的太大,光光memset都要超时 = = 其实不用每次都memset也可以用三进制,一开始直接打表出所有的状态转移就好#include #include #include #include #include #include #include #incl...
分类:
其他好文 时间:
2014-08-04 17:10:47
阅读次数:
259
DescriptionA manufacturer of sweets has started production of a new type of sweet calledrock. Rock comes in sticks composed of one-centimetre-long seg...
分类:
其他好文 时间:
2014-08-04 14:12:57
阅读次数:
218
问题:判断二叉树是否为平衡二叉树分析:树上的任意结点的左右子树高度差不超过1,则为平衡二叉树。 搜索递归,记录i结点的左子树高度h1和右子树高度h2,则i结点的高度为max(h1,h2)=1,|h1-h2|>1则不平衡/** * Definition for binary tree * str...
分类:
其他好文 时间:
2014-08-04 13:39:57
阅读次数:
183
胡伯涛论文中的一题,经典建模,由于二进制每一位异或不会相互影响,所以我们把问题转换模型,按位处理。
即已知一些点的标号0/1(还有些可以自己任意改),和一些边,边权定义为两端点标号的异或,要求边权和最小的标号方案。
我们联想到最小割求的是从源到汇容量最小的边权和。
建图:
标号为1的和源点相连,容量INF,标号为0的和汇点相连,容量INF,这些边是不能割掉的(这些点标号已经明确)
原图相...
分类:
其他好文 时间:
2014-08-03 15:18:15
阅读次数:
200
DP题,这题居然是1星题!!太大打击了 1 #include 2 #include 3 using namespace std; 4 #define N 205 5 char s[N]; 6 int sum[N][2],dp[N]; 7 int main(){ 8 int t,l,sum...
分类:
其他好文 时间:
2014-08-03 15:04:55
阅读次数:
217
LightOJ 1205 - Palindromic Numbers (数位dp)
ACM
题目地址:SPOJ MYQ10 Mirror Number
题意:
求[a,b]中回文的个数。
分析:
是SPOJ MYQ01的简单版...其实有非递归方法的。
代码:
/*
* Author: illuz
* Blog: http:...
分类:
其他好文 时间:
2014-08-02 20:56:24
阅读次数:
218
SPOJ MYQ10 10649. Mirror Number (数位dp)
ACM
题目地址:SPOJ MYQ10 Mirror Number
题意:
求[a,b]中镜像回文的个数。
0
分析:
看到题目和数据范围就知道是数位dp了。
很明显镜像回文只有0,1,8,跟回文的一题一样,在dfs的时候得开个辅助数组记录前面已经选择的数字。
注意还得去掉前...
分类:
其他好文 时间:
2014-08-02 18:27:13
阅读次数:
242