题目:Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s.
解题思路:
回文划分,题目意思是给一个字符串,找出将字符串划分为一系列回文子串的各种可能组合。例如,一个子串“aab“,你需要返回["aa","b"],["a","a","b"]。这个题目的解法也是非常的典型---循环加递归,...
分类:
其他好文 时间:
2014-06-09 23:24:11
阅读次数:
256
组合数定义:从m个不同元素中,任取n(n≤m)个元素并成一组,叫做从m个不同元素中取出n个元素的一个组合;从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数。
下面是一种比较通俗的计算公式:
其递归公式为:
c(n,m)=c(n-1,m-1)+c(n-1,m)
下面是c++实现该递归算法:
#include
#include
#d...
分类:
其他好文 时间:
2014-06-08 18:06:03
阅读次数:
672
快速幂运算在第一次训练时候就已经遇到过,这里不赘述
同余模运算也很简单,这里也不说了,无非是(a+b)%m (a*b)%m 把m弄到里面变成(a%m+b%m)%m (a%m*b%m)%m
今天学的最重要的还是递归二分求等比数列
题目大意是给出A和B,求A^B的约数和
解这个题,首先,对A进行素因子分解得到
(PI(pi^ai))^B
然后我们有约数和公式:
...
分类:
其他好文 时间:
2014-06-08 15:17:06
阅读次数:
257
题目
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.
For example,
Given n = 3, your program should return all 5 unique BST's shown below.
...
分类:
其他好文 时间:
2014-06-08 15:15:26
阅读次数:
223
题目:For example, given s = "aab",
Return 1 since the palindrome partitioning ["aa","b"] could be produced using 1 cut
解题思路:给一个字符串,如果字符串可以划分成若干子回文字符串,返回最小的划分数量。
这个题如果还用之前求所有划分组合的循环加递归方法的话,就会得到超时的错误。这是就要考虑别的方法,动态规划倒是一个不错的方法,但是动态规划最重要的是要找到动态方程。本题的动态方程:
dp[i] =...
分类:
其他好文 时间:
2014-06-08 14:56:58
阅读次数:
257
http://poj.org/problem?id=1724
大致题意:N个城市由R条单向路连通,每条路(S,D)之间有两个因素:路的长度L和路的花费T。现要从城市1到达城市N,求花费在K以内的最短路程。
思路:很明显的dfs(他们都说很明显的spfa。。。)。不过dfs有几点注意的地方:
建立邻接表不能用vector存,要用链表的形式,采用头插法。
dfs的时候,在递归节...
分类:
其他好文 时间:
2014-06-08 14:41:32
阅读次数:
243
题目
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
For example:
Given "25525511135",
return ["255.255.11.135", "255.255.111.3...
分类:
其他好文 时间:
2014-06-08 10:37:47
阅读次数:
273
给定两个数m,n,其中m是一个素数。 将n(0=n) { sum+=m/n m=m/n; }
分类:
其他好文 时间:
2014-06-08 00:20:05
阅读次数:
348
0.素数计数函数x/ln(x)1.随机化的代码: #include #include
srand((unsigned)time(NULL)); m=rand()%(r-l+1)+l;2.读入一整行字符串 getline(cin,s);
cin.ignore();//忽视一行
分类:
其他好文 时间:
2014-06-07 23:51:54
阅读次数:
400
2.深度优先搜索 为了访问一个顶点,我们将它标记为已经访问过,然后递归的访问所有与子邻接的并且尚未标记的顶点,这就是深度优先搜索(DFS),DFS常用于解决路径问题。 比如下面的连通图,我们从顶点0开始对图进行探索下面这个图显示了DFS处理时的递归调用树。DFS可以解决的问题:1)环检测:一个图中有...
分类:
其他好文 时间:
2014-06-07 21:20:13
阅读次数:
372