题意:找所有字符串中的最长公共字串解题思路:KMP+剪枝,因为如果我们知道前缀如果不满足条件,所有以这个开头的都不行。解题代码: 1 // File Name: getnext.cpp 2 // Author: darkdream 3 // Created Time: 2014年09月09日 ...
分类:
其他好文 时间:
2014-09-10 13:53:10
阅读次数:
320
这是一道搜索的背包题目题意:有n件物品从中最多选m件,使其总重量不超过v,求能获得的最大重量有一个很重要的剪枝(是数据的问题还是这个剪枝本身很高效?):如果重量最大m件物品都不超过v,则答案就是该m件物品之和;或者最轻的物品的重量大于v则答案为0中间TLE了几次,又WA了几次,好辛苦啊,Orz 1 ...
分类:
其他好文 时间:
2014-09-09 17:52:49
阅读次数:
167
这道题很简单,该怎么做,题目已经告诉我们了!
解题思路:考的就是一个DFS的应用,然后在进行一个选择判断就行了!
由于时间的关系,为了避免超时,可以优化进行剪枝一下!就是在找到了我们所需要的答案后,就不必再进行DFS搜索了,即可直接退出来了,然后输出答案即可!...
分类:
其他好文 时间:
2014-09-09 13:27:58
阅读次数:
236
没啥困难的,bfs模板题,注意一下剪枝
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define maxn 1010
int map[maxn][maxn];...
分类:
其他好文 时间:
2014-09-09 13:09:28
阅读次数:
173
一开始觉得是数位DP,后来想不出来。 但是感觉爆搜+剪枝可以过,于是就过了。。#include #include #include using namespace std;typedef long long LL;const int maxn = 50;int lim[maxn], len;LL n...
分类:
其他好文 时间:
2014-09-07 18:32:55
阅读次数:
177
dfs+剪枝*4(通过得很勉强):1、只枚举一半的比赛,另一半直接得出。2、处理前缀和,若大于目标得分则剪枝3、前缀和加上若接下来全胜的得分 仍小于 目标得分,则剪枝。4、枚举到每个人的最后一场比赛时直接用 目标得分-前缀和 计算出最后一场的应得分。Code还是很简单的:#includeusing ...
分类:
其他好文 时间:
2014-09-06 16:05:33
阅读次数:
220
对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i) 02000000000∴最多只用用到这么多不同的质因数。搜索即可。加两个剪枝:①从小到大枚举质因数,不要让 顺序不同的 算作不同的方案。②小的因数的指数必然大于大的因数的指数,∵约数...
分类:
其他好文 时间:
2014-09-06 16:04:33
阅读次数:
221
第一题:题目大意:给出N(N<=50)个小于1000的正整数Ai,和一个正整数max,和一个整数cur,从前往后依次对每个Ai,可以让cur+Ai或者cur-Ai,但是结果不能大于max,也不能小于0.求最终的cur的最大值。解题过程:1.一开始直接写了个爆搜+剪枝(ans=max或者ans+sum...
分类:
其他好文 时间:
2014-09-05 22:19:42
阅读次数:
277
看看type = 2的操作,对于区间[l,r]内的元素对x取模,由于取模肯定不能和取模,所以只能每个元素取模,看上去不是区间更新,但是仔细一看,若区间[l,r]内所有的元素都小于x,那么这一区间不需要管,所以还是存在区间整段操作,所以需要lazy,这里也算是一个剪枝了,剩下的就是type = 3的 单点更新,还有type = 1的区间求和,整体操作不难
int n,m;
ll nnum...
分类:
其他好文 时间:
2014-09-02 22:58:35
阅读次数:
423
真郁闷,一道普通的搜索题 我拿dp的方法去做,结果一直TLE和WA
如果所有数的和为奇数,肯定没有正解。
14133454
10317
Equating Equations
Accepted
C++
0.102
2014-09-02 09:01:23
#include
#include
#include
#incl...
分类:
其他好文 时间:
2014-09-02 17:48:35
阅读次数:
225