自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 快速IO

namespace IO {#define gc() (iS==iT?(iT=(iS=ibuff)+fread(ibuff,1,SIZ,stdin),(iS==iT?EOF:iS++)):iS++)const int SIZ = 1 << 21 | 1;char iS,iT,ibuff[SIZ],obuff[SIZ],oS = obuff,oT=oS+SIZ-1,fu[...

2019-08-14 21:03:00 209

转载 splay

splay#include<bits/stdc++.h>#define inf 2147483647#define res register intusing namespace std; const int N=200010;int tot;int sz[N],val[N],ch[N][2],fa[N];struct SPLAY{ int root;...

2019-07-24 15:19:00 88

转载 FHQtreap

#include<bits/stdc++.h>#define inf 2147483647using namespace std;const int N=100010;int ch[N][2],val[N],key[N],sz[N],tot;struct FHQtreap{ int rt,x,y,z; inline void pushup(int x...

2019-07-24 15:18:00 201

转载 二叉查找树(平衡树的根源)

#include<bits/stdc++.h>using namespace std;const int N=100010;int root,tot;int sz[N],val[N],ch[N][2],fa[N];void pushup(int x){ if(!x)return; sz[x]=1; if(ch[x][0])sz[x]+=sz[...

2019-07-22 21:04:00 87

转载 bzoj1710: [Usaco2007 Open]Cheappal 廉价回文

区间DP设\(f[i][j]\)为从\(i\)到\(j\)这段区间被修正为回文串的最小花费,\(c[ch][0]\)为添加字符\(ch\)的花费,\(c[ch][1]\)为删去字符\(ch\)的花费,\(s\)为题目给出的串。为可以用如下几个转移:用\([i+1,j]\)区间转移:这种转移相当于在\([i+1,j]\)区间的左边加入一个字符,让\([i,j]\)变为回文的方法为在左...

2019-07-09 15:18:00 97

转载 zjoj1706: [usaco2007 Nov]relays 奶牛接力跑

矩阵乘法(快速幂)为说明方便,这里让\(k\)为点数,\(n\)为路径长度。先将点都离散化,这样最后的点只有\(2k\)个。先考虑一种暴力,每次用\(O(k^3)\)的复杂度来暴力更新,设当前长度\(l\)点的两两最短路矩阵为\(S\),现在要转移到\(l+1\)时的最短路矩阵\(T\)。我们考虑用每条边更新,对于某条从\(x\)连向\(y\)的长度为\(z\)的边,对于任一点\(...

2019-07-09 10:40:00 77

转载 bzoj1784: [Usaco2010 Jan]island

现在居然出现一道题只有\(pascal\)题解没有\(C++\)题解的情况,小蒟蒻要打破它。思维题:分类讨论回归正题,此题十分考验思维,首先我们要考虑如何把不会走的地方给填上,使最后只用求一遍这个图的周长即可。考虑目标点的几种情况:\(0.\)当前点周围有三个\(A\)或四个\(A\)时:这个点肯定不会走到,直接用\(A\)填上。\(1.\)当前点夹在两个点中间,无法判断这...

2019-07-02 17:54:00 104

转载 [PKUSC2018]真实排名

组合数学对每个数,先分类讨论,将答案分为这个数有翻倍和这个数没翻倍。在讨论前,我们规定:\(low(x)\)为小于等于这个数的数的个数,当前数为\(x\)。subtask1如果这个数没翻倍:我们考虑哪些数翻倍不会影响这个数的排名,一种是翻倍后依然小于\(x\)的,一种是本来就大于等于\(x\)的。那么对于第一种情况,情况数为\[C(low((x+1)/2-1)+n-low(x...

2019-05-23 09:49:00 67

转载 [PKUSC2018]主斗地

暴搜非常暴力的搜索,以至于我都不相信我能过。方法是:暴力枚举所有牌型,然后暴力判断是否可行。暴力枚举部分:非常暴力:void dfs(int x,int l){ if(l==0){ flag=0; check(1,0,0,0,0); if(flag)ans++; return; } if(x...

2019-05-23 09:46:00 244

转载 多项式总结

Part1:FFT(fast fast tle)LuoguP3803 【模板】多项式乘法(FFT)前置知识:复数,单位根,多项式的系数表达法,多项式的点值表达法复数:可以表示为\((a+bi)\),可以看做原点到\((a,b)\)一个向量,其中\(i=\sqrt{-1}\)。复数可以进行加,减,乘(向量的除法有点问题),其中\[(a+bi)+(c+di)=((a+c)+(...

2019-05-20 10:33:00 306

转载 [SDOI2011]消耗战(虚树+树形动规)

虚树dp虚树的主要思想:不遍历没用的的节点以及没用的子树,从而使复杂度降低到\(\sum\limits k\)(k为询问的节点的总数)。所以怎么办:只把询问节点和其LCA放入询问的数组中。1、建虚树q.clear();int m;scanf("%d",&m);for(int i=1;i<=m;++i){ int x; scanf("...

2019-03-29 17:19:00 106

转载 Maximum repetition substring(POJ - 3693)(sa(后缀数组)+st表)

The repetition number of a string is defined as the maximum number \(R\) such that the string can be partitioned into \(R\) same consecutive substrings. For example, the repetition number of "aba...

2019-01-22 14:08:00 80

转载 最小割(zjoi2011,bzoj2229)(最小割树)

小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点\(s,t\)不在同一个部分中,则称这个划分是关于\(s,t\)的割。 对于带权图来说,将所有顶点处在不同部分的边的权值相加所得到的值定义为这个割的容量,而\(s,t\)的最小割指的是在关于\(s,t\)的割中容量最小的割” 现给定一张...

2018-12-13 19:39:00 95

转载 不同的最小割(cqoi2016,bzoj4519)(最小割树)

学过图论的同学都知道最小割的概念:对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点\(s,t\)不在同一个部分中,则称这个划分是关于\(s,t\)的割。对于带权图来说,将所有顶点处在不同部分的边的权值相加所得到的值定义为这个割的容量,而\(s,t\)的最小割指的是在关于\(s,t\)的割中容量最小的割。而对冲刺\(NOI\)竞赛的选手而言,求带权图中两点的最小...

2018-12-13 19:30:00 118

转载 [模板]最小割树(Gomory-Hu Tree)(luogu4897)

给定一个\(n\)个点\(m\)条边的无向连通图,多次询问两点之间的最小割两点间的最小割是这样定义的:原图的每条边有一个割断它的代价,你需要用最小的代价使得这两个点不连通Input第一行两个数\(n,m\)接下来\(m\)行,每行3个数\(u,v,w\),表示有一条连接\(u\)与\(v\)的无向边,割断它的代价为\(w\)接下来这一行有一个整数\(Q\),表示询问次数接下来...

2018-12-13 18:31:00 221

转载 sam(后缀自动机)

后缀自动机ins解释void ins(int c){ int p=last;//将当前节点的parent节点变为last int np=++cnt;//建立新节点 last=np;//将last设为当前节点 l[np]=l[p]+1;//当前节点的长度为父节点+1 for(;p&&!ch[p][c];p=fa[p])//若...

2018-12-13 13:11:00 77

转载 Tree with Small Distances(cf1029E)(树形动规)

You are given an undirected tree consisting of \(n\) vertices. An undirected tree is a connected undirected graph with \(n−1\) edges.Your task is to add the minimum number of edges in such a way...

2018-12-12 20:38:00 189

转载 New Distinct Substrings(spoj705)(sam(后缀自动机))

本题同这题转载于:https://www.cnblogs.com/zhenglier/p/10104401.html

2018-12-11 19:13:00 107

转载 Distinct Substrings(spoj694)(sam(后缀自动机)||sa(后缀数组))

Given a string, we need to find the total number of its distinct substrings.Input\(T-\) number of test cases. \(T<=20\);Each test case consists of one string, whose length is \(<=1000\)...

2018-12-11 19:11:00 113

转载 小猴打架(luogu4430)(数论+生成树计数)

一开始森林里面有\(N\)只互不相识的小猴子,它们经常打架,但打架的双方都必须不是好朋友。每次打完架后,打架的双方以及它们的好朋友就会互相认识,成为好朋友。经过\(N-1\)次打架之后,整个森林的小猴都会成为好朋友。 现在的问题是,总共有多少种不同的打架过程。 比如当\(N=3\)时,就\(\{1-2,1-3\}\{1-2,2-3\}\{1-3,1-2\}\{1-3,2-3\}\{2-3...

2018-12-11 16:00:00 210

转载 因子和(luoguP1593)(等比数列求和+逆元)

输入两个正整数\(a\)和\(b\),求\(a\cdot b\)的因子和。结果太大,只要输出它对9901的余数。Input仅一行,为两个正整数\(a\)和\(b\)(\(0≤a,b≤50000000\))。Outputa^b的因子和对9901的余数。Sample Input2 3Sample Output15题意:中文题面,不解释。题解:将\(a^b\)分为\(b...

2018-12-11 13:42:00 138

转载 Organising the Organisation(uva10766)(生成树计数)

InputOutputSample Input5 5 23 13 44 51 45 34 1 11 43 0 2Sample Output383题意:有一张图上有\(n\)个点,两两之间有一条边,现在切断\(m\)条边,求剩下的图中有多少种不同的生成树。题解:生成树计数做这道题,需要三个预备知识:\(Kirchhoff\)矩阵首先先构造两...

2018-12-11 10:06:00 196

转载 蒲公英(bzoj2724)(分块+区间众数)

InputOutputSample Input6 3 1 2 3 2 1 2 1 5 3 6 1 5Sample Output1 2 1 HINT\(n <= 40000\),$ m <= 50000$题意:求区间众数题解:见代码//解决本题的重要性质: //对于两个区间a,b,其中已知a区间的众数k //则众数一定为k或是b区间...

2018-12-11 09:56:00 183

转载 任务查询系统(cqoi2015,bzoj3932)(主席树)

最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。超级计算机中的任务用三元组\((S_i,E_i,P_i)\)描述,\((S_i,E_i,P_i)\)表示任务从第\(S_i\)秒开始,在第\(E_i\)秒后结束(第\(S_i\)秒和\(E_i\)秒任务也在运行),其优先级为\(P_i\)。同一时间可能有多个任务同时执行,它们的优先级可能相同,也可能...

2018-12-11 09:53:00 147

转载 雨天的尾巴(bzoj3307)(线段树合并+树上差分)

\(N\)个点,形成一个树状结构。有\(M\)次发放,每次选择两个点\(x,y\)对于\(x\)到\(y\)的路径上(含\(x,y\))每个点发一袋\(Z\)类型的物品。完成所有发放后,每个点存放最多的是哪种物品。Input第一行数字\(N\),\(M\)接下来\(N-1\)行,每行两个数字\(a,b\),表示\(a\)与\(b\)间有一条边再接下来\(M\)行,每行三个数字...

2018-12-10 20:54:00 79

转载 字符串(tjoi2016,heoi2016,bzoj4556)(sam(后缀自动机)+线段树合并+倍增+二分答案)

佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物。生日礼物放在一个神奇的箱子中。箱子外边写了一个长为\(n\)的字符串\(s\),和\(m\)个问题。佳媛姐姐必须正确回答这\(m\)个问题,才能打开箱子拿到礼物,升职加薪,出任CEO,嫁给高富帅,走上人生巅峰。每个问题均有\(a,b,c,d\)四个参数,问你子串\(s[a..b]\)的所有子串和\(s[c..d]\)的最长公...

2018-12-10 20:33:00 117

转载 世界线(bzoj2894)(广义后缀自动机)

由于春希对于第二世代操作的不熟练,所以刚使用完\(invasion process\)便掉落到了世界线之外,错综复杂的平行世界信息涌入到春希的意识中。春希明白了事件的真相。在一个冬马与雪菜同时存在的世界里,傲娇的冬马最终还是博得了春希的内心。然而看着好友雪菜的消瘦,内心愧疚的冬马启动了第二世代操作,想找到一个雪菜最终成功的世界,却发现哪里都没有。绝望的冬马决定耗尽自己全部的第二世代操作...

2018-12-10 20:17:00 128

转载 诸神眷顾的幻想乡(zjoi2015,bzoj3926)(广义后缀自动机)

幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日。粉丝们非常热情,自发组织表演了一系列节目给幽香看。幽香当然也非常高兴啦。这时幽香发现了一件非常有趣的事情,太阳花田有\(n\)块空地。在过去,幽香为了方便,在这\(n\)块空地之间修建了\(n-1\)条边将它们连通起来。也就是说,这\(n\)块空地形成了一个树的...

2018-12-10 20:07:00 81

转载 弦论(tjoi2015,bzoj3998)(sam(后缀自动机))

对于一个给定长度为\(N\)的字符串,求它的第\(K\)小子串是什么。Input第一行是一个仅由小写英文字母构成的字符串\(S\)第二行为两个整数\(T\)和\(K\),\(T\)为0则表示不同位置的相同子串算作一个。\(T=1\)则表示不同位置的相同子串算作多个。\(K\)的意义如题所述。Output输出仅一行,为一个数字串,为第\(K\)小的子串。如果子串数目不足\(K\)...

2018-12-10 19:55:00 72

转载 LCS2 - Longest Common Substring II(spoj1812)(sam(后缀自动机)+多串LCS)

A string is finite sequence of characters over a non-empty finite set \(\sum\).In this problem, \(\sum\) is the set of lowercase letters.Substring, also called factor, is a consecutive sequence...

2018-12-10 18:39:00 125

转载 LCS - Longest Common Substring(spoj1811) (sam(后缀自动机)+LCS)

A string is finite sequence of characters over a non-empty finite set \(\sum\).In this problem, \(\sum\) is the set of lowercase letters.Substring, also called factor, is a consecutive sequence...

2018-12-10 18:26:00 127

转载 Lexicographical Substring Search (spoj7259) (sam(后缀自动机)+第k小子串)

Little Daniel loves to play with strings! He always finds different ways to have fun with strings! Knowing that, his friend Kinan decided to test his skills so he gave him a string \(S\) and aske...

2018-12-10 17:54:00 135

转载 Substrings(SPOJ8222) (sam(后缀自动机))

You are given a string \(S\) which consists of 250000 lowercase latin letters at most. We define \(F(x)\) as the maximal number of times that some string with length \(x\) appears in \(S\). For e...

2018-12-10 17:36:00 107

空空如也

空空如也

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

TA关注的人

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