![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 52
Hillan_
An OIer From ZJ
展开
-
堆模版
#include#include#includeusing namespace std;const long longmax_data=10000000000000,min_data=-max_data;struct min_heap{ long long l; long long data[5000200]; void read() { scanf原创 2015-11-13 18:15:44 · 425 阅读 · 0 评论 -
BZOJ2843: 极地旅行社
裸LCT#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;struct Node{ Node *lc,*rc,*f; int data; int sum; bool Rev; Node *pl; inline bool h(){return f->lc==this||原创 2016-02-12 14:20:42 · 468 阅读 · 0 评论 -
BZOJ3653: 谈笑风生
对于每一个询问我们可以提出 Ans=min(dep[u]-1,k)*(size[u]-1)+u子树中到u距离<=k的节点的子树节点和 显然后面那个东西是可以用可持久化线段树搞得 好了#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>using namespace std;char c;#defin原创 2016-03-01 20:40:25 · 468 阅读 · 0 评论 -
BZOJ3669: [Noi2014]魔法森林
LCT一开始自己脑子抽用节点的权值表示连向父亲的边的长度后来发现不能拿来搞翻转然后看了别人的题解 发现居然可以新开一个点。。。。药丸之后又调试了一天 最后听了度教的话 重打。。发现好像是自己的Access打跪了。。。。完了。。。。一天只调好一道题。。。。去死吧 !#include#include#include#include#includeus原创 2016-02-20 18:07:29 · 327 阅读 · 0 评论 -
BZOJ2908: 又是nand
调试一个下午 我终于过了 QAQ主要是合并的时候比较坑#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>using namespace std;#define uint unsigned int#define ll long longchar c;inline void read(uint &a原创 2016-03-06 16:51:18 · 882 阅读 · 0 评论 -
BZOJ1901: Zju2112 Dynamic Rankings
第一次外层套权值线段树每次用splay提取区间然后在线段树上二分即可一开始想打替罪羊 后来。。差点砸电脑 还是splay好写#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<map>using namespace std;struct Node{ Node *lc,*r原创 2016-03-18 21:23:25 · 392 阅读 · 0 评论 -
BZOJ4408: [Fjoi 2016]神秘数&&BZOJ4299: Codechef FRBSUM
讲道理这道题的做法还是很神de 对于当前区间扩展可达到[0,max]则一定可以扩展到[0,sum(i)(i<=max+1)] 然后就是用可持久化线段树跑暴力 初始max=0然后一直到不能扩展是max+1即为答案#include<cstdio>#include<iostream>#include<cstdlib>#include<cstring>using namespace std;原创 2016-03-10 17:00:36 · 770 阅读 · 0 评论 -
BZOJ3998: [TJOI2015]弦论
一开始想构造后缀树来着后来发现就是SAM上面跑一下就好了 时间感人QAQ#include<cstdio>#include<iostream>#include<cstring>using namespace std;char c;inline void read(int &a){ a=0;do c=getchar();while(c<'0'||c>'9'); while(c原创 2016-02-26 21:22:24 · 374 阅读 · 0 评论 -
BZOJ3926: [Zjoi20150]诸神眷顾的幻想乡
这一题有点坑。。注意longlongSAM裸题。。。#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;struct Node{ int len; Node *f,*last,*ch[10]; Node(原创 2016-02-27 19:00:32 · 563 阅读 · 0 评论 -
BZOJ1095: [ZJOI2007]Hide 捉迷藏
Evan课件上讲了括号序列。。。 发现很厉害的样子 想了一个晚上才搞出来线段树维护就好了 岛娘: http://www.shuizilong.com/house/archives/bzoj-1095-zjoi2007hide-%E6%8D%89%E8%BF%B7%E8%97%8F/#include<cstdio>#include<iostream>#include<cstring>#i原创 2016-02-28 09:10:06 · 580 阅读 · 0 评论 -
BZOJ3514: Codechef MARCH14 GERALD07加强版
主席树+LCT 每次加边的时候判断一下是否成环 如果没有就加进去否则弹出环内比序号最小边 然后统计答案#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<cmath>using namespace std;char c;inline void read(int &a){原创 2016-02-28 11:36:20 · 571 阅读 · 0 评论 -
BZOJ3729: Gty的游戏
用splay维护DFS序混着脑袋打了一发 调试了一天没搞出来 重打就好了。。。 然后本地跑得起来OJ上RE炸了。。 然后发现是maker打错了#include<cstdio>#include<iostream>#include<cstring>#include<map>using namespace std;char c;inline void read(int&a){原创 2016-03-14 13:08:04 · 687 阅读 · 0 评论 -
BZOJ2741: 【FOTILE模拟赛】L
沃日 调试了一晚上发现是uint 爆了#include<cstdio>#include<iostream>#include<cmath>#include<cstring>using namespace std;#define uint unsigned int#define max(a,b) (a)>(b)?(a):(b)#define min(a,b) (a)<(b)?(a):(b)原创 2016-04-07 20:44:07 · 661 阅读 · 0 评论 -
BZOJ3676: [Apio2014]回文串
PAM裸题 关于PAM怎么构造我之前有个链接 然后就是每次加num就好了 最后统计一下 我打的代码常数打的吓人#include<cstdio>#include<iostream>#include<cstring>using namespace std;struct Node{ int len; Node *ch[31]; Node *last; int num;原创 2016-02-11 22:05:01 · 424 阅读 · 0 评论 -
BZOJ2806: [Ctsc2012]Cheat
23333调了好久发现是后缀边搞错了。。。DP我是直接Copy别人的。。。反正就是SAM+DP嘛。。。#include#include#include#includeusing namespace std; struct Node{ Node *last; Node *ch[3]; int len; Node(){len=0;last=原创 2016-02-09 09:19:06 · 540 阅读 · 0 评论 -
BZOJ3323: [Scoi2013]多项式的运算
很水的一道Splay维护题好吧我其实被卡的很惨。。。常数大的要死注意一下放标的顺序与时机这样可以大大减小常数#include#include#include#includeusing namespace std;char c;#define ll long longinline void read(ll &a){ a=0;do c=getchar();while(原创 2016-02-05 14:40:57 · 773 阅读 · 0 评论 -
BZOJ1208: [HNOI2004]宠物收养所 Splay
一开始没懂题目。。。。后来才发现这么水#include#include#includeusing namespace std;char c;inline int read(int &a){ a=0;do c=getchar();while(c'9'); while(c='0')a=(a<<3)+(a<<1)+c-'0',c=getchar();}inline i原创 2015-11-22 14:54:10 · 1147 阅读 · 0 评论 -
洛谷p1160 双向链表
题目大意:一个学校里老师要将班上N个同学排成一列,同学被编号为1~N,他采取如下的方法:1.先将1号同学安排进队列,这时队列中只有他一个人;2.2~N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1~i-1中某位同学(即之前已经入列的同学)的左边或右边;3.从队列中去掉M(M在所有同学按照上述方法队列排列完毕后,老师想知道从左到右所有同学的原创 2015-11-13 18:15:38 · 654 阅读 · 0 评论 -
BZOJ2049: [Sdoi2008]Cave 洞穴勘测
动态树 LCT 过得 由于是无根树我们需要换根,换根时打个标记表示需要旋转然后就好了原创 2015-11-24 18:53:37 · 516 阅读 · 0 评论 -
回文自动机 PAM
http://blog.csdn.net/lwfcgz/article/details/48739051这篇文章翻译地很详细了 感觉现在概念差不多了 晚上开始打代码PAM和SAM感觉差不多? 0.0然后貌似有很神奇的用处?(虽然我现在SAM学的都不怎么扎实。。。原创 2015-12-24 14:17:37 · 761 阅读 · 0 评论 -
PAM模板
对着别人程序打的。。。好歹打出来了是吧#include#include#includeusing namespace std;struct Node{ int len; Node *ch[31]; Node *last; int num; Node(){for(len=0;len<=30;len++)ch[len]=NULL;last=NULL;len=num原创 2015-12-24 17:00:34 · 510 阅读 · 0 评论 -
BZOJ1803: Spoj1487 Query on a tree III
裸的主席树+DFS序然后我差错查了好长时间 发现时查询的时候k没有减 应该到右子树结果到了左子树。。。#include#include#include#include#include#include#includeusing namespace std; char c;inline void read(int&a){ a=0;do c=getchar();原创 2015-12-22 21:09:25 · 706 阅读 · 0 评论 -
BZOJ3674: 可持久化并查集加强版&&BZOJ3673: 可持久化并查集 by zky
妈个鸡。。。。没加强的没有要求在线。。。我日了狗了 查了半天错。。。。反正就是用可持久化线段树维护一个可持久化数组具体看代码/************************************************************** Problem: 3674 User: liutian Language: C++原创 2015-12-22 17:43:02 · 545 阅读 · 0 评论 -
BZOJ1078: [SCOI2008]斜堆
http://www.cppblog.com/MatoNo1/archive/2013/03/03/192131.html可怕的结论%%%#include#include#includeusing namespace std;char c;inline void read(int &a){a=0;do c=getchar();while(c'9');while(c='0')a=原创 2015-12-20 16:14:05 · 526 阅读 · 0 评论 -
BZOJ2223: [Coci 2009]PATULJCI&&BZOJ3524: [Poi2014]Couriers
自己的智商又不够用了。。。。。一直错查了一天发现时New_Node的时候没有打return。。。。。这个错误之前做的题目已经出现过很多次了 感觉自己瞬间拉低整条街 智商很裸的静态区间k大值 用主席树2223:#include#include#include#include#includeusing namespace std;setD;char c;boo原创 2015-12-20 14:52:13 · 507 阅读 · 0 评论 -
BZOJ1146: [CTSC2008]网络管理Network
。。。我居然调试了一个下午 因为一个else 一个if。。。。果然自己太弱听Claris说这一题可以转化为DFS序然后容斥可以直接变成logn*logn*n 只能膜拜我的是logn*logn*logn*logn*n然后Jrmz说,这还不如暴力。。。。。反正就是很普通的一道树剖 然后在链上找k大值用树套树 由于只会外层线段树维护区间的写法 于是就打了3个log的#in原创 2015-12-19 15:43:47 · 2206 阅读 · 0 评论 -
bzoj4336: BJOI2015 骑士的旅行
各种状况。。。。考试的时候老师给了我们这一道题然后画了一个上午来码调了一天后来发现是平衡树的rank打错了。。。。还是那句话人傻没办法这一题和CTSC那一题很像 我是直接暴力树链剖分+线段树套spaly。。。 然后发现时间垫底。。。。。#include#include#include#include#includeusing namespace std;原创 2016-01-10 18:45:32 · 1017 阅读 · 1 评论 -
bzoj2243: [SDOI2011]染色
好吧本来看到就是一道裸地树剖嘛。。然后差错差了一个晚上。。发现时线段树下传标记的时候坑了连线段树都打不来了QAQ计算答案的时候需要注意一下其他什么都好说突然发现其实我的程序还是很好看的(误#include#include#includeusing namespace std;char c;inline void read(int &a){ a=0;do原创 2016-01-11 21:07:50 · 467 阅读 · 0 评论 -
BZOJ2850: 巧克力王国
KD树裸题很久以前就会打了但是一直没遇到裸题 今天刚好交一发感觉不是很懂删除的那一套理论QWQ#include<cstdio>#include<iostream>#include<cstring>#include<ctime>#include<algorithm>using namespace std;#define ll long longchar c;bool flag;in原创 2016-04-12 20:42:02 · 517 阅读 · 0 评论