
模板
文章平均质量分 50
Amber_lylovely
这个作者很懒,什么都没留下…
展开
-
线性筛
为了写更优美的筛法,也为纪念chp和xjh。var prime,notprime,phi:array [1..100000] of longint; n,i,j,cnt:longint;begin readln(n); for i:=2 to n do begin if notprime[i]=0 then begin cnt:=cnt+1; prim原创 2017-11-09 15:48:12 · 512 阅读 · 0 评论 -
洛谷 P2147 [SDOI2008]Cave 洞穴勘测 LCT
题目描述辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径。 洞穴都十分坚固无法破坏,然而通道不太稳定,时常因为外界影响而发原创 2018-03-14 17:17:01 · 147 阅读 · 0 评论 -
洛谷 P3803 【模板】多项式乘法(FFT)fft
题目描述给定一个n次多项式F(x),和一个m次多项式G(x)。请求出F(x)和G(x)的卷积。输入输出格式输入格式: 第一行2个正整数n,m。接下来一行n+1个数字,从低到高表示F(x)的系数。接下来一行m+1个数字,从低到高表示G(x))的系数。输出格式: 一行n+m+1个数字,从低到高表示F(x)∗G(x)的系数。输入输出样例输入样例#1: 1 2 1 2 1 2 1 输出样例#1原创 2018-04-12 21:39:41 · 400 阅读 · 0 评论 -
洛谷 P3808 【模板】AC自动机(简单版)
题目背景这是一道简单的AC自动机模板题。用于检测正确性以及算法常数。为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交。管理员提示:本题数据内有重复的单词,且重复单词应该计算多次,请各位注意题目描述给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。输入输出格式输入格式: 第一行一个n,表示模式串个数;下面n行每行一个模式串;下面一行一个文本串。输出格式: 一个数表示答案输原创 2018-04-18 17:22:20 · 227 阅读 · 0 评论 -
bzoj 4589: Hard Nim fwt
DescriptionClaris和NanoApe在玩石子游戏,他们有n堆石子,规则如下: 1. Claris和NanoApe两个人轮流拿石子,Claris先拿。 2. 每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。 不同的初始局面,决定了最终的获胜者,有些局面下先拿的Claris会赢,其余的局面Claris会负。 Claris很好奇,如果这n堆石子满...原创 2018-08-15 17:10:45 · 231 阅读 · 0 评论 -
AC自动机模版
注意:一个模式串可以被计算多次。 分析:每个节点记录fail树上到根的路径和。代码:#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <queue>const int maxn=1e6+7;using namespace std;int n,cnt;char s[maxn];str原创 2018-05-08 19:56:30 · 193 阅读 · 0 评论 -
洛谷 P4238 【模板】多项式求逆 ntt
题目描述给定一个多项式F(x)F(x)F(x),请求出一个多项式G(x)G(x)G(x),满足F(x)∗G(x)≡1(mod&amp;amp;amp;nbsp;xn)F(x)∗G(x)≡1(mod&amp;amp;amp;nbsp;xn)F(x)∗G(x)≡1(mod\ x^n )。系数对998244353998244353998244353取模。输入输出格式输入格式: 首先输入一个整数nnn,表示输入多项式的次数。 接着输入n...原创 2018-08-12 20:53:41 · 267 阅读 · 0 评论 -
[HDU]P4694 Important Sisters 支配树
题目大意: 给你n(n&amp;lt;=5∗104)n(n&amp;lt;=5∗104)n(nm(m&amp;lt;=105)m(m&amp;lt;=105)m(mnnn为源点,如果点nnn到点aaa的路径一定要经过点bbb,则说明bbb是aaa的important sister。询问每个点的important sister的编号和。分析: 一道支配树的模板题了。 某个点xxx的所有支配点就是它的important s...原创 2018-08-12 10:10:14 · 204 阅读 · 0 评论 -
洛谷 P4111 [HEOI2015]小Z的房间 矩阵树定理
题目描述 你突然有了一个大房子,房子里面有一些房间。事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子。在一开始的时候,相邻的格子之间都有墙隔着。 你想要打通一些相邻房间的墙,使得所有房间能够互相到达。在此过程中,你不能把房子给打穿,或者打通柱子(以及柱子旁边的墙)。同时,你不希望在房子中有小偷的时候会很难抓,所以你希望任意两个房间之间都只有一条通路。现...原创 2018-08-05 10:59:59 · 211 阅读 · 0 评论 -
CF317D Game with Powers sg函数
题目大意: VasyaVasyaVasya和PetyaPetyaPetya玩一个游戏,每人每次写一个x∈[1,n]x∈[1,n]x\in[1,n]的正整数。当xxx被写后,xxx及xxx的任意正整数幂都不能被写,写不了数字的人输。假设VasyaVasyaVasya为先手,问当两边都是最佳操作时,谁能获胜。分析: 我们可以把一些能用同样底数的幂次分组,即分成c,c2,c3....c,c2,c...原创 2018-07-19 16:10:14 · 510 阅读 · 0 评论 -
洛谷 P3369 【模板】普通平衡树(Treap/SBT)Treap
题目描述您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入 x 数 删除 x 数(若有多个相同的数,因只删除一个) 查询 x 数的排名(排名定义为比当前数小的数的个数 +1 。若有多个相同的数,因输出最小的排名) 查询排名为 x 的数 求 x 的前驱(前驱定义为小于 x ,且最大的数) 求 x 的后继(后继定义为大于 x ,且最小的数) 输入输出格...原创 2018-05-21 22:01:23 · 220 阅读 · 0 评论 -
洛谷 P3809 【模板】后缀排序 后缀数组
题目描述读入一个长度为 n n 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为 1 1 到 n n 。输入输出格式输入格式: 一行一个长度为 n n 的仅包含大小写英文字母或数字的字符串。输出格式: 一行,共n个整数,表示答案。输入输出样例输入样例#1: ababa ...原创 2018-05-16 17:58:19 · 414 阅读 · 0 评论 -
洛谷 P3804 【模板】后缀自动机
题目描述 给定一个只包含小写字母的字符串 SSS , 请你求出 SSS 的所有出现次数不为 111 的子串的出现次数乘上该子串长度的最大值。输入输出格式输入格式: 一行一个仅包含小写字母的字符串 SSS输出格式: 一个整数,为 所求答案输入输出样例输入样例#1: abab 输出样例#1: 4 说明对于 10%10%10\% 的数据, |S|&amp;lt;=10...原创 2018-08-18 16:36:14 · 269 阅读 · 0 评论 -
洛谷 P4239 【模板】多项式求逆(加强版)任意模数fft
题目描述给定一个多项式F(x)F(x)F(x),请求出一个多项式G(x)G(x)G(x),满足F(x)∗G(x)≡1(mod&amp;nbsp;xn)F(x)∗G(x)≡1(mod&amp;nbsp;xn)F(x)∗G(x)≡1(mod\ x^n )。系数对109+7109+710^9+7取模。输入输出格式输入格式: 首先输入一个整数nnn,表示输入多项式的次数。 接着输入nnn个整数,第iii个...原创 2018-08-19 22:29:43 · 723 阅读 · 0 评论 -
洛谷 P3377【模板】左偏树
题目描述如题,一开始有N个小根堆,每个堆包含且仅包含一个数。接下来需要支持两种操作:操作1: 1 x y 将第x个数和第y个数所在的小根堆合并(若第x或第y个数已经被删除或第x和第y个数在用一个堆内,则无视此操作)操作2: 2 x 输出第x个数所在的堆最小数,并将其删除(若第x个数已经被删除,则输出-1并无视删除操作)输入输出格式输入格式:第一行包含两个正整数N、M,分别表示一开始小根...原创 2018-12-07 21:50:21 · 184 阅读 · 0 评论 -
bzoj 3239: Discrete Logging BSGS
DescriptionGiven a prime P, 2 <= P < 231, an integer B, 2 <= B < P, and an integer N, 2 <= N < P, compute the discrete logarithm of N, base B, modulo P. That is, find an integer L such thatBL == N (mod原创 2018-03-11 19:51:31 · 213 阅读 · 0 评论 -
洛谷 P1903 [国家集训队]数颜色 带修改的莫队算法
题目: 洛谷 P1903分析:很显然的待修改的莫队。第一次打,感觉有点丑。代码:#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>const int maxn=10005;const int tot_color=1e6+2;using namespace std;struct node{原创 2018-03-04 12:47:18 · 367 阅读 · 0 评论 -
洛谷 P3806 【模板】点分治1 点分治模版题
题目描述给定一棵有n个点的树询问树上距离为k的点对是否存在。输入输出格式输入格式: n,m 接下来n-1条边a,b,c描述a到b有一条长度为c的路径接下来m行每行询问一个K输出格式: 对于每个K每行输出一个答案,存在输出“AYE”,否则输出”NAY”(不包含引号)输入输出样例输入样例#1: 2 1 1 2 2 2 输出样例#1: AYE 说明对于30%的数据n<=100对于60%原创 2018-03-07 17:31:41 · 403 阅读 · 0 评论 -
洛谷 P3389 【模板】高斯消元法
题目背景Gauss消元题目描述给定一个线性方程组,对其求解输入输出格式输入格式: 第一行,一个正整数n第二至n+1行,每行n+1个整数,为a1,a2…an和b,代表一组方程。输出格式: 共n行,每行一个数,第i行为xi (保留2位小数)如果不存在唯一解,在第一行输出”No Solution”.输入输出样例输入样例#1: 1 1 1 输出样例#1: 1.00 说明1<=n<=100, |原创 2017-07-03 09:14:00 · 317 阅读 · 0 评论 -
费用流模版
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 73564 Accepted: 28641 DescriptionEvery time it rains on Farmer John’s fields, a pond forms over Bessie’s favor原创 2017-03-14 16:51:25 · 264 阅读 · 0 评论 -
洛谷 P3371 【模板】单源最短路径
题目描述如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。输入输出格式输入格式: 第一行包含三个整数N、M、S,分别表示点的个数、有向边的个数、出发点的编号。接下来M行每行包含三个整数Fi、Gi、Wi,分别表示第i条有向边的出发点、目标点和长度。输出格式: 一行,包含N个用空格分隔的整数,其中第i个整数表示从点S出发到点i的最短路径长度(若S=i则最短路径长度为0,若从点S无法到达原创 2017-02-11 14:10:44 · 905 阅读 · 0 评论 -
洛谷 P3366 【模板】最小生成树
题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz输入输出格式输入格式: 第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000)接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi输出格式: 输出包含一个数,即最小生成树的各边的长度之和;如果该图不连通则输出orz输入输出样例输入样例#1:原创 2017-02-11 14:05:43 · 530 阅读 · 1 评论 -
洛谷 P3367 【模板】并查集
题目描述如题,现在有一个并查集,你需要完成合并和查询操作。输入输出格式输入格式: 第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi、Xi、Yi当Zi=1时,将Xi与Yi所在的集合合并当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则话输出N输出格式: 如上,对于每一个Zi=2的操作,都有一行输出,每行包含一个大写字母,为Y或者N输入输出样例输入原创 2017-02-11 14:09:07 · 348 阅读 · 0 评论 -
bzoj 2038 [2009国家集训队]小Z的袜子(hose) 莫队算法
题目: bzoj 2038分析:莫队算法模版题。代码:#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#define LL long long const int maxn=50003;using namespace std;struct node{ int l,r,id; LL原创 2018-02-28 20:48:00 · 166 阅读 · 0 评论 -
bzoj 2957 楼房重建 分块
Description 小A 的楼房外有一大片施工工地,工地上有N 栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。为了简化问题,我们考虑这些事件发生在一个二维平面上。小A 在平面上(0,0)点的位置,第i 栋楼房可以用一条连接(i,0)和(i,Hi)的线段表示,其中Hi 为第i栋楼房的高度。如果这栋楼房上任何一个高度大于0 的点与(0,原创 2018-02-17 17:42:15 · 195 阅读 · 0 评论 -
bzoj 1036 [ZJOI2008]树的统计Count 树链剖分
题目: bzoj 1036大意: 一棵树,三种操作,change(x,y),把节点x权值改为y,qmax(x,y),求x到y路径的最大值,qsum(x,y),求x到y路径权值和。分析:树链剖分模版题。代码:/************************************************************** Problem: 1036 User: begi原创 2018-02-27 20:50:59 · 180 阅读 · 0 评论 -
bzoj 1503: [NOI2004]郁闷的出纳员 平衡树treap
题目: bzoj 1503大意:3种操作:1.插入一个数。2.给每个数加或减一个数。3.求当前数列第k大。每个数不能小于m,某一时刻小于m会被自动删去,最后输出删去了多少个数。分析:平衡数模版题。在代码会加注释。代码:/************************************************************** Problem: 1503 User:原创 2018-02-28 17:45:09 · 237 阅读 · 0 评论 -
poj 2104 K-th Number 主席树
Description You are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structure that would be able to原创 2018-02-18 11:56:13 · 173 阅读 · 0 评论 -
洛谷 P3690 【模板】Link Cut Tree (动态树)LCT
题目描述给定n个点以及每个点的权值,要你处理接下来的m个操作。操作有4种。操作从0到3编号。点从1到n编号。0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。1:后接两个整数(x,y),代表连接x到y,若x到y已经联通则无需连接。2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。3:后接两个整数(x,y),代表将点x上的权值变成y。原创 2018-03-13 19:56:14 · 299 阅读 · 0 评论