自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 模板目录

3. 专题和知识点详细内容​ 下面用表格的形式列出了竞赛中用到的算法知识点,约300个。​ 本文作者估计,铜牌和银牌需要约200个知识点,其他的是金牌。​ **注:**表格中的“典型题”,不一定是模板题,只作为进一步了解的参考。3.1. 数学Mathematics3.1.1数论Number Theory知识点英文典型题说明GCD、LCM1素数判断...

2019-08-09 10:21:59 871

原创 Wa的技巧展示 (非技术原因)

思考不够多元化 (DP/网络流之争)队友的思路带歪了HDU 上TLE 有时候是因为 空间开小了字典树需要的空间是 O(N∗len)O(N*len)O(N∗len)

2019-08-05 21:35:19 256

转载 知识点 - 树的树边、前向边、后向边

知识点 - 树的树边、前向边、后向边解决问题类型:图论构造、图论性质实现树边,前向边,后向边,横叉边,应该说,不是一个图本身有的概念,应该是图进行DFS时才有的概念。图进行DFS会得到一棵DFS树(森林),在这个树上 才有了这些概念。对图进行DFS,可以从任意的顶点开始,遍历的方式也是多样的,所以不同的遍历会得到不同的DFS树,进而产生不同的树边,前向边,后向 边,横叉边。所以这4种边,是...

2019-10-03 21:41:04 3945

转载 知识点 - 约瑟夫环(公式总结)

