最长回文子串:1. 暴力搜索 时间复杂度O(n^3)2. 动态规划dp[i][j] 表示子串s[i…j]是否是回文初始化:dp[i][i] = true (0 i) ? min(p[j], mx-i) : 0; while (cstr[i + p[i] + 1] == cs...
分类:
其他好文 时间:
2015-04-10 19:50:56
阅读次数:
98
1.题目描述:点击打开链接
2.解题思路:本题通过观察发现实际上是找符合这样的等式的一个排列:
C(n-1,0)*a[0]+C(n-1,1)*a[1]+...+C(n-1,n-1)*a[n-1]==sum
其中数组a是1~n的一个排列,C(n-1,i)代表组合数。这样的话,可以花费O(N^2)时间预先计算好所有组合数,然后用next_permutation函数枚举下一个排列即可。如果发现正好...
分类:
其他好文 时间:
2015-04-08 16:37:15
阅读次数:
100
1.题目描述:点击打开链接
2.解题思路:本题利用暴力搜索法解决。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2015-04-08 09:13:54
阅读次数:
124
1.题目描述:点击打开链接
2.解题思路:本题利用暴力搜索解决。直接从1234开始枚举除数,由于乘积不能超过100000,所以上限是100000/n。然后判断得到的乘积和除数中的所有数是否都各不相同即可。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-04-05 17:34:41
阅读次数:
133
1.题目描述:点击打开链接
2.解题思路:本题利用暴力搜索解决,由于n,S的范围都比较小,直接利用三重循环枚举。又最大可能乘积不会超过10^18,因此结果用long long保存。注意枚举的时候起点和终点可以重合。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#incl...
分类:
其他好文 时间:
2015-04-05 17:33:09
阅读次数:
136
1.题目描述:点击打开链接
2.解题思路:根据题目描述,可以解出来y的范围是1≤y≤2k。进而可以求出x=ky/(y-n)。注意x要大于0且是整数。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-04-05 17:31:19
阅读次数:
203
1~n的全排列
(1)思路:按照递归的思想,初始化集合S中含有1~n所有元素。如果1~n的集合S为空,那么输出全排列;否则从小到大依次考虑每个元素i,在A的末尾添加i后,集合S变为S-{i}。这里我们不需要集合S,只需要利用一个变量cur表示当前位要填的数即可。那么A中没有出现过的元素均可以选择。
#define N 100
int A[N];
void print_permutation(i...
分类:
编程语言 时间:
2015-04-05 17:31:16
阅读次数:
146
1.题目描述:点击打开链接
2.解题思路:本题是无限背包问题,根据重量的约束关系,直接暴力搜索。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-04-05 14:40:24
阅读次数:
159
1.题目描述:点击打开链接
2.解题思路:本题要求在一个串中找出5个等距离的‘*’,如果有,输出yes,否则输出no。思路很清晰,首先枚举步长len,然后枚举起点i,判断是否能够连续不间断地跳跃5次且均为‘*’即可。本题还可以加速寻找,先寻找是否存在‘*****’,如果有,直接输出yes。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#in...
分类:
其他好文 时间:
2015-04-05 13:25:20
阅读次数:
116
说的是给了n个立方体,立方体从1标号到n,每个立方体上有一个数字, 你有 k 个机会 使得其中 k个数位他们自己的阶乘,(自然使用可以少于k次机会,每个立方体最多被使用1次) ,那么求出你从这n个立方体重选出任意个立方体使得 他们的和为Sn 2 #include 3 #include 4 #in.....
分类:
其他好文 时间:
2015-03-31 21:50:25
阅读次数:
123