HDU 3555
BOMBhttp://acm.hdu.edu.cn/showproblem.php?pid=3555不能出现相邻的49正在学习。。。会了自己写#includeusing
namespace std;LL dp[21][3],n; int len,bit[21];//dp[i][0]...
分类:
其他好文 时间:
2014-05-15 21:18:59
阅读次数:
293
题目链接题目意思: 给出两个字符串a, b, 求最长的公共字串c, c是a的后缀,也是b的前缀.
本题没有具体说明哪个字符串是文本串和匹配串, 所以都要考虑思路: 查找的时候, 当文本串结束的时候, 返回匹配串的位置, 即为c的长度.附上代码: 1
/************************...
分类:
其他好文 时间:
2014-05-15 20:50:22
阅读次数:
385
/*******************************************************
题意:
现在有一个n*m的博物馆g,每一个g[i][j]要不是一个<=2^12
的数,要不就是-1。
如果这个点是-1,表示这个点有一个守卫
否则就是以g[i][j]为关键字规则的宝物。
具体规则是:
现在有12个被编号的点(...
分类:
其他好文 时间:
2014-05-15 20:20:26
阅读次数:
251
http://acm.hdu.edu.cn/showproblem.php?pid=2473并查集设置虚拟父节点。 1 #include 2 #include
3 #include 4 #define maxn 1100000 5 using namespace std; 6 7 int f...
分类:
其他好文 时间:
2014-05-15 02:18:05
阅读次数:
328
题意:给n种房子,每种房子有一个值val和个数cnt,现在要把这些房子分成两部分,争取两部分总值相等,如果不能相等,让A>B,且A-B最小。解法:先跑一次生成函数,c[n]表示组成总值为n的方法种数,然后从Total/2~0枚举B的总值,如果c[i]不为0,说明可以达到
i 这个状态,说明这就是B的...
分类:
其他好文 时间:
2014-05-14 23:43:59
阅读次数:
410
题意:容易理解。分析:通过枚举寻找规律,这就是做1堆或者2堆石子博弈的技巧!当为2或者3时,肯定是第二个人赢,当为4时,先去一个石子,然后当对方面临3,于是第一个人赢,当为5时,取1时,第二个人赢,取2时也是第二个人赢。。。,于是为5时也是滴二个人赢。。。多枚举几个之后就会发现只要满足斐波拉切数列的...
分类:
其他好文 时间:
2014-05-14 23:42:42
阅读次数:
370
这题跟上两题也差不多。把150以内的素数找出来,把素数的值看做硬币的面值,每个硬币的个数即ceil(150/prime[i]),因为再多也没用,最多组成n=150就行了,所以又回到了找硬币问题。用生成函数解之。代码:#include
#include #include #include #inclu...
分类:
其他好文 时间:
2014-05-14 22:43:11
阅读次数:
404
题目一道简单的倒着的floyd。具体可看代码,代码可简化,你有兴趣可以简化一下,就是把那个Dijsktra所实现的功能放到倒着的floyd里面去。#include#include#includeusing
namespace std;const int MAXN=110; const int IN....
分类:
其他好文 时间:
2014-05-14 22:19:11
阅读次数:
309