数据结构
wyl_zheyang
这个作者很懒,什么都没留下…
展开
-
中缀式 变 前缀试,变后缀试,然后表达式求值
/****自己以为自己代码差不多了,做了这道题才知道还远着呢http://acm.nyist.net/JudgeOnline/problem.php?pid=409,擦,吐槽一下,六,七个小时的受不了*///////#include#include#include#include#include#include#includeusing namespace std;int _原创 2013-12-05 16:16:38 · 683 阅读 · 0 评论 -
POJ Who Gets the Most Candies? 线段树 第 5天
擦,看了一上午,他妈的,终于看出来错误原创 2014-08-13 15:09:09 · 403 阅读 · 0 评论 -
POJ Mayor's posters 线段树第五天
没什么好说的,一个裸线段树,用个标记搞一下原创 2014-08-13 17:04:14 · 416 阅读 · 0 评论 -
POJ 3237 树链剖分
这个知识点学了4天,有两天的时间都在调试这个代码,发现自己写的还是少,发现了好多的bug,和很神奇的事情发生,比如写个递归忘了写return,还有好多。树链剖分:按照某个规则对树进行划分,而现在这个是按照轻重链对树进行划分。 概念:重儿子:对于结点v来说他的儿子里面孙子最多的一个。 重链原创 2014-10-06 10:26:39 · 379 阅读 · 0 评论 -
foj 2082 树链剖分 第2天
擦,没啥好说的,这个模板至少得打10遍。。纪念自己成功的打错了。。#include #include #include #include using namespace std;#define LL int#define lson id << 1#define rson id << 1|1const LL M = 100008;LL ti[M],top[M],siz[M],原创 2014-10-07 09:25:58 · 774 阅读 · 0 评论 -
CodeForces 123A 并查集
写了好长时间原创 2014-10-08 21:09:22 · 682 阅读 · 0 评论 -
hdu 3966 树链剖分第3遍
真心不好意思说话,写的越多,各种问题就暴漏出来了,这次更离谱,什么错误都有。。。不过还是过了。也明白了代码以后要写规范性,不能想当然。。。#include#include#pragma comment(linker, "/STACK:1024000000,1024000000")#include#includeusing namespace std;const int M = 50原创 2014-10-08 10:15:22 · 732 阅读 · 0 评论 -
CodeForces 191C 树链剖分 第4遍
很无奈,模板又一次无奈的打错了。。不过,很快便找到了。。题意:给一些边,有一些操作,每次操作,都要在这些边上加上1,求每个边的边权。。#include#include#include#includeusing namespace std;#define lson id << 1#define rson id << 1|1const int M = 100008;int to原创 2014-10-09 13:15:09 · 890 阅读 · 0 评论 -
HDU 3911 线段树区间合并
北京赛区快了,准备突击数据结构和图论,倒计时 18天,线段树区间合并,维护一个最长连续。。题意:给一个01串,下面有一些操作,问区间最长的连续的1的个数思路:很裸的线段树区间合并#include#include#include#include#include#define lson id << 1#define rson id << 1|1using namespace原创 2014-10-28 10:42:03 · 810 阅读 · 0 评论 -
Hdu 3804 树链剖分 第5遍
不能原谅自己的错误。。还怀#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#define lson id << 1#define rson id << 1|1#includeusing namespace std;const int M = 100008;int fath原创 2014-10-09 18:18:31 · 1082 阅读 · 0 评论 -
NYOJ 1085 AC自动机基础模板
今天学了AC自动机,可以说AC自动机是把匹配的串建立成为一颗trie,然后就和kmp 是一样的题意:判断在一篇文章中有多少单词出现过,并输出来#include#include#include#include#includeusing namespace std;const int maxn = 1000007;int cnt;struct Node{ Node *f原创 2014-10-18 10:36:30 · 808 阅读 · 0 评论 -
HDU 2795 线段树想法题 (第4天)
/* 线段树想法题,只有叶子节点放海报,那么每个叶子节点就是行*/#include#include#define lson id << 1#define rson id << 1 | 1using namespace std;struct Line{ int Max; int left,right; int mid() { retur原创 2014-08-11 13:02:25 · 391 阅读 · 0 评论 -
PKU 2828 Buy Tickets 线段树想法题 (第4天)
今天做了两道线段树,还有 昨天的原创 2014-08-11 19:36:00 · 427 阅读 · 0 评论 -
PKU 3468 线段树,线段树 第 3 天
/* 线段树第三天,一天一道线段树坚持下去你就是高手*//* 终于把一些简单的线段树理解了,明白了 lazy 标记的好处这是第三天了*/#include#includeusing namespace std;#define _ long long#define lson id<<1#define rson id<<1|1const _ Max = 500005;struct l原创 2014-08-10 09:54:10 · 454 阅读 · 0 评论 -
次小生成树
/****为什么要写这篇文章呢,隔壁班的一个同学问了我一道题,就是http://acm.nyist.net/JudgeOnline/problem.php?pid=118,这道题看了一下,是次小生成树,于是花费了两个小时学了一下,下面就是我的理解1,次小生成树,是除了最小生成树的,另外一种生成树,他的权值和是第二小的但是他可以与最小生成树的权值相同;2,我用的是克鲁斯卡尔算法,具体做法原创 2013-11-28 16:16:21 · 589 阅读 · 0 评论 -
nyist oj 119 士兵杀敌(三)之 线段树(静态实现)
//经历了,动态实现的超时,刚实现了 线段树,(静态实现)也是强过,此处贴个代码,备忘吧!!//题目连接:acm.nyist.net/JudgeOnline/problem.php?pid=119#include #include ;#include #define lson id<<1#define rson id<<1|1using namespace std;原创 2013-04-24 11:34:25 · 596 阅读 · 0 评论 -
字符串hash 函数模板
unsigned int BKDRHash(char *str) { unsigned int seed = 131; // 31 131 1313 13131 131313 etc.. unsigned int hash = 0; while (*str) { hash = hash * seed + (*str++); } re原创 2014-02-13 10:45:00 · 797 阅读 · 0 评论 -
新学了一个数据结构bitset();bnu 4141
#include#include #includeusing namespace std;int main(){ int n,x,y; while(~scanf("%x,%d,%d",&n,&x,&y)) { bitset bit(n); bit.set(x,0); bit.set(y,1);原创 2014-03-17 11:05:47 · 534 阅读 · 0 评论 -
多校第一场 hdu 4864
哎,真有点悲剧,以前学长交的数据结构的写法,没有学会,要不然这道题原创 2014-07-23 10:18:50 · 503 阅读 · 0 评论 -
hdu Bestcoder # 1 逃生 拓扑排序
这场比赛没有做,刚做了一下第一道,原创 2014-07-24 09:22:46 · 529 阅读 · 0 评论 -
树状数组 求逆序数
/* 本该学会的,现在才搞掉,还只是简单的 树状数组*/#include#include#include#include#define LL long longusing namespace std;int num[1000008],aa[1000008];int lobit(int x){ return x & -x;}LL sum (int x){原创 2014-08-06 16:46:35 · 544 阅读 · 0 评论 -
树状树组 插线问点 && 插点问线
/**插线问点。如此牛叉经典的解法,现在才学会****/#include#include#includeusing namespace std;int num[1000009];int lowbit(int x){ return x & (-x);}int sum (int x){ int t = 0; while(x>0) {原创 2014-08-01 10:25:46 · 571 阅读 · 0 评论 -
nyist 花儿朵朵 离散化 + 树状数组
#include#include#include#include#define LL long longusing namespace std;int num[1000008],a[500001],b[400001],d[400001],id,n;LL l[500001],r[500001];int lobit(int x){ return x & -x;}LL s原创 2014-08-06 18:30:49 · 555 阅读 · 0 评论 -
hdu 1698 线段树 成段更新 lazy
学了一下午,终于把线段树的一些基本知识原创 2014-08-08 19:16:44 · 469 阅读 · 0 评论 -
树的直径 poj 2631
树的直径:从任意一点出发,BFS找到最远的距离,然后在从该点出发BFS找到最远的距离#include #include #include #include #include #include #include #include using namespace std;const int maxn = 10008;const int inf = 0x3ffffff;stru原创 2014-11-03 16:47:19 · 728 阅读 · 0 评论