自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

segtree的博客

自己选择的路,就算是跪着也要走完!!!

  • 博客(15)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 网络流初步之最大流(增广路算法)

网络流是一个联通图; 网络流有如下三个性质: 1.一条边上容量恒大于流量。 2.斜对称性,f(u,v)=-f(v,u); 3.对于非源点和汇点有sigema(i,j){i,j属于E}=0; 为了更方便算法的实现,一般根据原网络定义一个残量网络。其中r(u,v)为残量网络的容量。 r(u,v) = c(u,v) – f(u,v) *反向边也有r!!!! 增广路是指一条源点到汇点的

2017-02-10 22:51:37 691

原创 Dark的项链(树链剖分)

P2272 - Dark的锁链 Description 无向图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark有N – 1条主要边,并且Dark的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark还有M条附加边。 你的任务是把Dark斩为不连通的两部分。一开始Dark的附加边都处于无敌状态,你只能选择一条主要边切断。一旦你切断了一条主要

2017-02-10 14:11:47 308

原创 树链剖分

定义:  siz[]数组,用来保存以x为根的子树节点个数 top[]数组,用来保存当前节点的所在链的顶端节点 hson[]数组,用来保存重儿子 drep[]数组,用来保存当前节点的深度 fa[]数组,用来保存当前节点的父亲 id[]数组,用来保存树中每个节点剖分后的新编号 两遍dfs求出以上信息,连边成重链,按照新的编号建树(有的题目这一步可省略);剩下全是线段树的操作 查询或修改

2017-02-10 08:38:05 271

原创 树型DP

树型DP不同于普通的的DP之处在于:通过递归找出儿子的信息,在回溯的过程中DP,计算结果(似乎很像记忆化搜索。。。。。。)然后处理相关信息,回答询问》》》》》》》经典应用:点分治中求重心,树链剖分中求重儿子,等等。。。。。。。。。

2017-02-08 21:15:19 308

原创 点分治。。。。。

点分治,就是在树上分治,讲得很高大上。。。。。。。。 实际上就是findroot,answer两个操作; 根据分治的处理方法:分成若干个子问题 因此,在每次dfs都要查找root;据说这样就是优化。。。。

2017-02-07 11:53:47 223

原创 巧克力

在某年某月某日,小D莫名其妙的得到一块超级大的魔法巧克力,于是他决定将这块巧克力切成若干块送给幼儿园的其他小朋友。这是一块n*m的矩形巧克力,所以小D准备将它切成n*m块。 由于这块巧克力是一块魔法巧克力,所以必须按照特殊的方法进行切割。巧克力上共有n-1条横线和m-1条竖线,每次小D可以沿着其中的一条线切开某一块。而且这样切一次的代价只跟所切的线有关,而与所切的长度无关。沿着每条横线切一次的代

2017-02-06 16:08:40 1088

原创 离散化初步

离散化初步: 离散化对于处理数据值较大,数组无法存储,而值又与所求结果关系不大时有妙用 这里利用系统标准模板库STL实现,考场上建议用STL,手写会很麻烦的。。。。。。。。。 1.sort(a,a+n)排序。。。。这个不用说 2.unique(a,a+n)去重,返回最后那个完成去重的点的位置,好像是地址,所以减一个a; 3.lower-boud(a,a+n,x)返回a[0]-a[n-

2017-02-04 22:21:20 521

原创 NOI全国赛(1998)——围巾裁剪

裁缝有一块非常珍贵的丝绸围巾。可惜的是,围巾的某些部分已经被蛀虫给咬坏了。裁缝当然不愿意就这么把围巾给丢了,于是,他想把围巾给裁成两块小围巾送给他的两个女儿。自然,两块小围巾的面积之和越大越好。  这块围巾是一个正三角形,三条边被均匀地分成了N段,即这个正三角形被均匀地分成了N2个单元,每个单元是一个面积为1的正三角形。图一所 示为一个N=5的围巾,图中带阴影的单元表示被蛀虫咬坏的部分。从上往下

2017-02-03 21:55:01 734

原创 关于Tarjan(3)——离线LCA

LCA(最近公共祖先),指对于一棵树上任意两个节点往上走最早都能到达的节点。 求LCA有两种方法,一种是倍增,另一种则是Tarjan。。。。。。。。 Tarjan巧妙利用并查集的思想; 这里的Tarjan是离线算法 先Tarjan下去; 首先有fa[NUM]=num;  回溯时将子节点的fa变为num 如果对于num的询问中另一个点已经访问; 那他们的LCA为另一个点的find(f

2017-02-02 20:11:37 228 3

原创 丑数(USACO)

这个题是一个动态规划加优化的经典题 1246 丑数   USACO  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解 题目描述 Description 对于一给定的素数集合 S = {p1, p2, ..

2017-01-29 23:37:24 1110 2

原创 NOI全国赛(2001)--食物链

今天写了道并查集的题,看来并查集的题刷少了,,,,,用法好神奇啊!!!开三倍并查集 用i表示自己,i+n存天敌,i+2*n存可以克制de,再逻辑判断一下即可。 所以,要意识到并查集的分类处理可以开不同倍数的空间来适应题目要求。 1074 食物链   2001年NOI全国竞赛  时间限制: 3 s  空间限制: 64000 KB  

2017-01-25 16:28:03 308

原创 HNOI(湖南省选试题)——永无乡

今天写了一道十分巧妙的数据结构题———永无乡 (看的题解。。。。。。) 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛 b 是连 通的。现在有两种操

2017-01-23 22:13:03 318

原创 关于Tarjan(2)

Tarjan有第二个神奇的用法,求强连通分量!!!!!!!!!!!!!!!!!!! 同样利用了dfn:dfs序,low:能回到的最早祖先的dfn; 废话少说 上板子 #include #include #include #include #include #include #include #include//栈的stl需要头文件 #include using namespace std;

2017-01-23 10:26:14 174

原创 关于Tarjan(1)

众所周知, Tarjan这个人特别调子,在图论等方面有重大成效,如离线求LCA,强连通分量,割点等。 这里只对求割点进行代码剖析。 所以 上板子 void tarjan(int now){//now当前节点 int num1=0;//dfn为时间戳,low为时间戳最小的祖先 dfn[now]=low[now]=++num; vis[now]=true; for(int i=

2017-01-22 19:06:10 288

原创 关于Trie KMP AC自动机

个人认为trie,KMP,AC自动机是思想非常明确的,AC自动机的性质是与KMP的思想类似的(失配后跳转) 而KMP是线性的,AC自动机是在tire树上跑KMP,为方便那些不会用指针的小朋友(我也不会。。。。) 我的tire树,kmp的next,AC自动机的fail全是用数组实现的!!!!(还有谁???!!!) 所以 上板子 1,KMP void make() {//建立next数组

2017-01-20 09:20:33 453 2

flappy_bird_final.zip

上个学期数逻课做的flappybird大作业

2021-05-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除