类欧几里得算法
类欧几里得算法 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132718582 求 ∑i=0n⌊ai+bc⌋\sum\limits_{i=0}^{n}\lfloor \frac{ai+b}{c} \rfloori=0∑n⌊cai+b⌋ 推式子步骤: 分类讨论 a=0a=0a=0 是个最简式子 b≥cb\ge cb≥c 或 a≥ca\ge ca≥c 由 f(a mod c,b mod c,c,n)f(a\bmod c,b\bmod c,c,n)f(amo...
atcoder库中类欧(类欧几里得算法)floor_sum用法
atcoder库中类欧(类欧几里得算法)floor_sum用法 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132701473 https://atcoder.jp/contests/practice2/tasks/practice2_c 求 ∑i=0N−1floor((A×i+B)/m)\sum_{i = 0}^{N - 1} floor((A \times i + B) / m)∑i=0N−1floor((A×i+B)/m) 直接使用即可: 1ans...
基环树和点度数相关的计数:CF1863G
基环树和点度数相关的计数:CF1863G 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132696642 https://codeforces.com/contest/1863/problem/G 首先建图,然后分析出交换在图上的变化,发现每条点最多只有一个入边标粗,求最终形态。 首先可以猜答案为 ∏v(inv+1)\prod_{v}(\mathrm{in}_v + 1)∏v(inv+1) ,但是环上会有不合法的和重复的。 发现以下情况会重复: 总...
分治NTT/在线卷积
分治NTT/在线卷积 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132670095 https://www.luogu.com.cn/problem/P4721 已知 ggg ,求 考虑分治,现在在 [l,r][l,r][l,r] ,先计算 [l,mid][l, mid][l,mid] ,然后计算 [l,mid][l, mid][l,mid] 对 [mid+1,r][mid+1,r][mid+1,r] 的贡献。 计算左对右的贡献,就把左边的 fff ...
环上计数+计数转概率:ABC318EX
环上计数+计数转概率:ABC318EX 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132650494 https://atcoder.jp/contests/abc318/tasks/abc318_h 先转为概率, fif_ifi 表示 iii 个点两人都AC的概率, gig_igi 表示恰好一个人AC的概率。 两个人都AC,只能为全部自环, fi=1i!f_i=\frac 1 {i!} fi=i!1 现在求 gng_ngn 。然后有个定理, ...
线性求逆元
线性求逆元 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132650059 先暴力求出 1n!\frac 1 {n!}n!1 往回推出 1i!\frac 1 {i!}i!1 1i=(i−1)!i!\Large \frac 1 i=\frac{(i-1)!}{i!}i1=i!(i−1)!
用树形DP+状压维护树上操作的计数问题:0902T3
用树形dp+状压维护树上操作的计数问题:0902T3 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132647373 发现操作数 k≤6k\le6k≤6 ,可以考虑对操作进行 状压 。 然后找找性质,发现要么删掉一棵子树,要么进去该子树。可以视为每种操作有两种情况。 然后分讨一下当前该如何转移。 树形dp的顺序: 合并子树 考虑当前往上的边的方向 然后发现只需要记住最早一次保留操作就行。 对于连通块大小的限制,就看一下当前操作之前有多少个子...
分数问题善用移项:0902T2
分数问题善用移项:0902T2 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132647332 其实就是分数规划,但不完全是。 对于求 ∑pili∑li\Large\frac{\sum p_il_i}{\sum l_i}∑li∑pili 在限定条件下的最大值,此类问题可以考虑 二分答案 并 移项 。 ∑pili∑li≥k\Large\frac{\sum p_il_i}{\sum l_i}\ge k ∑li∑pili≥k ∑pili≥k∑li...
图上简单路径问题——转化为圆方树问题:abc318_g
图上简单路径问题——转化为圆方树问题:abc318_g 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132645934 https://atcoder.jp/contests/abc318/tasks/abc318_g 对原图建圆方树后,任意两点间的简单路径必然为其树上路径上方点对应其边双的点。 然后判断A,C路径上的方点是否会有B 圆方树: 12345678910111213141516void dfs(int x) { dfn[x]=low...
线性预处理整除分块
线性预处理整除分块 本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132596085 有时候要求前 nnn 个: 暴力整除分块是 O(nn)O(n\sqrt n)O(nn) 的,但可以线性预处理 首先我们让 iii 取遍 0 到正无穷,考虑差分。 思考 n−1n-1n−1 变成 nnn ,哪些 iii 会发生变化。只有 nnn 的因数,所以差分出来其实就是 nnn 的 因数个数 。这个可以线性筛 O(n)O(n)O(n) 预处理。 然后再做个前缀和就还原...












