自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 CF1097D 【Makoto and a Blackboard】

我们考虑对于一个\(N\),他如果变成了他的约数\(x\),那又会变成一个子问题我们定义\(F(n, k)\)为n操作k次的期望个数那么我们有\(F(n, k) =\sum_{x|n} F(x, k - 1) * \frac{1}{d}\)(其中d为n的约数个数)因为\(N\)的约数个数肯定在\(\sqrt N\)以内现在我们就有了一个\(O(\sqrt N K)\)的暴力了前面...

2019-10-03 23:37:00 130

转载 [POI2015]WIL-Wilcze doły

定义\(sum[x] = \sum_{i = 1}^x a[i]\)首先不难想到,我们枚举左右端点,然后贪心的减去这一段区间中\(sum[x] - sum[x - d + 1]\)的最大值,这样枚举是\(O(N^3)\)的然后我们发现,对于一个左端点,我们肯定要尽可能的往后去找右端点,同理,对于一个右端点,我们肯定要尽可能找满足条件的最偏左的左端点可以把枚举改成双指针,复杂度变成了...

2019-10-02 20:38:00 129

转载 [TJOI2017]异或和

对于这种异或类的题目,我们可以考虑从异或运算性质下手我们记\(sum[i] = \sum_{j = 1} ^ {i}a[j]\)不难发现,如果我们对每一位分开考虑,若我们在求第x为的答案,记所有区间的连续的和有K个该位为1,那么跟据异或的运算法则,这一位对答案有贡献当且仅当K为奇数,且对答案的贡献为\(K\ \%\ 2 * 2 ^ x\)说得更具体点,我们要求的式子变成了:\[\...

2019-10-02 20:37:00 142

转载 公约数

题目地址看到这题目就不想做了系列,出题人是不是都不知道杜教筛是什么东西啊,他家杜教筛可以预处理优化到\(O(n^\frac{2}{3})\)先吓唬你一下,我们要求:\[\sum_{i=1}^n\sum_{j=1}^m\sum_{k=1}^p\gcd(i\cdot j,i\cdot k,j\cdot k)\times \gcd(i,j,k)\times \left(\frac{\gc...

2019-10-02 20:37:00 126

转载 小清新数据结构题

首先我们要发现一个性质,对于每一棵树,我们换了一个根(把原本根的某个儿子\(v_1\)记成新的根)我们记这个树的权值和为sum,每个子树的权值和为\(S[i]\),对于每次换根,受影响的\(S[i]\)只有根本身和\(v_1\),并且满足:\(S[rt]->sum - S[v_1]\), \(S[v_1] -> S[rt]\)于是我们能惊人的发现:\(\sum (sum ...

2019-10-02 20:35:00 108

转载 [HNOI2014]世界树

这道题细节是真的多看数据范围,这应该是一道虚树DP,我们先来想一下不用虚树怎么做我们定义\(id[i]\)为第i个点应该归哪一个议事处管理,且i到\(id[i]\)的距离为\(dis[i]\)我们做两遍dfs,首先从下到上,用儿子更新父亲,再从上到下,用父亲更新儿子更新过程十分简单,就类似于重链剖分的思路去更新就好了然后这里要注意第一个细节,就是必须先用儿子更新父亲,再用父亲更...

2019-10-02 20:35:00 126

转载 CF809E 【Surprise me!】

我们要求的柿子是张这样子的:\[\frac{1}{n * (n - 1)} * \sum_{i = 1}^n\sum_{j = 1}^{n}\phi(a_i*a_j)*dis(i, j)\]其中\(a_i\)为一个排列,\(dis(i, j)\)表示在树上的距离这种题的套路一般是先拆柿子,但是这道题的式子……我们要从一个性质下手:\[\phi(a * b) = \frac{\p...

2019-10-02 20:34:00 121

转载 [JXOI2017]颜色

\(Orz\) 各位题解大佬,我来膜拜一发还有单调栈实在没弄懂法一:线段树+堆首先,讨论区间的个数的题目,我们可以想到枚举一个端点\(r\),找到所有的\(l\)我们不妨设:\(ml[i]\)为第i种颜色出现的最小位置,\(mr[i]\)为第i种出现的最大位置我们想到对于一个右端点,他有那些值是不能选的:假设有一种颜色的\(mr\)值比当前枚举的右端点小,则\([ml, mr...

2019-10-02 20:32:00 154

转载 [NOI2015]品酒大会

原题意:有多少个串的\(lcp(i, j) >= r\)(其中r为1~n中每一个数)我们先不管第二问,只看第一问第一次转化首先不难发现一个非常好的性质:对于一个r相似的两杯酒,他们肯定也是r-1相似,r-2相似……于是,我们考录倒序枚举,於是问题转化成了:有多少个串的\(lcp(i, j) == r\)(其中r为1~n中每一个数)第二次转化看到lcp,我们不难想到后缀数...

2019-09-01 11:07:00 73

转载 [SHOI2015]超能粒子炮·改

首先我们要明确题目要我们求的是这个式子:\[\sum_{i = 0}^kC_n^i\]我们先从部分分看起:10分预处理出组合数暴力算就是了。复杂度\(O(N^2)\)50分 --- 1由于我们要求的东西是在杨辉三角的一行,所以我们可以递推求出改行组合数,递推式为\(C_n^{m + 1} = C_n^m\ *\ \frac{n - m}{m + 1}\),证明的话就用组合数的...

2019-09-01 11:07:00 350

转载 [POI2011]MET-Meteors

在发现此题前,我以为整体二分只能求第K大来着,我还是太菜了我们先不考虑多组询问,假设只有一组询问不难发现,答案具有明显的单调性,所以我们考虑二分来做对于我们二分的值\(mid\),我们先假设\(l-mid\)的雨全部下下来如果当前的降雨量大于我们所需要的,那么答案大了,否则答案小了,就把所需要的降雨量变为:原本所需要的降雨量\(-(l-mid\)的降雨量\()\)那么有多组询问...

2019-09-01 11:06:00 96

转载 后缀排序

后缀数组是一个思路较为清晰,代码十分玄学的操作,建议大家按照代码模拟一下样例,理解每一步操作的意义后缀数组的作用是将长度为N的字符串的N个后缀来进行排序我们直接排序的复杂度是\(O(N^2logN)\)后缀数组常用方法是倍增+基数排序算法:1.基数排序我们先来看一下代码:(默认升序排列)//rep(i, a, b)是正序从a-b枚举//drep(i, a, b)是倒序从a-...

2019-09-01 11:05:00 562

转载 跳楼机(同余类最短路)

~~这题是在干嘛啊?怕不是又是a*b-a-b~~然而万万没想到,这是到图论题设\(dis[i]\)为在\(%x\)意义下,能到达的楼层为i的最小值也就是说只用\(y, z\)能到达的楼层在\(%x\)意义下的最小值不难推出方程\[dis[(i + y) \% x] = min(dis[(i + y) \% x], dis[i] + y)\]\[dis[(i + z) \% x...

2019-04-29 12:10:00 133

转载 [HNOI2012]集合选数(状压DP+构造)

题目要求若出现x,则不能出现2x,3x所以我们考虑构造一个矩阵\(1\ 2\ 4 \ 8……\)\(3\ 6\ 12\ 24……\)\(9\ 18\ 36……\)\(……\)不难发现,对于一个矩阵,若我选择了一个数x,则在矩阵内该数的相邻格子都不能选,题目就被转化成了玉米田了,可以用状压DP解决但是直接做是不对的,比如5就没有出现在这个序列中所以我们可以构造多个矩阵,用乘...

2019-04-29 10:16:00 99

转载 [NOIP2017] 列队(平衡树)

考虑转化题意:设这次操作删掉点\((x, y)\)对于每一次向左看齐:在第x行删除\((x, y)\),并将y以后的点全部前移一位对于每一次向前看齐:x以后的点全部上移一位,并在最后一列插入\((x, y)\)这些操作都可以用\(Splay\)解决:我们开\(N+1\)棵\(Splay\),1到N棵表示的是第i行,[1,m-1]的位置,第\(N+1\)棵表示最后一列的位置这样...

2019-04-29 10:07:00 118

转载 [GXOI/GZOI2019]旧词(树上差分+树剖)

前置芝士:[LNOI2014]LCA要是这题放HNOI就好了原题:\(\sum_{l≤i≤r}dep[LCA(i,z)]\)这题:\(\sum_{i≤r}dep[LCA(i,z)]^k\)对于原题,我们需要把每个询问拆成1~l-1 & 1~r再进行差分(所以这题帮我们省去了一个步骤)先考虑\(k=1\)原题我们先转化题意\(dep[lca]\)\(\\)==\(\\...

2019-04-29 09:54:00 124

转载 [十二省联考2019]异或粽子(堆+可持久化Trie)

前置芝士:可持久化Trie & 堆类似于超级钢琴,我们用堆维护一个四元组\((st, l, r, pos)\)表示以\(st\)为起点,终点在\([l, r]\)内,里面的最大值的位置为\(pos\)我们维护一个小根堆(堆顶最大),权值为st-pos的异或和,每一次找出最大的并删掉所谓删,就是把一个区间从pos处分裂即:\((st, l, r)->(st, l, p...

2019-04-29 09:30:00 90

转载 HNOI2019游记

分数比初二还低我也是醉了……\(Day1\)\(T1\)想了个\(O(N^4)\)和\(O(n^6)\)分数一样?\(O(n^6)\)大暴力滚粗\(T2\)一直想\(Hash\),上场打了一个“可持久化Hash”(我也不知道叫什么),结果自己把自己的做法\(Hack\)了,看到后缀前缀最大匹配连\(KMP\)都没看出来……(我前几天才问的\(KMP\)啊啊啊)\(T3\)只...

2019-04-07 21:45:00 73

转载 最近公共祖先(LCT)

来一发\(LCT\)求\(LCA\)\(LCT\)在时间上不占据优势,码量似乎还比树剖,倍增,\(Tarjan\)大一点但是却是一道\(LCT\)的练手题对于每一个询问,我们只需要把其中一个点(我们设为a)先\(access\),这样a到根节点的路径就都在一棵\(Splay\)里面了而且不难发现,有一个很妙的性质:如果两个点不在一条路径上(即\(lca!=a||lca!=b\))...

2019-03-22 10:18:00 82

转载 [WC2006]水管局长(LCT)

题目大意:给定一张图,支持删边,求两点的路径中所有权值的最大值的最小值,貌似很绕的样子由于有删边,不难想到\(LCT\),又因为\(LCT\)不支持维护图,而且只有删边操作,于是我们考虑时间回溯。把这道题变成模板有几个问题:(思路为个人\(YY\),可能非常麻烦)\(1.\)我们怎么确定最后的状态呢?首先我们先用\(map\)存每一条边,在询问操作时,每删一条边,就把他在\(...

2019-03-22 10:17:00 85

转载 P4178 Tree(点分治)

题面要求小于等于K的路径数目,我么很自然的想到点分治(不会的就戳我)这道题的统计答案与模板题不一样的地方是由等于K到小于等于K那么我们可以把每一个子节点到当前根(重心)的距离排序,然后用类似双指针的方法来求小于等于K的边的数量但是如果只是双指针统计的话,那么以下不合法的情况显然也会被算进答案:而我们需要的合法路径是长成这样的:所以我们需要减去上述不合法的路径,怎么减呢?不...

2019-03-13 21:47:00 85

转载 二维凸包

人生第一道计算几何题? 留作纪念\(QAQ\)凸包是什么?下图就是一个土包我们怎么求出凸包呢我们先把凸包分成上下两个部分如图,红色部分称为上半部分,黑色部分成为下半部分然后按照x为第一关键字,y为第二关键字排序于是第一个就会找到最左边的一个最下面的点,第二个就会找到最右边的一个最上面的点我们以这两个点为分界线,分出上下两个凸包分别求出周长我们维护一个栈,栈中的元素即为...

2019-03-12 21:18:00 107

转载 可怜的狗狗(权值线段树,莫队)

首先这道题目,当然可以作为主席树的模板来做,但是这道题目有令一种解法发现操作允许离线,我们考律莫队首先建一棵权值线段树,我们可以查询权值线段树里的值的第K大,所以我们可以利用莫队进行删减操作(其实和主席树差不多?)。PS:由于保证所有数据不重复,离散化的时候就没必要去重了。#include<bits/stdc++.h>using namespace std;#de...

2019-03-12 21:16:00 54

转载 P1742 最小圆覆盖(计算几何)

体验过\(O(n^3)\)过\(10^5\)吗?快来体验一波当\(wys\)的快感吧\(QAQ\)前置芝士1:二元一次方程组求解设\[\begin{cases}a1 * x + b1*y=c1\\a2 * x + b2*y=c2\end{cases}\](其中\(a1,a2,b1,b2,c1,c2\)为已知量)由\(②\)式得:\[x=\frac{c2-b2*y}{a2}\]...

2019-03-12 11:46:00 90

转载 浅谈淀粉质

题意:给定一棵带权无根树,问是否有点对的距离为k暴力的做法可以枚举所有点对,树上差分即可,复杂度为\(O(n^2logn)\),显然还需要优化有一个显然的性质,对于任意两个点所夹成的路径,有两种情况:\(1.\)经过根节点的路径\(2.\)不经过根节点的路径对与第一类路径,\(dis[u->v] = dis[u->rt] + dis[v ->rt]\)对于第...

2019-03-06 19:33:00 210

转载 [SDOI2011]消耗战(虚树)

洛古题面题意:给定一棵树,割断每一条边都有代价,每次询问会给定一些点,求用最少的代价使所有给定点都和1号节点不连通暴力\(DP\)我们先考虑暴力怎么做设\(dp[u]\)为以\(u\)为根的子树中,割掉所有给定点的最小代价转移的时候要分两种情况:1.若u不是给定点,则\(dp[u] = min(u\)到根节点的所有边的最小边长,割掉所有含有给定点的子树)\(ps:\)上述给...

2019-02-22 10:24:00 58

转载 Product(欧拉函数)

原题地址先吐槽一波:凉心出题人又卡时间又卡空间先来化简一波柿子\[\prod_{i=1}^{n}\prod_{j=1}^{n}\frac{lcm(i,j)}{gcd(i,j)}\]\[=\prod_{i=1}^{n}\prod_{j=1}^{n}\frac{i*j}{gcd(i,j)^2}\]\[=(\prod_{i=1}^{n}\prod_{j=1}^{n}i*j)*(\pr...

2019-02-17 19:57:00 96

转载 杜教筛学习笔记

杜教筛的作用是可以快速求出积性函数的前缀和,相比于传统的线性筛,杜教筛可以在\(O(n^{2/3})\)的时间求出积性函数的前缀和。PS:一下所有除法运算为向下取整(不知道向下取整的LaTex)前置芝士1:积性函数什么是积性函数呢?若a⊥b(a,b互质),那么有\(f(ab)=f(a)f(b)\) 则称\(f(x)\)的积性函数。前置芝士2:狄利克雷卷积定义两个积性函数的狄利克...

2019-02-11 19:16:00 78

转载 [BOI2004]Sequence 数字序列(左偏树)

PS:参考了黄源河的论文《左偏树的特点及其应用》题目描述:给定一个整数序列\(a_1, a_2, … , a_n\),求一个递增序列\(b_1 < b_2 < … < b_n\),使得序列\(a_i\)和\(b_i\)的各项之差的绝对值之和 \(|a_1 - b_1| + |a_2 - b_2| + … + |a_n - b_n|\) 最小。不难发现两条性质:①:...

2019-02-07 22:23:00 187

转载 [WC2007]剪刀石头布(最大流)

洛古一句话题意:给定一张图,每两点之间有一条有向边或无向边,把所有无向边定向,使图中三元环个数尽量多因为原图是一个完全图,假设图中任意三点都能构成三元环,那么途中三元环的个数为:\(\binom{n}{3}\)。那么如果一个三元组不是三元环,那么有一个点的出度为2。我们假设一个点的出度为d,那么对于这个点,三元环会减少\(\frac{d (d-1)}{2}\)所以三元环的数量为...

2019-01-28 22:02:00 100

转载 [NOI2009]变换序列(二分图匹配)

我们先不考虑字典序最小,先来求出一种可行解。不难发现,对于每一个i值,它所对应的T值在模n意义下最多两个,于是我们可以用二分图匹配来判断。那字典序最小呢?回顾一下二分图匹配的算法:网络流?貌似不好做到字典序最小,所以我们来看匈牙利算法匈牙利算法是从1~n枚举点,看是否能合法,如果它要的边没被连就连,如果被连过了就一直判断是否有办法可以让前面的匹配换一种连接方式,便是用这种连边方式...

2019-01-28 21:24:00 105

转载 文理分科(最小割)

洛古对于每一个人,要么选文科,要么选理科,典型的非黑即白问题,我们可以用最小割来解决。又因为最大流=最小割,所以我们可以采用网络流来解决但是我们怎么建边呢?因为在这道题中,文理平等,所以我们可以将文科靠近源点,理科靠近汇点对于每一个same值,我们只要有一个对应点选了另一个科目,那么我们就必须把same值剪掉。也就是说,如果该边被割,则说明这些人不同时选一个科目,不能获得同时...

2019-01-28 21:13:00 106

转载 上帝与集合的正确用法(欧拉定理)

洛古前置之士:欧拉定理和拓展欧拉定理:\(a^b\equiv a^{b\ mod\ φ (m)} \ \ \ \qquad\qquad gcd(a,m)=1\)\(a^b\equiv a^b \qquad\qquad\qquad\qquad gcd(a,m)\neq 1,b<φ (m)\)\(a^b\equiv a^{(b\ mod\ φ (m))+φ (m)} \qqua...

2019-01-28 20:55:00 131

转载 近期学习计划

TBR实在是太弱了,要学的东西太多了,先列出10个吧QAQ1、FFT(Y)2、后缀数组(Y),后缀自动机3、线性基4、生成函数5、动态淀粉质6、计算几何7、KDtree8、替罪羊树9、容斥(Y)10、斯坦纳树转载于:https://www.cnblogs.com/bcoier/p/10321706.html...

2019-01-25 21:20:00 54

转载 [HAOI2008]圆上的整点(数论)

题目的所求可以转化为:\(y^2=r^2-x^2\)(其中r,x,y均为整数)即\(y^2=(r-x)(r+x)\)(其中\(r,x,y\)均为整数)不妨设\((r-x)=d*u\)-------① \((r+x)=d*v\)-------②(其中\(gcd(u,v)=1\))则有\(y^2=d^2*u*v\),因为\(u,v\)互质所以\(u,v\)一定是完全平方数,所以再设\...

2019-01-19 22:44:00 299

转载 主席树学习笔记

主席树,一个数据结构,能访问到历史版本的数据,常用于可持久化和区间k大值,是线段树的一个升级版。可持久化可持久化的意思是可以访问任意版本的数据,一眼想到的暴力做法就是开n个数组来记录,这显然是不可取的。那么我们考虑优化。若只有单点修改,不难发现每两个版本的差别最多为1,那么我们是不是可以只更改只一个数呢?显然是可以的。在线段树上,我们每访问到一个节点,如果该节点没有被修改,直接用...

2019-01-19 22:34:00 67

转载 选择客栈

拿到这道题的一般思路就是直接暴力枚举每一对l,r,再拿l与r的每一个数与p比较,这样就可以O(n^3)(不满)的复杂度获得60分#include<bits/stdc++.h>using namespace std;int n,k,p,ans;struct edge{ int c,m;}a[200005];inline int read(){ in...

2019-01-19 20:27:00 58

转载 浅谈线段树

一、概念线段树,在各个节点保存一条线段可以高效解决连续区间的修改查询问题由于二叉结构的特性它每次操作能保持每个操作的复杂度为O(logn)由于是一棵二叉树每个节点的信息都会被logn个左右的节点记录所以空间消耗一般较大(一般是4*n)二、操作1、预处理我们先考虑节点个数是2的n次方的一段区间在这种情况下线段树是一棵满二叉树所以它每个非叶子结点都有两个儿子这里叫...

2019-01-19 20:12:00 88

转载 高斯消元总结

这里介绍的是高斯-约旦消元法。相对于传统的高斯消元,约旦消元法的精度更好、代码更简单,没有回带的过程。约旦消元法大致思路如下:1.选择一个尚未被选过的未知数作为主元,选择一个包含这个主元的方程。2.将这个方程主元的系数化为1。3.通过加减消元,消掉其它方程中的这个未知数。4.重复以上步骤,直到把所有式子变成形如:a1+b0+c*0……=d我们用矩阵表示每一项系数以及结果...

2019-01-19 20:08:00 160

转载 状压DP总结

状态压缩就是将一行的状态压成一个二进制数,这个数的二进制形式反映了这一行的情况比如0100111的意义为:这一排的第一个数没被使用,第二个被占用了,第三四个没被占用,第五六七个被占用我们知道位运算和状压DP一样,也是在二进制下进行的,所以位运算往往可以解决很多问题我们来看看状压DP(位运算)的常用操作:有了这些位运算的帮助,我们便可以更加容易的对每一排的状态进行处理我们来看到...

2019-01-19 20:07:00 131

空空如也

空空如也

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

TA关注的人

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