自定义博客皮肤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

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

  • 博客(13)
  • 收藏
  • 关注

原创 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)(xa−1,xb−1)=(xa−b,xb−1)(x^a-1,x^b-1)=(x^{a-b},x^b-1...

2018-08-30 18:47:27 487

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

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

2018-08-27 08:51:09 270

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

题目描述:戳这里 题解: 这题是莫比乌斯函数的一个比较好的应用。 我们假设没有gcd为1这个限制条件,那么直接C(n-1,r-1)就行了 这样求出来的其实是大于等于gcd=1的方案总数。 而我们要求的其实是恰好gcd=1的方案数。 那么这就是容斥的典型应用。 但是我们容斥的其实是有gcd中有几个不同的素因子(同一个因子出现多次已经在在这个素因子出现一次的情况中统计过了)。 那么我们...

2018-08-10 08:22:45 352

原创 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]最大的元素。 那么对于每一个点对(a[i],b[i])我们可以排序一维,使它的a有序。 那么考虑排序后的第i个元素,我们只...

2018-08-07 22:33:44 280

原创 HDU4912 Paths on the tree

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

2018-08-07 22:17:06 196

原创 Codeforces 236E div.2 Strictly Positive Matrix

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

2018-08-07 18:51:13 229

原创 HDU 4358 - Boring counting

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

2018-08-07 14:44:19 342

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

题目描述:戳这里 题解: 其实树剖的重点就在于轻重链,这篇文章写的很好 然而我线段树写得全是问题,改了半天2333 代码如下: #include<cstdio> #include<string> #include<cstring> using namespace std; const int maxn=100005; int n,m,root,tt,t...

2018-08-06 09:33:41 220

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

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

2018-08-05 18:10:31 161

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

题目描述:戳这里 题解: 话说我去年好像学过主席树。。。 然后我就不会了,然后我就害怕的又学了一次。 主席树其实就是线段树的优化。 我们考虑这道模板题。 如果用暴力的方法做,肯定会Tle。 那么我们想一想能不能用线段树来优化一下。 先简单化一下题目,如果求的是1~m(m<=n)的第k大值,怎么用线段树做? 那么我们就可以建立一颗权值(权值是点权离散化之后的位置)线段树,每一...

2018-08-05 16:52:31 231

原创 割边:ZOJ2588:Burning Bridges

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

2018-08-03 08:14:28 218

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

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

2018-08-02 19:03:11 243

原创 ZOJ:3649 Social Net

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

2018-08-02 08:28:01 256

空空如也

空空如也

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

TA关注的人

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