- 博客(371)
- 收藏
- 关注
转载 NOI2019退役记
大概是去年这个时候?当时lnsyoi 20届 还有13个人。北方弱省OI不易。没有过人的天赋、没有基础、没有手把手带着走的学长,可能这样的OIer一无所有吧。全国赛退役可能是最好的结果吧。NOI2019退役记7.13和zhx先到了广州,在万达广场上边的宾馆住了一天。(对于辽宁人来说)杭帮菜真甜,awsl。7.14报到日。貌似住的地方距离广...
2019-07-20 23:37:00
425
转载 WC2018 州区划分
题目描述:luogu题解:设$f[S]$表示选集合$S$时所有满意度乘积之和,$W[S]$表示集合$S$中选中的$w$之和。显然有这样一个式子:$$f[S]= \frac{1}{W[S]^p} \sum\limits_{T \subseteq S}f[T]*W[S-T]^p*[check(S-T)]$$后面$check$的意思是判断$S-T$是否合法。原题义中不合法的...
2019-07-12 08:48:00
477
转载 CF914G Sum the Fibonacci
题目描述:luogu题解:FST+FWT。FWT_OR+FWT_XOR+FWT_AND=快乐。首先对于这个式子来说,第一部分是个子集卷积,后面都可以用FWT做。学了一下FST,它的原理基本是这样的:子集卷积即$f[i]=\sum\limits_{j \subseteq i}g[j]*h[i-j]$,看起来很像FWT_OR但是有另外条件,即$j\&(i-...
2019-07-11 16:57:00
332
转载 luogu4883 mzf的考验
题目描述:luogu题解:当然splay。区间翻转是基本操作。区间异或?按套路记录区间内每一位$1$的个数,异或的时候按位取反即可。区间查询同理。因为要按位维护,所以复杂度多了个log。不开O2只有30,开O2能过。代码:#include<cstdio>#include<cstring>#include<...
2019-07-10 15:28:00
317
转载 分治FFT/NTT
粘板子:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int MOD = 998244353;const int N = 100050;const int M =...
2019-07-10 09:57:00
199
转载 LCT板子
粘板子:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 300050;template<typename T>inline void read(T&x){ T ...
2019-07-10 09:16:00
147
转载 uoj310. 【UNR #2】黎明前的巧克力
题目描述:uoj题解:WTF。看题解看了一个小时才看明白。首先有状态$f[i][j]$表示前$i$个东西两人取,最后两人异或和为$j$的有多少方案。转移为$f[i][j]=f[i-1][j]+2*f[i-1][j \oplus a[i]]$。显然跑FWT做异或卷积(显然会T)。发现卷积中每次卷的是{1,0,0,……,0,2,0……}这样一个东西。打表发...
2019-07-08 23:18:00
161
转载 ZJOI2015 幻想乡战略游戏
题目描述:luogubz题解:动态点分治。记录点分树子树中到该点的所有价值。为啥别人100行我150啊。代码:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;...
2019-07-08 18:05:00
135
转载 bzoj4407 于神之怒加强版
题目描述:bzluogu题解:莫比乌斯反演。能搞出来这个式子:$\sum\limits _{T=1}^{min(n,m)} \lfloor \frac{n}{T} \rfloor \lfloor \frac{m}{T} \rfloor \sum\limits_{g|T} g^K \mu (\frac{T}{g})$后面积性函数线性筛。代码:#inc...
2019-07-08 11:10:00
134
转载 bzoj3309 DZY Loves Math
题目描述:bz题解:线性筛……瞎jb反演得到$ans=\sum\limits _{T=1}^{a} \lfloor \frac{a}{T} \rfloor \lfloor \frac{b}{T} \rfloor \sum\limits _{d|T} f(d) \mu(\frac{T}{d})$。后面那个要求$O(n)$筛出来。剩下的我讲不明白,直接挂PoPoQQQ...
2019-07-08 10:40:00
185
转载 CF613D Kingdom and its Cities
题目描述:luogucf题解:虚树上dp。建虚树没啥说的。那么dp状态?考虑dfs时返回一个值,代表这个子树上面需不需要隔断。如果当前点可以占,那么有至少两个这种子树时应该选这个点并返回0,要不然返回1;如果不能占,直接加到dp值上,然后返回1即可。代码:#include<cstdio>#include<cstri...
2019-07-07 21:14:00
137
转载 bzoj3677 [Apio2014]连珠线
题目描述:(题面有坑,概括一下:)给出一棵$n$个点的无根树,每条边有价值。对于一个根,你可以令父节点-当前节点-子节点这两条边变成蓝色边。选一个点作根的价值是蓝色边边权之和,求最大价值。bzluogu题解:树上换根dp。设状态$w[u][0/1]$表示选择一个根后,点$u$不是/是“当前节点”时,子树的最大价值。(转移有点长,请忽略无效细节谨慎食用)...
2019-07-07 19:31:00
129
转载 CF961G Partitions
题目描述:luogu题解:斯特林数。考虑每个$w_i$对答案的贡献。当自己是一个集合时,每种情况下贡献为$1*w_i=w_i$,方案数为$S2(n,m)$;当自己和别人在同一集合时,对于剩下的$n-1$个数有$S2(n-1,m)$种方案,而且自己可以放进任一集合中。每一种贡献为$|S|*w_i$,合起来就是$(n-1)*w_i$。求第二类斯特林数有容斥:$...
2019-07-05 10:07:00
159
转载 loj6077. 「2017 山东一轮集训 Day7」逆序对
题目描述:loj题解:容斥+生成函数。考虑加入的第$i$个元素对结果的贡献是$[0,i-1]$,我们可以列出生成函数。长这样:$(1)*(1+x)*(1+x+x^2)*……*(1+x+x^2+……+x^{n-1})=\frac{\prod_{i=1}^{n}1-x^i}{(1-x)^n}$把分母提出来:$\frac{1}{(1-x)^n} = (1+x+x^2+…...
2019-07-05 07:48:00
226
转载 bzoj4596 [Shoi2016]黑暗前的幻想乡
题目描述:bzluogu题解:容斥+矩阵树。考虑用其中$i$个人(没有每人一条路的限制)能组成的生成树的个数。所以$2^{n-1}$枚举然后$n^3$高消即可。高消常数小不虚。代码:#include<vector>#include<cstdio>#include<cstring>#include&...
2019-07-04 15:48:00
126
转载 CF786B/CF787D Legacy
题目描述:luogucfcf题解:最短路+线段树优化建图。考虑本题的边是点->点、段->点和点->段,我们可以建线段树然后拆成入点和出点。入点:儿子->父亲,边权为0;出点:父亲->儿子,边权为0;叶子:出点->入点,边权为0;那么连续的一段可以用不超过$log\;n$个节点表示,最后跑最短路即可。代码:...
2019-07-04 10:23:00
216
转载 SNOI2019 字符串
题目描述:luogu题解:这题$O(n)$。首先把连续的相同字符缩在一起。然后考虑字典序的比较是从前向后一位一位比,所以:当$a[i]>a[i+1]$时,删$a[i]$一定比删$a[j](j>i)$更优;当$a[i]<a[i+1]$时,删$a[j]$一定比删$a[i]$更优。然后深搜$O(n)$。代码:#include&l...
2019-07-04 07:36:00
142
转载 【模板】拓展卢卡斯
粘代码:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;template<typename T>inline void read(T&x){ T ...
2019-07-03 20:28:00
100
转载 CF888G Xor-MST
题目描述:luogu题解:$01Trie$上启发式合并。容易证明将所有点按$a$值扔到$01Trie$中之后,对于一个非叶节点,左右儿子间只建一条边最优。所以按$a$排序插到$Trie$里,最后枚举所有有左右儿子的非叶节点对答案的贡献即可。实现的时候启发式合并一下。代码:#include<cstdio>#include<cst...
2019-07-01 20:11:00
270
转载 bzoj2164 采矿
题目描述:bz题解:线段树。考虑在线段树上维护区间内在某个点选$i$个的最大值,以及区间内任意分配$i$个点的最大值。前者合并$O(m)$,后者合并$O(m^2)$。所以复杂度$O(nm^2+mlog^2n+m^2logn)$,可过。代码:#include<cstdio>#include<cstring>#inclu...
2019-07-01 16:06:00
140
转载 CF809D Hitchhiking in the Baltic States
题目描述:luogu题解:平衡树模拟dp?设$dp[i]$表示当前状态下长为$i$的合法子序列最后一位的最小值。容易发现$dp[i]<dp[i+1]$。然后就可以$dp$了。(当前可操作区间为$[l,r]$)1.$dp[i-1]<l$,有$dp[i]=min(dp[i],l)$。此时满足$dp[i-1]<l \le dp[i]$。...
2019-07-01 10:27:00
226
转载 【模板】动态 DP
luogu传送门。最近学了一下动态dp,感觉没有想象的难。动态DPsimple的DP是这样的:给棵树,每个点给个权值,求一下最大权独立集。动态DP是这样的:给棵树,每个点给个权值还到处改,每次改的时候求一下最大权独立集。题外话:($NOIP2018$保卫王国)大佬:动态$dp$板子直接秒。神仙:这个是什么让我想一想……倍增?(然后当场切掉)...
2019-06-28 09:49:00
106
转载 FJOI2016 神秘数
题目描述:bzluogu题解:没有多组询问的话非常好做。先排个序,对小于等于当前总和+1的所有数求和,然后更新当前总和直到更新不了。这题就是再套个主席树……代码:#include<cstdio>#include<cstring>#include<algorithm>using namespace st...
2019-06-28 09:30:00
134
转载 CF226E Noble Knight's Path/bzoj4704 旅行
题目描述:bzluogu题解:主席树维护大力树剖。一条路径上不允许过的点的个数是当前袭击数-$y$时袭击数,所以允许经过的点的个数是总数-当前袭击数+$y$时袭击数。用主席树去维护每个时刻树链袭击数。这样的话修改的时间复杂度是$O(nlogn)$的。现在的问题是查询。注意端点不算路径上的点,那么我们可以让起点和终点距离近一点。然后有两种情况,起...
2019-06-28 09:24:00
154
转载 ZJOI2012 小蓝的好友
题目描述:bzluogu题解:好久不写$treap$了来水一发。$treap$维护dp。考虑在这个图上确定一个矩形的三条边,那么至少包含一个关键点的矩形的数量由开口方向的第一个关键点决定。然后是这样的一个图:考虑从下往上做扫描线,对于左右下三条边,我们能取的范围是这样的:这个只是对当前的左右下来说的。扩展一下,还有这样的:这个过程...
2019-06-28 09:09:00
185
转载 [USACO08OPEN]牛的街区Cow Neighborhoods
题目描述:luogu题解:技巧题。曼哈顿距离:$|x1-x2|+|y1-y2|$切比雪夫距离:$\max(|x1-x2|,|y1-y2|)$曼哈顿距离转切比雪夫距离:$(x,y)->(x+y,x-y)$所以……排完序拿stl::set模拟就好了。代码:#include<set>#include<cstdio>...
2019-06-26 23:33:00
162
转载 APIO2015 八邻旁之桥/巴邻旁之桥
题目描述:bzluogu题解:贪心+权值线段树。$K=1$的时候,答案为$\sum |x-l| + |x-r|$,所以所有端点排序后取中位数即可。$K=2$的时候,一定是左边的一些走左边的桥,右边的一些走右边的桥。问题是按什么顺序排序。答案是按线段中点排序。原因是,对于河两岸的一对点和两座桥,选择的一定是离线段中点近的那个。考虑如何快速计算答案,我...
2019-06-26 23:23:00
196
转载 luogu4608 [FJOI2016]所有公共子序列问题
题目描述:luoguloj题解:序列自动机(?)+高精+普及dp。这个是猫老师的序列自动机(字符串从1开始):void sol(char *s,int n,int t[N][53]){ memset(t[n],-1,sizeof(t[n])); for(int i=n-1;i>=0;i--) { m...
2019-06-25 08:50:00
122
转载 luogu4389 付公主的背包
题目描述:luogu题解:生成函数+多项式exp板子。首先商品默认无穷件。所以对于价值为$k$的商品,其生成函数为$\frac{1}{1-x^k}$。然后集体取ln求和然后再exp就好了。但是这个算法的瓶颈在集体取ln。发现一个性质:$$ln(\frac{1}{1-x^k})=-ln(1-x^k)$$$$=- \int \frac{-kx^{k-1}}{1...
2019-06-23 19:49:00
119
转载 多项式孤儿桶
巨佬制作人们大家好,我是练习多项式两周半的个人练习生lgl。这里总结一下多项式基本操作。1.多项式加、减、输出不说了。时间复杂度$O(n)$。2.多项式取模已知多项式$F(x)$,求它对$x^n$取模。人话:把$n$次及以上的系数清零。时间复杂度$O(n)$。3.多项式乘法/卷积洛谷传送门。(1)$FFT$依靠复平面上瞎转以及强大的$...
2019-06-22 22:37:00
87
转载 bzoj4455 [Zjoi2016]小星星
题目描述:bzluogu题解:大力容斥+卡常。考虑$dp[i][j]$表示点$i$子树选完且点$i$对应点$j$的方案数,很好转移。然后大力容斥,此时容斥系数$-1^i$。代码:#include<cstdio>typedef unsigned long long ll;const int N = 20;template<...
2019-06-20 20:02:00
138
转载 loj6485 LJJ 学二项式定理
题目描述:loj题解:单位根反演。$[n|x]=\frac{1}{n} \sum _{i=0}^{n-1} (ω_n^x)^i$证明?显然啊,要么停在$(1,0)$要么转一圈。所以说题目要求的是$\sum _{i=0}^{n} C(n,i) * s^i * a_{i\;mod\;4}$把$a$提前,变成$\sum_{k=0}^{3}a_k \sum _{i=0...
2019-06-20 18:37:00
177
转载 bzoj3622 已经没有什么好害怕的了
题目描述:bzluogu题解:$dp$+二项式反演。首先把两个集合排序,然后dp。$dp[i][j]$表示前$i$个糖果里面我让$j$个匹配比它小的药片,剩下不管的方案数。容易得到方程为$dp[i][j]=dp[i-1][j]+dp[i-1][j-1]+(lim-(j-1))$,其中$lim$表示比它小的药片的数量。这一部分是$O(n^2)$的。发现他问的...
2019-06-20 16:39:00
135
转载 bzoj4666 小z的胡话
题目描述:bz题解:乱搞好题哇。众所周知斐波那契数列是有循环节的。我们可以搞出在模$10^x$下与所给得数同余的集合,那么在模$10^{x+1}$下,同余集合一定是原集合及循环若干循环节的大集合的子集。人话是,i have a xunhuanjie, i have a jihe.EN!another jihe and another xunhuanjie.然后...
2019-06-20 16:30:00
166
转载 三倍经验——bzoj3663、4660、4206 Crazy Rabbit/最大团
题目描述:366346604206题解:第一眼:不成立的互相连边,然后用网络流求解无向图最小点覆盖!好吧我不会。正解:每个点对应圆上的一段圆弧,长这样:设对应圆弧$(l,r)$。若$[a,b]$可以同时选中,那么$la<lb<ra<rb$(或者二者调换)。还有一点是,优弧=劣弧。这个自己手画一下应该会更清楚。所以将$[...
2019-06-20 16:25:00
127
转载 bzoj4668 冷战
题目描述:bz题解:并查集按秩合并。给并查集的边加上序号,每次查询时两个点就一起向上跳,最后剩下的就是答案。代码:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 500050;t...
2019-06-20 16:14:00
83
转载 [Codeforces Round #250]小朋友和二叉树
题目描述:bzojluogu题解:生成函数ntt。显然这种二叉树应该暴力薅掉树根然后分裂成两棵子树。所以$f(x)= \sum_{i \in c} \sum _{j=0}^{x-c} f(i)*f(x-i-j)$这是个不好看的卷积。所以我们再引入$c$的生成函数$G$,那么有$$F(x)=1+G(x)*F(x)*F(x)$$注意常数项,因为正常$f(0...
2019-06-19 16:48:00
158
转载 SDOI2017 遗忘的集合
题目描述:luogubzoj题解:生成函数+多项式ln(+反演?)首先如果我们已知$S$,那$S$中$i$的生成函数就是$1+x^i+x^{2i}+……$。整理一下就是$ \frac{1} {1-x^i}$。所以设$S$的生成函数为$F(x)$,则$F(x)= \prod _{i \in S} \frac{1}{1-x^i} $由于我们并不知道有哪些是答案...
2019-06-19 14:19:00
173
转载 poj3525 Most Distant Point from the Sea
题目描述:vjudgePOJ题解:二分答案+半平面交。半径范围在0到5000之间二分,每次取$mid$然后平移所有直线,判断半平面交面积是否为零。我的eps值取的是$10^{-12}$,36ms,而且和样例一样。(大力推荐)代码:#include<cmath>#include<vector>#include<...
2019-06-09 19:45:00
94
转载 poj1279 Art Gallery
题目描述:vjudgePOJ题解:半平面交求核的面积。板子?代码:#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<algorithm>using namespace std;...
2019-06-06 14:53:00
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人