- 博客(6)
- 收藏
- 关注
原创 线段树求区间最大值与最小值的差
http://poj.org/problem?id=3264#include #include#include#includeusing namespace std;#define L(x) (x << 1)#define R(x) (x << 1 | 1)#define INT_MAX 0x7fffffffconst int MAX = 50010;struct Tnode
2012-10-27 10:34:20 2162
原创 线段树专题
更新线段,并查询线段。http://poj.org/problem?id=3468#include#include#includeusing namespace std;#define maxn 1000020__int64 sum[4*maxn];__int64 col[4*maxn];void Pushup(int rt){ sum[rt]=sum[r
2012-10-26 09:34:20 425
原创 线段树 成段更新
线段树就是许多线段组成的,并对每条线段进行操作,线段树的节点满足二叉树,所以某个节点的左右儿子是 2*rt,和2*rt+1;举例说明:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次在[0,7]区间上建立一棵满二叉树:(为了和已知线段区别,用【】表示线段树中的线段)
2012-10-22 21:19:32 464
原创 hdu1808抽屉原理
题目中说c用数组存前i组的和对c取余的结果。http://acm.hdu.edu.cn/showproblem.php?pid=1808#include#include#define maxn 100002int vis[maxn];int sum[maxn];int arr[maxn];int main(){ int n,i,m; while(1)
2012-10-20 18:59:44 752
原创 hdu A/B
http://acm.hdu.edu.cn/showproblem.php?pid=1576A能够被B整除,所以A=i*B. 所以最后结果就是i%9973.#include#includeint main(){ int ncase; __int64 b,n; scanf("%d",&ncase); while(ncase--) {
2012-10-20 18:56:10 763
原创 kmp算法
得到next函数:覆盖函数(overlay_function)覆盖函数所表征的是pattern本身的性质,可以让为其表征的是pattern从左开始的所有连续子串的自我覆盖程度。比如如下的字串,abaabcaba由于计数是从0始的,因此覆盖函数的值为0说明有1个匹配,对于从0还是从来开始计数是偏好问题,具体请自行调整,其中-1表示没有覆盖,那么何为覆盖呢,下面比较
2012-10-13 09:58:50 403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人