自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dyt's Blog

ふけるものすべてを渡り、永遠と戦うとき、あなたは私の旗です。

原创 欢迎使用CSDN-markdown编辑器.

欢迎使用Markdown编辑器写博客(莫名其妙发出去的的第一篇blog) 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离...

2017-08-02 10:51:12 942 0

原创 LOJ#2155. 「POI2011 R1」同谋者 Conspiracy

题目描述 题解: 这个题目要求的是把一张无向图变成一个团和一个独立集的方案数。这看似好像无从下手。那么我们可以换一个角度思考,我们考虑先求出一个解,然后通过调整得出所有解。 假设已经求出了一个解,我们会发现,其它所有的解只可能由这个解通过三种方式得到: 1.将一个原本在独立集里面的点放到团中(可行...

2018-12-31 14:30:59 236 0

原创 LOJ#2718. 「NOI2018」归程

题目描述 题解: 对于权值大于等于或者小于等于某一个值的询问我们可以考虑用kruskal重构树来解决。 kruskal重构树是指在对一张无向图进行kruskal求出最小/最大生成树的同时,把当前的两颗子树合并到新的节点上,作为它的两个子节点,并且把新节点的点权赋为当前这条边的边权,最后变成一颗树。...

2018-12-28 09:59:41 115 0

原创 Codeforces 528 D. Fuzzy Search

题目描述 题解: 这题是字符串匹配的加强版。 我们可以先预处理出S串的每一个位置能放那些字母。 然后我们考虑对于每一种字母分开来处理。 假设处理字母k。 对于S中的每一位,有可以放这个字母k和不能放两种情况。 对于T中的每一位,有是k和不是k两种情况。 那么对于这个字母,如果S和T的某一位不能匹配...

2018-12-27 19:12:06 119 0

原创 LOJ#2127. 「HAOI2015」按位或

题目描述:戳这里 题解: 这题如果按照题意做看似非常不可解,但是有一个叫做Min-Max容斥的东西: Max(S)=∑U⊂S(−1)∣U∣−1Min(U)Max(S)=\sum_{U\subset S}(-1)^{\left| U \right|-1}Min(U)Max(S)=U⊂S∑​(−1)∣...

2018-12-27 18:42:02 156 0

原创 TC srm 题解

SRM 516 div.2 T3: 题意:在一个有限制(可放或不可放)的矩阵中放入两个L型(严格,一个点或两个点都不行),求方案数。 题解: 暴力枚举,大力分类讨论。 枚举一下两个L型相交的的情况,一共4种。 代码如下: void doit(int x,int ...

2018-12-24 20:00:31 283 0

原创 LOJ6482. LJJ 爱数数

题目描述:戳这里 题解: 1a+1b=1c\frac{1}{a}+\frac{1}{b}=\frac{1}{c}a1​+b1​=c1​ (a+b)c=ab(a+b)c=ab(a+b)c=ab 令g=gcd(a,b),A=ag,B=bg令g=gcd(a,b),A=\frac{a}{g},B=\fra...

2018-12-24 19:58:20 435 0

原创 FFT:BZOJ4503 两个串

题目描述:戳这里 题解: 如果没有"?",那么我们可以用kmp。 我们可以把这道题目抽象成一个和式: 假设两串S,T分别是0~n,0~m,翻转T串(变成m~0)。 假设T串中"?"的位置都设为0。 假设S串从第x个位置开始匹配...

2018-12-23 14:42:17 99 0

原创 算法学习:快速傅里叶变换(FFT)

前置知识: 1.多项式: 形如: f(x)=∑0n−1ai⋅xif(x)=\sum_{0}^{n-1}ai\cdot x^if(x)=0∑n−1​ai⋅xi 多项式表示法: 系数表示法: 就是上式的写法 点值表示法: 在f(x)上取n个点,就能唯一确定的表示出这个多项式。 证明如...

2018-12-03 20:57:40 647 0

原创 CDQ分治模板:HDU5618 Jam's problem again

题目描述:戳这里 题解: 这是一道CDQ分治的模板。 我们想要求三维的“正序对”的数量。那么可以通过牌序第一维,然后对后两位使用一些数据结构来维护。 但是这样很难维护,而CDQ分治就是解决这样的问题的一个得力工具。 CDQ的思想大概就和归并排序一样。 我们先以x,y,z分别为第1,2,...

2018-11-18 19:44:02 159 0

原创 Prufer编码:51nod 1806 wangyurzee的树

题目描述:戳这里 题解:

2018-10-29 18:42:21 110 0

原创 51nod 1681 公共祖先

题目描述:戳这里 题解: 这个题目有一个非常好的技巧。我们要求的其实是某一个点在两颗树中的子树中同时含有的点的数量。我们发现这个东西很难求,因为这个东西在两个子树中都是散乱无序的。那么我们如果把一颗子树中的量变得有一定的关系可循,那么接下来只需要关心另一颗树就好了。那么我们不妨把第一颗树重新标一个...

2018-10-28 19:02:58 101 0

原创 SPOJ 10628 /LuoguSP10628 COT - Count on a tree

题目描述:戳这里 题解: 这题是主席树上树(???) 我们发现对于一个点,我们可以维护从它到根的权值线段树,那么对于一个点对x,y,我们只需要求出它们的lca z,以及z的父节点,那么就可以容斥一下,sumx+sumy−sumz−sumfazsumx+sumy-sumz-sum fazsumx+s...

2018-10-28 15:37:43 106 0

原创 BZOJ 2286消耗战

题目描述:戳这里 题解: 这题就是虚树的板子题啦。 我们要求一些最小可以阻断给定k个点到根的路径的边权和。那么考虑没有询问的情况,可以直接用树形DP。我们先用倍增求出一个点到根的路径上的最小的边权x,然后对于一个选中的节点,肯定是求它的x作为一这个点为根的子树上的答案。而对于一个未被选中的点,就有...

2018-10-17 18:57:42 85 0

原创 51nod题解小集

1406:f[x]表示与x相与之后值为x的数的个数。转移就是删掉某一个二进制位上的1。但是如果先枚举当前的值,再枚举删掉那一位会产生重复(一个数删掉一个位上的1或者删掉另外一个位上的1最后都会转移到同时删掉这两个1的情况)。那么我们可以改一下循环的顺序,先枚举删掉的位,再枚举当前的数,就不会有重复...

2018-10-06 14:20:28 173 0

原创 KM算法模板

代码如下: #include<cstdio> #include<string> #include<cstring> using namespace std; const int maxn=505; int n...

2018-09-05 14:33:41 175 0

原创 凸包算法:Graham模板

感觉这个算法比衍生版的Andrew算法优秀。 算法过程大致如下: 首先找到一个y坐标最小的点(y坐标相等就x最小)作为基准点,进行极角排序。这样能保证所有点到这个点的角度都在(-180,180]之间,就不用像Andrew一样维护上下凸壳了。 然后只要维护一下凸壳就好了(如果发现是凹的就退栈)...

2018-09-01 10:19:37 118 0

原创 HDU 5780 gcd

题目描述:戳这里 题解: 首先有一个结论:gcd(xa−1,xb−1)=xgcd(a,b)−1gcd(xa−1,xb−1)=xgcd(a,b)−1gcd(x^a-1,x^b-1)=x^{gcd(a,b)}-1 推导过程可以参考一下辗转相减法。 (xa−1,xb−1)=(xa−b,xb−1)...

2018-08-30 18:47:27 110 0

原创 最小费用最大流:Luogu P3381 【模板】最小费用最大流

题目描述:戳这里 题解: 最小费用最大流的套路基本上就是这样的: 1.求出当前残留网络之中s -> t的最短路 (spfa) 因为有可能会有负权边 2.答案+= dis[t] × totflow 3.在处理完了之后修正途径边的流量(正减反加) 4.循环1 2 3...

2018-08-27 08:51:09 125 0

原创 莫比乌斯容斥:Codeforces Round #251 (Div. 2)

题目描述:戳这里 题解: 这题是莫比乌斯函数的一个比较好的应用。 我们假设没有gcd为1这个限制条件,那么直接C(n-1,r-1)就行了 这样求出来的其实是大于等于gcd=1的方案总数。 而我们要求的其实是恰好gcd=1的方案数。 那么这就是容斥的典型应用。 但是我们容斥的其实是有g...

2018-08-10 08:22:45 178 0

原创 HDU4193 Least common multiple

题目描述:戳这里 题解: 这题中对于一个子集,它的最小公倍数一定是2max(a[i])∗3max(b[i])2max(a[i])∗3max(b[i])2^{max(a[i])}*3^{max(b[i])} 那么一个子集的LCM只取决于它之中a[i]最大的元素和b[i]最大的元素。 那么对于...

2018-08-07 22:33:44 102 0

原创 HDU4912 Paths on the tree

题目描述:戳这里 题解: 树上贪心。对于每一个路径,肯定是一个折线型的。那么我们找出两个端点的lca,然后按lca的深度排序,从深到浅,能加入就加入,否则就不加入。 证明可以口胡一下:我们会发现如果这个路径能加却不加,而是加一个深度更浅的路径,那么肯定肯定会使后面的点的限制更加紧,后面能加的...

2018-08-07 22:17:06 63 0

原创 Codeforces 236E div.2 Strictly Positive Matrix

题目描述: CF出了点小偏差,改日再补。。 简述: 给你一个矩阵,如果它的k次幂中的每一个元素都大于0,那么就输出YES,否则输出NO。 题解: 这题有一个比较巧妙的小转化。如果我们把n*n的矩阵转化成描述n个点的连通性的图,那么会有什么性质? 这样的话,矩阵的乘方不就是刷只和连通性有关的...

2018-08-07 18:51:13 66 0

原创 HDU 4358 - Boring counting

题目描述:戳这里 题解: 这是典型的树上查询和子树有关信息并且无修改的题目。 那么就可以直接DSU on Tree 或者 启发式合并就好啦。 我写的是启发式合并,每次记录一下当前点的当前枚举过的儿子的颜色集合,那么当前枚举儿子k,我们只要两个集合合并一下即可。但是要保证把小的并到大的,这样...

2018-08-07 14:44:19 84 0

原创 树链剖分:P3384 【模板】树链剖分

题目描述:戳这里 题解: 其实树剖的重点就在于轻重链,这篇文章写的很好 然而我线段树写得全是问题,改了半天2333 代码如下: #include<cstdio> #include<string> #include<cs...

2018-08-06 09:33:41 107 0

原创 Codeforces Round #379 (Div. 2) E. Anton and Tree

题目描述:戳这里 题解: 这题还是比较妙的。 我们发现有这么多的同色块,块的大小又不一样,好像无从下手。 但是我们发现一个块最多只要改一次,那么我们可以把每一个块缩成一个点(dfs一下)就省去了很多麻烦。 缩完点之后,题目就变得简单了很多,一个黑点边上只有白点,白点边上只有黑点。这就可以...

2018-08-05 18:10:31 64 0

原创 主席树:LuoguP3834 【模板】可持久化线段树 1(主席树)

题目描述:戳这里 题解: 话说我去年好像学过主席树。。。 然后我就不会了,然后我就害怕的又学了一次。 主席树其实就是线段树的优化。 我们考虑这道模板题。 如果用暴力的方法做,肯定会Tle。 那么我们想一想能不能用线段树来优化一下。 先简单化一下题目,如果求的是1~m(m&a...

2018-08-05 16:52:31 101 0

原创 割边:ZOJ2588:Burning Bridges

题目描述:戳这里 题解: ZOJ绝对有毒。。。格式要求令人害怕。 这题是割边的裸题。 因为在无向图中,刷出DFS序后只有返祖边(yy一下应该就知道为什么了)。那么一条边是割边一定要满足它的子树中所有点的返祖边都不会跨过它。 那么这个条件很容易用树上差分来实现。但是考虑到要和割点以及强连通...

2018-08-03 08:14:28 63 0

原创 平面最近点对:HDU1007:Quoit Design

题目描述:戳这里 题解: 这题是平面最近点对的裸题。 感觉平面最近点对还是比较玄妙的。 这个算法用到的是分治的思想,先分为左右两边 ,然后合并其。 那么就具体来讲讲吧。 首先我们先按照x坐标来排序n个点。 然后就是求解过程,根据我前面说的,对于一段区间[L…R],我们求出它的中点mi...

2018-08-02 19:03:11 132 0

原创 ZOJ:3649 Social Net

题目描述:戳这里 题解: 这题绝对有毒。。。 第一眼看到这题的题面感觉应该比较简单,只要倍增维护一下最大值和最小值就好了??? 然而码了70+行之后发现题目读错了。有一个限制条件,两个点x,y是“有向”的,x到y的路径序列中,最大值的位置编号一定要大于最小值的位置编号。。。 这样就比较麻...

2018-08-02 08:28:01 125 0

原创 BZOJ1977: [BeiJing2010组队]次小生成树 Tree

题目描述:戳这里 题解: 求非严格次小生成树是比较简单的,但是严格的就有点(超级)麻烦了。 我们可以考虑一下用克鲁斯卡尔做最小生成树的过程,一定是找了一些最小的边来构造。 我们假设造好了最小生成树,那么任意一条没有被选择过的边加入树都会在树上形成一个环。 则我们只需要考虑取出当前环上权值...

2018-07-29 14:07:28 67 0

原创 BZOJ3124: [Sdoi2013]直径

题目描述:戳这里 题解:: 这题是一道比较经典的和直径有关的题目。我们首先肯定要刷出直径。 有一个关于直径的结论,如果有多条直径,那么它们相交的部分肯定是连续的一段(yy一下应该能想出来)。 那么在我们刷出来的直径中,为什么会出现一条边没有被所有直径经过呢,那么肯定是从直径上的某一个在它之...

2018-07-29 08:59:24 86 0

原创 Manacher算法:Luogu P3805 【模板】manacher算法

题目描述:戳这里 题解:: 以前听说过,但是没有学过manacher算法,现在发现其实还挺简单的。。。 manacher算法可以用来解决最长回文串的长度这一类的问题。 讲这个算法之前,我们首先要解决一个重要的问题:回文串分为奇数长度和偶数长度。 那么我们可以用一个巧妙(暴力)的方法,每两...

2018-07-28 10:06:49 97 0

原创 排列组合初步

数学基础:公式大全: C0n+C1n+C2n...+Cnn=2nCn0+Cn1+Cn2...+Cnn=2nC_{n}^{0}+C_{n}^{1}+C_{n}^{2}...+C_{n}^{n}=2^{n} 1C1n+2C2n+3C3n...+nCnn=n2n−11Cn1+2Cn2+3Cn3......

2018-07-26 16:21:45 272 0

原创 Topcoder SRM 672 Div.2 题解

T1: 判断两个集合A、B的关系,包括A包含B,B包含A,A和B完全相同或者A和B不满足以上所有的关系。 那么模拟一下。可以开一个hsh数组标记一下,对于一个A[i],将hsh[a[i]]–;对于一个B[i],将hsh[B[i]]++。这样有一个好处,就是如果这个数即存在于a数组,也存在于b数...

2018-07-24 21:31:00 85 0

原创 Codeforces#253 D - Andrey and Problem

题目描述:戳这里 题解: 这题是口胡DP题??? 然后我发现我两个月以前做过,并且现在不会做了 ??? 好吧,还是正经点吧。。。 我们只需要一道题,那么我们就可以考虑一个比较sb的DP。f[i][j][0/1]f[i][j][0/1]f[i][j][0/1]表示前i个人,选了j个(i必选...

2018-07-22 10:35:05 75 0

原创 Light Oj 1316 - A Wedding Party

题目描述:戳这里 题解: 这题一看就可以用状压来解决,复杂度可行。 但是代码改了好久。。。 看来我还是太菜了。。。 代码如下: #include<cstdio> #include<string> #include&lt...

2018-07-20 20:03:47 78 0

原创 HDU 3001 Travelling

题目描述:戳这里 题解:SB状压题啊。。。 这题注意到题目中有一个条件,每一个点最多可以经过两次。这样就不能愉快地直接状压了。但是我们可以考虑一下三进制的状压DP,每个点可以经过1次或者两次。 那么直接两点之间有边就转移就可以了。 然而这题卡内存,开大一点就MLE。。。 我改了半天,又W...

2018-07-19 20:52:46 55 0

原创 AC自动机模板:P3796 【模板】AC自动机(加强版)

题目描述:戳这里 题解:AC自动机简单版的题解 这题相较于那一题只是改变了一下求的东西,我们只要稍加改动,就能AC。 代码如下: #include<cstdio> #include<string> #include<...

2018-07-18 07:59:16 150 0

原创 AC自动机模板:Luogu P3808 【模板】AC自动机(简单版)

题目描述:戳这里 题解: 这题是AC自动机的模板题。 AC自动机可以看作是Trie和kmp的结合体(我连kmp都不会写了。。。) 它可以看作是kmp的延伸。kmp求的是某一字符串在给定字符串中出现的次数,而AC自动机求的是某一些字符串在给定字符串中出现的次数之和或者这一类的问题。 AC自...

2018-07-17 21:30:38 112 0

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