自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【动态规划】状态压缩动态规划

一、集合类状态压缩 A、 AcWing 91. 最短Hamilton路径 状压DP基础应用 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int f[1...

2020-08-31 12:47:00 142 2

原创 Codeforces Round #665 (Div. 2) 题解( 小学奥数专场 )

目录A、Distance and Axis(简单高中数学应用题)B、Ternary Sequence(分类讨论)C、Mere Array(GCD的性质)D、Maximum Distributed Tree(树上贪心)E、Divide Square(计算几何)F、Reverse and Swap(线...

2020-08-30 00:17:54 92 0

原创 CodeForces - 1401 F Reverse and Swap(线段树, 区间翻转, 区间交换,清晰易懂)

CodeForces - 1401 F Reverse and Swap(线段树, 区间翻转, 区间交换) 第一个第四个用线段树比较容易了。 第二个和第三个都是在分成 2 ^ k 长度区间操作,比较容易想到线段树就是分成 n+1 层,每层都由 2 ^ k 长度区间构成。规定根节点为第 n 层,叶...

2020-08-30 00:17:27 126 0

原创 POJ 2411 Mondriaan‘s Dream(最清楚好懂的状压DP讲解)(连通性状态压缩DP)

poj 2411 Mondriaan’s Dream(最清晰的状压DP解析) 闫氏DP大法好 我们这里是一列一列地来,因为是一个棋盘性的状态压缩DP,从哪个方向都一样 摆放的小方格总方案数 等价于 横着摆放的小方格总方案数 遍历每一列,i列的方案数只和i-1列有关系 第i - 1行的状态k能转...

2020-08-29 19:48:49 279 1

原创 luogu P3391 【模板】文艺平衡树(FHQ - treap,懒惰标记)

我们把每个查询区间使用solit分裂成[1 l−1][l r][r+1 n][1~l-1][l~r][r+1~n][1 l−1][l r][r+1 n]三个区间。 再把[l r][l~r][l r]区间的根节点标记la...

2020-08-29 11:52:58 57 0

原创 【数学知识】 筛质数、分解质因数和快速幂

筛质数 质数筛法分为埃氏筛和线性筛。 埃氏筛没有线性筛时间复杂度好,不常用,但是他的时间复杂度分析方法却比较常用。 埃氏筛的时间复杂度为O(nloglogn)≈O(n)O(nloglogn)≈O(n)O(nloglogn)≈O(n)(这里的log以10为底),因为调和级数f(n)=1+12+13+...

2020-08-26 23:04:18 68 0

原创 模板 - 分解质因数(试除法分解质因数、Pollard Rho因数分解、快速阶乘质因数分解)

整理的算法模板合集: ACM模板 试除法分解质因数 void divide(int x) { for (int i = 2; i <= x / i; i ++ ) if (x % i == 0) { int s = 0; ...

2020-08-26 22:34:08 114 0

原创 模板 - 质数筛法(线性筛法、二次筛法)

整理的算法模板合集: ACM模板 线性筛法 int primes[N], cnt; bool vis[N]; void init(int x){ vis[1] = vis[0] = 1; for(int i = 2; i <= x; ++ i){ if(!...

2020-08-26 22:14:27 92 0

原创 【动态规划】状态机模型

A、抛砖引玉 - AcWing 1049. 大盗阿福 AcWing 1049. 大盗阿福 本题比较简单,主要起到一个抛砖引玉的作用。 我们可以很容易地想到转移方程:f[i]=max(f[i−1],f[i−2]+w[i])f[i] = max(f[i - 1] ,f[i - 2]+w[i])f[i...

2020-08-26 16:02:41 90 0

原创 luogu P5142 区间方差(线段树、乘法逆元)

luogu P5142 区间方差 本题要求维护模区间方差,很明显是一道数据结构题。 我们化简方差公式: 而平均数等于 可以发现,我们只需要维护序列的区间和和区间平方和,就可以维护平均数和方差。 区间和和区间平方和都满足结合律,因此可以用线段树维护。 题目要求分数取模, 所以我们使用乘法逆元即...

2020-08-26 10:16:35 70 1

原创 AT5198 01 Matrix(构造)

AtCoder 简单构造。 我们直接把矩阵按照a和b横竖切开两刀,分成四份,这样左上角全填1和右下角全填1,剩下的全填0,因为要求最小值为a/b,那么这种方法就一定可以构造成功,因为另一半要么大于a,答案就是最小值a,要么小于a,答案会更小,同样满足要求。 #include<iostrea...

2020-08-24 16:13:06 45 0

原创 luogu P2053 [SCOI2007]修车(费用流提前计算)

P2053 [SCOI2007]修车 要求平均时间最短,就等同于要求总时间最短。 一个人维修所花的时间,对同一位技术人员之后维修造成的影响是已知且固定的。那么,我们将费用提前计算。即将第 i 位车主的车由第 j 位维修人员倒数第 k 个维修所花的时间(费用)当作 k×tik×t_ik×ti​ ,...

2020-08-24 00:18:08 45 0

原创 luogu P4085 [USACO17DEC]Haybale Feast(尺取法 + 线段树)

C、luogu P4085 [USACO17DEC]Haybale Feast 题目链接 直接开一个线段树维护即可。 注意开ll 线段树维护最大值。注意下标别写错了,比如tr[r] #include<cstdio> #include<algorithm> #include...

2020-08-23 23:28:21 39 0

原创 HDU - 6486 Flower(思维)

HDU - 6486 Flower 题目大意:有n堆草每次只能对n-1堆操作每次只能减1问最少操作几次能把这些草剪到相同高度如果不能输出-1 我们让n-1个数减1实际上可以看成使得剩下的那一个数加1。 所以问题的答案很明显就是每一个数与最大数的差值。 让我们考虑一下边界。 我们要让所有的数相等,...

2020-08-23 08:12:25 71 0

原创 模板 - 费用流

整理的算法模板合集: ACM模板 文章目录一、最小费用最大流类dinic模板二、最大费用最大流解决二分图带权最大匹配三、费用提前计算+动态开点 一、最小费用最大流 类dinic模板 时间复杂度为O(nmf)O(nmf)O(nmf), fff 为最大流量, 效率较高,一般不会被卡 #includ...

2020-08-22 11:21:58 75 0

原创 模板 - FQH - treap 非旋平衡树

整理的算法模板合集: ACM模板 #include<bits/stdc++.h> using namespace std; const int N = 100007; int n, m, tot, root; struct node{ int l, r; in...

2020-08-21 23:13:50 80 0

原创 P5357 【模板】AC自动机(二次加强版)(AC自动机建fail树dfs求模式串出现次数)

P5357 【模板】AC自动机(二次加强版)(AC自动机建fail树dfs求模式串出现次数) 传送门 形式上,AC 自动机基于由若干模式串构成的 Trie 树,并在此之上增加了一些 fail 边;本质上,AC 自动机是一个关于若干模式串的DFA(确定有限状态自动机),接受且仅接受以某一个模式串...

2020-08-21 18:27:50 64 0

原创 《PLACEBO》(安慰剂)米津玄師/野田洋次郎 (罗马音、歌词、汉译)

《PLACEBO》(安慰剂)米津玄师 / 野田洋次郎 作曲 : 米津玄師 作词 : 米津玄師 分享米津玄師/野田洋次郎的单曲《PLACEBO (安慰剂)》: https://y.music.163.com/m/song/1466598054/?userid=510794975 (来自@网易云音乐...

2020-08-21 15:57:02 1382 0

原创 春愁(shunshu)—Mrs. Green Apple (歌词、汉译、罗马音)

春愁ーーMrs.GREEN APPLE 作曲 : Motoki Ohmori 作词 : Motoki Ohmori 分享Mrs. GREEN APPLE的单曲《春愁 (Shunshu)》: https://y.music.163.com/m/song/538290027/?userid=510...

2020-08-21 15:35:44 791 0

原创 【高级数据结构】并查集

A、AcWing 1250. 格子游戏 #include<bits/stdc++.h> using namespace std; const int N = 500007; int n, m; int fa[N]; bool flag; int get(int x, int y)...

2020-08-20 16:15:54 49 0

原创 平衡树 - treap

整理的算法模板合集: ACM模板 operator 1 : 插入一个数 operator 2 : 删除一个数 operator 3 : 通过数值找排名 operator 4 : 通过排名找数值 operator 5 : 找到严格小于key的最大数(前驱) operator 6 : 找到严格大于k...

2020-08-20 13:00:48 74 0

原创 【数据结构】平衡树 - treap

treap = tree + heap 树堆(treap:让BST尽量随机) 动态维护一个有序序列 对于一个大根堆: 最大值:一直往右走 最小值:一直往左走 treap实现操作 set实现 ①插入 insert ②删除(使其变成叶子节点) erase ③找前驱(中序遍历的前...

2020-08-20 12:57:27 55 0

原创 模板 - 最小割(常见最小割题型技巧总结)

目录模板记录方案求割边数量 最大流最小割定理 最小割 = 最大流 模板 //SHOI 2007 善意的投票 /*n个人有两种不同的意见并且有许多朋友,需要让朋友间尽可能的统一意见(少发生冲突),如果一个人违反自己的本意也算冲突,求最少的冲突*/ typedef long long ll; type...

2020-08-19 22:43:13 92 0

原创 P2057 [SHOI2007]善意的投票 (最大流最小割)

P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查 最小割,两种意见可以看作源点S和T,我们需要做的是割最少的边使得S和T成为两个不同的集合,解释:割掉的边相当于1次冲突(因为若某边被割走,则显然这条边相连的两个点分别通向了S和T,所以算是一次冲突),当S和T还连通时则...

2020-08-19 21:58:48 63 0

原创 最大流(Edmonds-Karp,Dinic,ISAP,Push-Relabel 预流推进算法)

整理的算法模板合集: ACM模板 目录Edmonds−KarpEdmonds-KarpEdmonds−KarpDinicDinicDinicISAPISAPISAPPush−RelabelPush-RelabelPush−Relabel 预流推进算法通用的预流推进算法HLPP 算法 Edmond...

2020-08-19 18:19:36 146 0

原创 洛谷8月赛Div.2

A、P6745 『MdOI R3』Number 一道简单的模拟题,我用的字符串string做的,特判很多,写的很麻烦。 #include<cstdio> #include<algorithm> #include<cstring> #include<cma...

2020-08-16 22:57:47 89 0

原创 HDU 5385 The path(贪心、构造、最短路径树)

HDU 5385 题目大意:给定一个图,dis表示第i个点到1点的最短路,dis1=0,给有向图上的边赋权值(1~n)满足dis1<dis2<dis3<……<disk>disk+1>……disn。dis1<dis2<dis3<……<di...

2020-08-16 20:57:15 63 0

原创 可持久化数据结构

可持久化的前提:本身拓扑结构不变 可持久化解决问题:记录数据结构的所有历史版本 核心思想:只记录每一个版本与上一个版本不一样的地方 如线段树:每次修改最多logn点 可持久化trie树 上一个版本的trie树种有这个字母的指针就直接copy过来,没有当前版本就新开一个指针。 数据最多 224...

2020-08-12 22:57:57 60 0

原创 P4735 最大异或和(可持久化trie树、求最大区间异或和)

P4735 最大异或和 我们维护一个前缀异或和:s[i]=a[1] xor a[2] xor …a[i−1] xor a[i]s[i] = a[1] \ xor\ a[2]\ xor\ … a[i-1] \ xor\ a[i]s[...

2020-08-12 22:47:35 64 0

原创 Luogu P4105 [HEOI2014]南园满地堆轻絮

最小化最大值,一眼就能看出来要二分。 我们先通过题目中花里胡哨的方法构造出数据,然后因为题目中修改次数无限,随意修改,我们只要求修改差值的最大值,也就是说我们只需要维护最大值即可。我们只要找到差值最大的逆序对,答案就是最大的逆序对的一半。因为作为逆序对,前面的大于后面,差值最大的两个最终必须都要相...

2020-08-08 22:48:52 44 0

转载 置换群和Burnside引理,Polya定理

定义简化版: 置换,就是一个1~n的排列,是一个1~n排列对1~n的映射 置换群,所有的置换的集合。 经常会遇到求本质不同的构造,如旋转不同构,翻转交换不同构等。 不动点:一个置换中,置换后和置换前没有区别的排列 Burnside引理:本质不同的方案数=每个置换下不动点的个数÷置换总数(一个平均值...

2020-08-08 21:31:41 98 0

原创 HDU - 5637 Transform (思维、bfs预处理)

HDU - 5637 题目大意: 给出n个数的序列a,对于一个整数x,有两种操作: 1.改变x二进制中任一位 2.将x变为x^a[i] m次查询,每次查询输入两个整数x和y,问x最少经过多少次操作可以变成y 求最少多少次操作可以值得x变成y实际上不就是一个“迷宫求最短路”嘛。 这里是状态转移到另...

2020-08-08 21:07:40 52 0

原创 模板 - 树状数组

整理的算法模板合集: ACM模板 树状数组求逆序对 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> using namespace std; ...

2020-08-08 11:00:41 78 0

原创 解题报告:luoguP6685 可持久化动态仙人掌的直径问题

好难的静态仙人掌

2020-08-06 22:03:35 75 0

原创 解题报告:luoguP1462 通往奥格瑞玛的道路(二分、最短路)

我们直接二分答案,二分过路费,每次Dij判断走所有小于当前mid的路能否到达终点且最短路(总扣血)小于最大血量。 因为数据中过路费最大为1e9, log2(1e9)<30log_2(1e9)<30log2​(1e9)<30 所以总时间复杂度为O(30∗nlogn)O(30 * n...

2020-08-06 20:29:32 57 0

原创 【数据结构专题】线段树(一)

题目 算法 A、AcWing 1275. 最大数 线段树求区间最大值 B、SP1043 Can you answer these queries III 线段树求最长连续子段和 C、AcWing 246. 区间最大公约数 求区间最大公约数 这里写目录标题A、AcWing 127...

2020-08-06 18:46:11 69 0

原创 解题报告:SP1043 GSS4 - Can you answer these queries III(GSS线段树八部曲之三)(区间最大连续子段和)

要注意输入的数据有坑,x可能大于y… 我们可以模块化编程,使得整个代码井井有条 函数可以重名,只要参数不一样就行。 来源 yxc老师的上课板书 然后就是简单的代码了 #include<iostream> #include<cstdio> #include<alg...

2020-08-06 16:37:07 43 0

原创 解题报告:SP2713 GSS4 - Can you answer these queries IV(GSS线段树八部曲之四)

x>yx>yx>y是真的艹。 然后就是一道模板题了。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 500007; int n, m; ll a[N...

2020-08-06 16:25:45 50 0

原创 解题报告:luogu P1688 新单词接龙问题【trie树、dfs、DP递推】

单词的变化有三种:1删掉一个字母,2:插入一个字符,3:将一个字符变成另外一个字符 dig→fig→fin→fine→winedig→fig→fin→fine→winedig→fig→fin→fine→wine 要求保证字典序从小到大,那么我们在变换的时候直接对于一个字符串的当前字母,从a到z遍历...

2020-08-05 22:36:32 58 0

原创 【搜索专题】DFS之连通性模型与搜索顺序

内部搜索不用(能)回溯,外部搜索才需要(必须)回溯和恢复现场 A、AcWing 1112. 迷宫 内部搜索的一道dfs模板题,别忘了vis #include<cstdio> #include<algorithm> #include<cstring> usin...

2020-08-05 16:53:19 76 0

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