知识点 - 约瑟夫环(公式总结)一、nnn个人,1至m报数,问最后剩下来的人的编号公式f(n,m)=(f(n−1,m)+m)%nf(n,m) = (f(n-1,m)+m)\%nf(n,m)=(f(n−1,m)+m)%nf(0,m)=0f(0,m) = 0f(0,m)=0复杂度 O(n)O(n)O(n)代码typedef long long ll;ll calc(int n, ll ...

2019-09-28 21:24:52 1942

转载 知识点 - 点分治

知识点 - 点分治解决问题类型:树上路径问题的工具,举个例子:给定一棵树和一个整数 kk ,求树上边数等于 kk 的路径有多少条实现原理如图,假设我们选出一个根 RootRootRoot ,那么答案路径肯定是要么被一个子树所包含,要么就是跨过 RootRootRoot,在黑子树中选择一部分路径,在红子树中选择一部分路径,然后从 RootRootRoot 处拼起来形成一条答案路径...

2019-09-19 12:05:55 204

原创 题解 - 母函数 卷积 二项式系数 Sequence @ HDU multi #1

题解 - 母函数 卷积 二项式系数 Sequence @ HDU multi #1题意hdu6589给定n个数aia_iai​数组,令bi=∑j=i−k⋅xaj(0≤x,1≤j≤i) where k∈{1,2,3}b_i=\sum_{j=i-k\cdot x}a_j(0\le x,1\le j\le i) \mathrm{\ where\ }k\in\{1,2,3\}bi...

2019-09-14 20:27:32 246

转载 知识点 - 虚树

知识点 - 虚树解决问题类型:利用虚树,可以对于指定多组点集 SSS 的询问进行每组 O(∣S∣log2n+f(∣S∣))O(|S|log_2n+f(|S|))O(∣S∣log2​n+f(∣S∣)) 的回答,其中 f(x)f(x)f(x)指的是对于树上有 xxx 个点的情况下单组询问这个问题的时间复杂度。可以看到,这个复杂度基本上(除了那个 log2nlog_2nlog2​n以外)与 nnn ...

2019-09-13 10:41:15 323 2

原创 知识点 - 杜教筛

知识点 - 杜教筛解决问题类型:积性函数前缀和,做法是 将原函数和恒等函数卷积得到F,对F求前缀和并使用微扰法求出原函数前缀和。模板://注意mp<int,ll>//一般很卡常,可以考虑换语言交ll GetSum(int n) { // 算 f 前缀和的函数 ll ans = f_g_sum(n); // 算 f * g 的前缀和 // 以下这个 for 循环是整...

2019-09-12 19:33:04 151

原创 题解 - GCPC 2018 M - Mountaineers (启发式合并)

题解 - GCPC 2018 M - Mountaineers (启发式合并)题目链接: M - Mountaineers题意给你一个m∗nm*nm∗n 的格子矩阵,每个格子都填着一个数字,在每个格子上都可以上下左右的移动。现在有QQQ个询问,询问所有连接两个点之间路径上最大值最小的价值是多少。数据范围: 1≤m,n≤500,1≤Q≤1051 \le m,n \le 500,1 \le ...

2019-09-11 19:46:59 225

原创 知识点 - 数论函数导论

知识点 - 数论进阶abstract:整除分块,积性函数,线性筛,莫比乌斯反演,迪利克雷卷积,积性函数前缀和,0.引入Gym - 101485D debugging(之后会发现,这道dp的转移方程和杜教筛的转移如出一辙。)题意有一份包含1个 bug 的n( 1≤????≤1e6)行代码,运行一次到崩溃需要的时间为 r( 1≤????≤1e9)。你可以任意行添加 printf 语句来输出调试,即你...

2019-09-10 20:54:58 514

原创 知识点 - 线性筛

知识点 - 线性筛原理:筛质数:埃氏筛法过程中,每个数会被其所有质因数筛一遍,导致O(nlogn)O(nlogn)O(nlogn)的复杂度。for (int i = 2; i <= n; i++) if (is_prime[i] && (long long)i * i <= n) { for (int j = i * i; j <= n;...

2019-09-10 20:35:40 252

原创 知识点 - CDQ分治

知识点 - CDQ分治解决问题类型:三维偏序问题前置知识树状数组分治思想实现一. cmp函数cmp函数在第一比较元素相等时应该返回后面元素较大的原来的CDQ分治是可以不严格的,所以在完全相等的时候我们的操作是直接将其合并为一个节点。而现在不严格时,为了不让相同元素进行干扰,我们就让大的在前面,这样就一定不会有问题了。二. 树状数组要修改现在要求树状数组的功能时 dp[i...

2019-09-10 19:07:27 156

原创 知识点 - 整除分块

知识点 - 整除分块1.约数个数令τ(n)\tau(n)τ(n)为n的约数个数,求其前缀和。解析若n的质因数分解为n=p1e1⋅p2e2⋯pkekn=p_1^{e_1} \cdot p_2^{e_2} \cdots p_k^{e_k}n=p1e1​​⋅p2e2​​⋯pkek​​,则τ(n)=(e1+1)⋅(e2+1)⋯(ek+1)\tau(n) = (e_1 + 1) \cdot (e...

2019-09-09 20:28:00 240

原创 分块打表 H. The Nth Item @ The 2019 Asia Nanchang First Round Online Programming Contest

分块打表 H. The Nth Item @ The 2019 Asia Nanchang First Round Online Programming Contest题意1e7次询问f(n)%998244353: n<1e18f(0)=0,f(1)=1;f(i)=3f(i−1)+2f(i−2)f(0)=0,f(1)=1;\\f(i)=3f(i-1)+2f(i-2)\\f(0)=...

2019-09-09 17:04:56 227

转载 知识点 - 李超树

知识点 - 李超树解决问题类型:李超树是一种线段树的应用,主要应用场合为:单点集合域,区间等差插入,求单点最值。动态地插入多条二维线段,询问某个xxx对应的yyy值的最值。修改[L,R,b,k][L,R,b,k][L,R,b,k],对于第i∈[L,R]i∈[L,R]i∈[L,R]个集合,插入b+(i−L)kb+(i−L)kb+(i−L)k,询问某个集合的最大值。实现每个线段树结...

2019-09-09 11:15:30 152

转载 知识点 - 支配树

知识点 - 支配树解决问题类型:有向图中求解,必经点,必经边。前置知识学会构建dfs树,对于dfn序有简单的了解对于树上两点路径有初步的认识,知道LCA的概念知道带权并查集的合并方法(合并子树时需要使用)概念支配点很久很久以前,有一张有向图,有向图有一个起点SSS,有一个叫小X的强盗,占据一个点拦路打劫。当小X占据了x点后,若从SSS出发就到不了yyy点了,那么xxx就是yy...

2019-09-07 20:57:26 214

原创 二维偏序 I query @ The Preliminary Contest for ICPC Asia Xuzhou 2019

二维偏序 I query @ The Preliminary Contest for ICPC Asia Xuzhou 2019I query @ The Preliminary Contest for ICPC Asia Xuzhou 2019 题意1e5个数1~n,1e5个询问(l,r)(l,r)(l,r),问(l,r)(l,r)(l,r)中有几对数(i,j)(i,j)(i,j)满足mi...

2019-09-07 20:37:39 134

原创 四面体展开 Rendezvous on a Tetrahedron @ 2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest

四面体展开 Rendezvous on a Tetrahedron @ 2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest题意Rendezvous on a Tetrahedron有一个正四面体,两只虫子在上面沿直线爬行,爬过正四面体的边时它与边的夹角不变。给出它们爬行的方向和距离,问它们最后是否在一个面上。银牌题。分析按照套路把正四面体...

2019-09-06 18:02:11 351

原创 题解 CF - 101986 F Pizza Delivery (最短路+DAG必经点)

题解 CF - 101986 F Pizza Delivery (最短路+DAG必经点)题目链接: https://codeforces.com/gym/101986题意:给你NNN个点,MMM条边的有向图,无重边自环,每条边都有边权wiw_iwi​,设置起点为1,终点为2,现在要求对每条边询问一下:如果将这条边的方向取反,即原来是u→vu \rarr vu→v现在修改为v→uv\rarr...

2019-09-06 17:04:10 534

原创 题解 - 牛客多校第八场 H Playing games (想法+Fwt)

题解 - 牛客H Playing games (想法+Fwt)题目链接:https://ac.nowcoder.com/acm/contest/146/H题意给出N个数字,现在要求取出最少的数字,使其数组剩下的值异或和为0数据范围:1≤N,Val≤5∗1051\le N,Val \le 5*10^51≤N,Val≤5∗105思路根据线性基的思想,我们不难想到,最多取出19个数字,一定...

2019-09-05 21:28:24 337

原创 圆的凸包 误差分析 B Craters @ 2017 ECNA Regional Contest

圆的凸包 误差分析 B Craters @ 2017 ECNA Regional Contest题意Craters200个圆,求把它们围起来所需要栅栏的最小长度,要求栅栏和圆距离不小于10.捧杯题。分析首先画一下,猜想原问题等价于将每个圆半径+10后,求将每个圆包起来的”凸包“周长。最直接的做法就是每个圆两两之间作切线,求切点,对所有切点作凸包。然后将圆弧加上去。此做法要求圆圆切线...

2019-09-05 20:09:18 229

转载 知识点 - 快速沃尔什变换

知识点 - 快速沃尔什变换解决问题类型:FWTFWTFWT是用来处理位运算(异或、与、或)卷积的一种变换。位运算卷积是什么?形如f[i]=∑j⊕k==ig[j]∗h[k]f[i]=∑_{j⊕k==i}g[j]∗h[k]f[i]=∑j⊕k==i​g[j]∗h[k]的卷积形式(其中⊕⊕⊕为位运算)就是位运算卷积。如果暴力枚举的话,时间复杂度是O(n2)O(n^2)O(n2),但运用FWTFWTFW...

2019-09-04 14:57:30 359

转载 知识点 - SOS-DP

知识点 - SOS-DP解决问题类型:全称 Sum over Subsets dynamic programmingSum\ over\ Subsets\ dynamic\ programmingSum over Subsets dynamic programming ,子集和dpF[mask]=∑i∈mask...

2019-09-04 14:56:02 466

原创 知识点 - 高维前缀和

知识点 - 高维前缀和解决问题类型:求解多维数组的前缀和,或者是求一个集合中所有有效子集的累加。前置知识前缀和一维前缀和:for(int i=1;i<=n;i++) b[i]=b[i-1]+a[i];二维前缀和:for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) b[i][j]=b[i-1][j...

2019-09-03 10:45:44 741 2

转载 知识点 - 差分约束系统

知识点 - 差分约束系统解决问题类型:背景是给你若干个不等式,形如 xi−xj≤bxi−xj≤bxi−xj≤b,需要你判断x的解的存在性或是最优解而差分约束系统即为这个问题转化为一个图论问题,进而跑最短路来判环或求最值距离(最优解)。这里转化的原理是三角不等式,即d(v)−d(u)≤cost(u,v)d(v)−d(u)≤cost(u,v)d(v)−d(u)≤cost(u,v),可以建为一条...

2019-08-31 17:05:52 116

原创 凸包内点的数量 J-Saint John Festival @ 2015-2016 ACM-ICPC Southwestern Europe Regional Contest (SWERC 15)

凸包内点的数量 J-Saint John Festival @ 2015-2016 ACM-ICPC Southwestern Europe Regional Contest (SWERC 15)题意给你n个红点,m个黑点,每个包含在红点三角形中的黑点对答案有一个贡献(同黑点被多个三角形包含只算一次)。2015-2016 ACM-ICPC Southwestern Europe Regio...

2019-08-31 16:57:59 302

转载 知识点 - 生成树计数

知识点 - 生成树计数解决问题类型:求一个无向图的所有生成树的方案数复杂度:O(N3)O(N^3)O(N3)实现新的方法介绍下面我们介绍一种新的方法——Matrix−TreeMatrix-TreeMatrix−Tree定理(KirchhoffKirchhoffKirchhoff矩阵-树定理)。Matrix−TreeMatrix-TreeMatrix−Tree定理是解决生成树计数问题最...

2019-08-31 16:46:13 306

原创 知识点 - 最小圆覆盖/最小球覆盖

知识点 - 最小圆覆盖/最小球覆盖解决问题类型:找一个点使得到跟顶点最大距离最小。相当于找一个覆盖所有点的圆。最小圆覆盖用随机增量(O(n^3)概率均摊到O(n))。最小球覆盖用退火/三分三分再三分定义与代码:圆覆盖伪代码圆 C;for(i=1 to n){ if(P[i] 不在 C 内) { C = {P[i], 0}; fo...

2019-08-23 11:29:00 983 1

原创 题解 HDU - 6698 Coins (想法+优先队列)

题解 HDU - 6698 Coins (想法+优先队列)题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6698题意给你一个nnn对物品,每对物品可以花费1元得到aiaiai的价值,或者花费2元得到ai+biai+biai+bi的价值。求输出从111到2n2n2n 元时每次获取能的最高价值。数据范围: 1≤n≤105;1≤ai,bi≤104...

2019-08-21 22:02:04 476

原创 知识点 - 区间分治(启发式分治) 19HDU多校#10 1011 Make Rounddog Happy 19牛客多校#3 G Removing Stones UVALive-6258 题解

知识点 - 区间分治(启发式分治)解决问题类型:要求遍历所有区间。比如满足某性质的区间个数、是否每个区间都满足某个性质。算法:分治的时候通过一些操作避免退化为O(n2)O(n^2)O(n2)例题UVALive-6258 Non-boring sequences题意称所有区间都有一个数只出现一次为数列为Non-boring的。给你一个数列,问是不是Non-boring的分析区...

2019-08-21 21:20:07 277 1

原创 知识点 - 后缀树模板

知识点 - 后缀树模板解决问题类型:读入一个串,建一颗后缀树论文: Algorithms on Strings, Trees, and Sequences定义与代码:O(nlog⁡(k))O(n\log(k))O(nlog(k))建树k是字母表大小。string s;int n; struct node { int l, r, par, link; map<char,i...

2019-08-20 21:47:19 371

原创 知识点 - 后缀自动机

知识点 - 后缀自动机解决问题类型:询问一些模式串P是否出现在文本串T中询问一些模式串P文本串T中出现了几次询问一些模式串P文本串T中第一次出现的位置询问一些模式串P文本串T中所有出现的位置S串中有几个不同的子串S串中不同子串的总长度求S字典序第K大的子串求S字典序最小的循环位移(cyclic shift)求S最短的没有出现的子串求S1,S2的最长公共子串求 kkk个串 ...

2019-08-20 21:39:46 260

原创 知识点 - 后缀数组

知识点 - 后缀数组 (SA)解决问题类型:最小的循环位移(cyclic shift,即字符环中字典序最小)查找子串比较两个子串两个子串的LCP(不需要额外空间)本质不同的子串数论文2009后缀数组——处理字符串的有力工具 罗穗骞 后缀数组2004 后 缀 数 组 许智磊 后缀数组blog定义与代码:sa[i]sa[i]sa[i]表示s串后缀中第 iii 小的后缀...

2019-08-20 21:38:29 205

原创 trie 与AC自动机

知识点 - trie 与AC自动机解决问题类型:在文本串中查找所有模式串求和给定字符串集合不匹配的字典序最小的长度为L的c串求包含给定字符串集合的最短串求字典序最小的长度为L的包含k个串的串论文:2009 浅析字母树在信息学竞赛中的应用 字母树blog定义与代码:trietrie树是每条边都代表某个字母的有根树,结点的出边权值都不同。叶子结点会有一个标记,代表这个结点对...

2019-08-20 21:35:35 164

转载 知识点 - 曼哈顿距离最小生成树

知识点 - 曼哈顿距离最小生成树解决问题类型:求解曼哈顿距离上的最小生成树前置知识曼哈顿距离:给定二维平面上的N个点,在两点之间连边的代价。(即distance(P1,P2)=∣x1-x2∣+∣y1-y2∣distance(P1,P2) = |x1-x2|+|y1-y2|distance(P1,P2)=∣x1-x2∣+∣y1-y2∣)曼哈顿距离最小生成树问题求什么?求使所有点连通...

2019-08-20 21:35:00 593

转载 知识点 - 次小生成树

知识点 - 次小生成树解决问题类型:严格次小生成树非严格次小生成树复杂度:O(nlog2n+mlog2m)O(nlog_2n + mlog_2m)O(nlog2​n+mlog2​m)(倍增O(nlognn)O(nlog_nn)O(nlogn​n)+Kruskal O(mlog2m+mα(n))O(mlog_2m+m\alpha(n))O(mlog2​m+mα(n))实现Kruska...

2019-08-20 21:09:47 278

原创 知识点 - KMP与Z函数

知识点 - KMP解决问题类型:前缀函数查找子串每个前缀的出现次数本质不同子串的个数O(n^2)字符串压缩:找到t使得s可以被多个t重复出现得到前缀自动机Z函数查找子串本质不同子串的个数O(n^2)字符串压缩定义与代码:前缀函数π\piπ(prefix function): π[i]\pi[i]π[i]代表子串s[0…i]s[0 \dots i]s[0…i]与其后缀相等的...

2019-08-20 19:46:40 544

原创 题解 2018徐州 - G - Rikka with Intersections of Paths (树上差分 + 组合数)

2018徐州 - G - Rikka with Intersections of Paths (树上差分 + 组合数)题目链接:http://codeforces.com/gym/102012/problem/G题意给你一颗有N个结点的树,再给你M条路径,和一个K,代表的是从M条路中任选K条路径,他们再一个点上都共有交点的组合数是多少?数据范围: 1≤N,M≤3∗105;1≤N≤3∗105...

2019-08-20 19:32:20 409

原创 题解 - 【关于凸包的切点 + 环形区间覆盖】Rikka with Illuminations 2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest M

题解 - 凸包切线 + 环形区间覆盖 2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest M Rikka with Illuminations题意:Rikka with Illuminations给你一个凸n边形,和m个灯(点)。问至少打开哪些灯才能照亮整个凸包?保证灯在凸包外切不会和凸多边形的某边三点共线。n,m≤1000n,m\le1000...

2019-08-20 19:22:23 722 2

原创 题解 HDU6686-Rikka with Travels (树上直径性质)

HDU6686-Rikka with Travels题意​ 在一颗树上,找两条不相交的路径,求由这两条路径长度组成的有序对有多少个(重复的不算)思路​ 首先,显然的如果一个有序对(x,y)存在,那么(x-1,y)和(x,y-1)一定是存在的,因为两条路径要是不相交,那么把其中一条变短,也一定是不相交的。​ 那么,现在问题就变成了在树上找两条尽量长的不相交路径,然后把答案统计一下。这...

2019-08-19 21:45:48 244

空空如也

空空如也

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

TA关注的人

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