摘要:
因为noip成绩不够没法参加ctsc,于是一起翘了apio 所以这是今年第一场全国赛也最后一场了 混了个zj的D类来参加noi day1: 上午开幕仪式 下午笔试 笔试检查了7、8遍 有一道题不确定 不知道noi提不提供食品了 运气还可以蒙对了 笔试满分 然后试机 试机有道交互 于是知道大概要考交互 阅读全文
摘要:
题解: 首先可以贪心 于是问题可以等价成一条边被算当且仅当子树中个数为奇数个 题解的做法比较简单 考虑每条边,加入其子树内的点 然后为了保证区间长度为偶数 分成f0,0 f0,1 f1,0 f1,1即可 暴力插入复杂度不对改成启发式合并即可 这里插入的时候可用线段树维护 把x-n这一段翻转即可 这样 阅读全文
摘要:
题解: 矩阵树定理 扩展的可以看成每颗生成树边权乘积之和 这里$\frac{p}{1-p}$ 阅读全文
摘要:
bzoj3551 [SDOI2019]世界地图 阅读全文
摘要:
题解: t1: 想了一会才会。。 以为是啥最小表示法之类的。。然后这个我又不会 其实只要考虑一下a[i],a[i+1]之间的大小关系就行了 t2: 好像和题解不太一样。。 我的做法比较麻烦。。 枚举A,枚举B,然后大概有个同余方程,只和A-B的值有关 于是问题变为求每个A-B的值有几个 直接fft就 阅读全文
摘要:
t1:矩阵快速幂 t2:裸的平衡树 splay比treap代码长太多 常数大一倍 没加输优直接t了 还要特判n=1(我的splay删除的时候会遇到问题) t3: 很显然是容斥 然后对于$A+B+C+D>n$的 会发现需要求$inv(x1!)*inv(x2!)*inv(x3!)*inv(x4!)$ 其 阅读全文
摘要:
题解: 有一个很重要的性质就是 对于一张完全强联通图来说 一定有一个强联通分量入度为0(或者出度为0) 然后就一些计数题的基本套路 https://www.cnblogs.com/onioncyc/p/8256968.html 阅读全文
摘要:
题解: day1: t1: 总共的配对数是n^2的 考虑我们枚举一个点如何找和它的最大值 这个显然trie是可以做的 于是想到维护每个点对应的当前最大值,那个堆维护一下就可以了 trie的话用主席树建可持久就可以了 t2: 这种题一看就知道大概是后缀自动机。。 暴力的话就是我们可以对每个bi向aj连 阅读全文
摘要:
边分治(点分治可替代)+虚树 鱼 snoi t2 t3 [SCOI2015]小凸想跑步 阅读全文
摘要:
题解: 考虑长度为k的时候的贡献 即取出一些元素然后给他们排个顺序然后问你有多少排法 假设排法为ans 那么应该就是$C(n,k)*C(n,k)*(n-k)!*(n-k)!*(n-k+1)*ans$ 然后ans的话只要用从大到小插入逆序对的思路就可以了 前缀和优化一下 时间复杂度n^3+Tn 因为逆 阅读全文
摘要:
题解: t1: 算了一下发现乘法也是可以莫比乌斯反演的 然后就直接对原式莫比乌斯反演了 大概加法是$\mu {(i)}*f(i)$ 乘法就是$f(i)^{\mu {(i)}}$ 然后这个算法成功达到$nlog^2$ 两个log里面都加了除法分块依旧没卡过 大概可以通过记忆化一下达到一个log但这题空 阅读全文
摘要:
题解: 用最小生成树的Boruvka算法 即每次找到每个点不在它联通块的边内的最大值 然后进行log次这个过程 然后找这个的话我们可以用trie树在2^m的时间内完成建树(如果是1要合并到0上) 阅读全文
摘要:
题解: 一道很套路的题目 首先一个结论 $\phi(xy)=\frac{\phi(x)*\phi(y)*gcd(x,y)}{\phi(gcd(x,y))}$ 这个按照$\phi$的定义很容易知道 然后我们可以枚举gcd,很套路的可以莫比乌斯反演 然后变成给出k个点,求他们$\phi(x)*\phi( 阅读全文
摘要:
题解: 正解做法比较简单,考虑离线之后,相邻两个节点之间的答案是有关系的 发现从父亲移到儿子后,改变的距离对于当前节点子树内和子树外的是一样的 所以线段树维护一下区间加减取max就可以了 另外的做法1: 过不了,考虑分块 对连续的叶子分成一个块,维护每个点到这个点的距离,可以多源最短路nlogn 然 阅读全文
摘要:
题解: subtask1:爆搜,没状压dp的分 subtask2,3:统计有几个操作就好了,分治ntt优化 subtask4,5: 发现和操作顺序无关,然后我们考虑用分治ntt优化 每个的贡献是$n+\frac{n}{2}+\frac{n}{4}+...$ 所以复杂度还是$nlog^2{n}$ 阅读全文
摘要:
题解: 操作挺多的一道题 网上证明挺多就不打了 $\sigma_0(n^2) = \sum_{d\mid n} 2^{\omega(d)} = \sum_{d\mid n} \sum_{e\mid d} \mu^2(e) = ((\mu^2 * 1) * 1) (n)$ $(\mu * 1) * 1 阅读全文
摘要:
题解: 和正解方法不太一样 正解的大概意思就是先向下走可以走回来的 再走不能走回来的 能走回来的就是到这个儿子后最近的叶子可以返回的 然后这样可以O(n)计算 我自己做的时候以为这样不太能做。。 所以用的是哪些点可以返回当前点 途中可以利用其它叶子 可以发现如果可以利用其他叶子到达,那多个的时候也可 阅读全文
摘要:
题解: 首先分析一下这个问题 发现等价于是求n之内与n互素的数的个数,即欧拉函数 这个可以线性筛 但发现还应该减去$x^2==1$的情况 这个东西不是那么好处理 考虑用中国剩余定理拆 因为$p1^{a1}*p2^{a2}*p3^{a3}....$这些是互素的 所以拆完后的方程的解和原方程是唯一对应的 阅读全文
摘要:
题解: 对于subtask3:可以把相同的归在一起就是$nlogn$的了 对于subtask4: 可以使用高维前缀和的技术,具体的就是把每个质因数看作一维空间 那么时间复杂度是$\sum \limits _{i=1}^{n} {质因数个数}$ 这个东西是$nloglogn$的 对于subtask2: 阅读全文
摘要:
题解: 首先subtask1直接状压暴力就好 subtask2我的处理和题解不太一样 仍然正向考虑 设i的时候有最高位为j,那么这个时候数一定越大越好(这个比较好yy) 然后$f[i][j]$搞个高精度dp就可以了 复杂度$(n^3/64)$ 我懒得手写了。。就写了$n^3$的 还有bitset本地 阅读全文
摘要:
题解: 这个东西的模型是个费用流 但是直接跑费用流能拿到5分的高分 $(nm)*(nm)*log{nm}$ 考虑优化一下建图 我们可以不用对每个店和人都连边 而是对人和店都连一条链 然后对每个人连店刚好比它大和比它小的两个点 这样有25分 我们容易发现每个店的区间都是连续并且递增的 于是可以dp 单 阅读全文
摘要:
题意: 支持根到底部加权 查询链上k大 还有子树k大,子树加 题解: 可以对操作分块,每次建立出$\sqrt{n}$个点的虚树 每个点维护到上一个点的之间的序列 那么每次修改只会修改根号段,查询也是根号段 阅读全文
该文被密码保护。 阅读全文
摘要:
后缀自动机*2 bzoj cf 圆方树*2 apio2018 cf 矩阵树定理 子集卷积 wc2018 阅读全文
摘要:
题解: t1: 题解是循环矩阵 但我并没有往矩阵上想下去。。。 这个东西比较显然的是可以把它看成生成函数 然后就可以任意模数fft了 复杂度比题解优 $nlog^2$ t2: 随便推推式子就好了 t3: 矩阵的一般套路 维护$f(n-1),f(n-2),{f(n-1)}^2,{f(n-2)}^2,f 阅读全文
摘要:
题解: 阅读全文
摘要:
题解: 大致就是先求出凸包 然后有一个性质就是我们枚举每条边 然后凸包上的点到边的距离是单峰函数(刚开始傻逼的写了点对点) 于是可以two-point-two 为什么是对的呢 因为对于最远点对 我们取一条平行于边的直线,那这条边到那个点的距离就是最远距离 所以这样就是对的 另外我发现求凸包的代码需要 阅读全文
摘要:
题解: 阅读全文
摘要:
题解: 挺好的一道题 两次容斥+一次二项式反演 首先考虑部分分不存在k的限制 然后我们发现两维之间是互相独立的 下面以x轴为例 然后问题就变成了 $$\sum\limits_{i=1}^{R} {xi}=k (xi<=Mx)$$ 这个东西是个经典问题,容斥做就可以了 $$h(R)=\sum\limi 阅读全文
摘要:
题解: https://www.cnblogs.com/cjyyb/p/10142878.html $$f(i)=\sum\limits_{i=k}^{n} { C_n^i *g(i)} \tag 1$$ 可以反演出 $$g(i)=\sum\limits_{i=k}^{n} {{(-1)}^{n-i 阅读全文
摘要:
题解: 前68分非常简单 建立SAM 另一个串在上面跑,然后求一个树链的并 我们会发现暴力就是min(l^2,n)的 所以复杂度最多是nsqrt(n)的 当然我们也可以nlogn维护 把所有点按照dfs序排序,每个点到根的距离减去排序后 相邻两点LCA到根的距离就是树链的并的长度 不过要注意一下由于 阅读全文
摘要:
题解: 判定$x^2 = a %p$有解的充要条件是 $a^{(p-1)/2}=1 $ 阅读全文
摘要:
题解: 原来动态开点平衡树是O(n)空间的。。 只需要在split的查找和出来之后动态开点就可以了 这题的结论是2^(b[a[i]+1]>b[a[i+1]+1]的个数) 前60分是普通的平衡树操作完之后再算 满分是动态开点平衡树 对于一个点内部的统计一下,边界上的特判一下 #include <bit 阅读全文
摘要:
题解: 思路挺好想的。。然而今天写代码写成傻逼了 d1t1: 首先比较暴力的就是$f[i][j]$表示i个这个点是j的概率 然后前缀和一下dp就是$n^2$的 部分分树形态随机就说明树深度是$log$的 只转移子树中有的点,复杂度$nlogn$的 正解也很好想 我们化简一下那个式子(早上的草稿纸找不 阅读全文