![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
文章平均质量分 81
Defener
这个作者很懒,什么都没留下…
展开
-
计算几何收录
题目:HNOI2016 矿区SDOI2016 平凡的骰子JSOI2018 绝地反击HNOI2004 最佳包裹SCOI2015 小凸想跑步APIO2018 选圆圈椭圆面积异或并HNOI2016 矿区首先将平面图转成对偶图。将每个点为端点的边按极角排序,然后按逆时针顺序遍历每个区域,算出面积并编号,求出对偶图。求出对偶图的生成树,一个原图的块在生成树上仍然是联通块,遍历询问的边时判断询问的联通块和该边在树上的关系即可找到对应子树的贡献。时间复杂度 O(nlog2n+∑d)O(n \log原创 2022-02-07 14:16:11 · 321 阅读 · 0 评论 -
单位根反演 小猪佩奇学数学
题面一个比较纯粹的推式子题目,第一步先将整除拆开:∑i=0n(ni)pi1k(i−imod k)\sum_{i=0}^n \binom{n}{i} p^i \frac{1}{k}(i-i \mod k)∑i=0n(in)pik1(i−imodk)拆开括号并枚举余数:1k(∑i=0n(ni)pii−(ni)pi∑j=0k−1[(i−j)mod k=0]j)\frac{1}{k}(\sum_{i=0}^n \binom{n}{i} p^i i-\binom{n}{i}p^i \sum_{j=0原创 2021-06-12 20:18:25 · 135 阅读 · 0 评论 -
Atcoder AGC047 E Product Simulation
题面由于不知道 A,BA,BA,B,且操作总数的限制,需要用类似快速乘的方式,将 A,BA,BA,B 拆为 log2A\log_2Alog2A 个二进制位,最后进行卷积即可。首先要召唤出一个111。只要让 AAA 与 A+BA+BA+B 比较即可。当 A,BA,BA,B 有一个为 000 时,再或一个 BBB 与 A+BA+BA+B 比较即可。当 A=B=0A=B=0A=B=0 时无法召唤出111且不需要111。有了111之后,就可以倍增得到所有 2i2^i2i 的值。记录变量 ccc 表示当前拆原创 2021-06-09 21:15:13 · 262 阅读 · 0 评论 -
Atcoder AGC044 E Random Pawn
题面首先有一个很简单的想法,设 fif_ifi 为从第 iii 个位置出发的最大收益,决策得到:fi=max(Ai,12(fi−1+fi+1)−Bi)f_i=\max(A_i,\frac{1}{2}(f_{i-1}+f_{i+1})-B_i)fi=max(Ai,21(fi−1+fi+1)−Bi)这里的下标均在模 nnn 意义下。由于收益只会来自于 AAA,所以对于 AAA 最大的 iii 一定有 fi=Aif_i=A_ifi=Ai。由此可以将环拆为链。当 Bi=0B_i=0Bi原创 2021-06-09 20:43:30 · 274 阅读 · 0 评论 -
Codeforces 1299 D 环游世界
题面对于图上路径异或问题,先抓一棵生成树,对于每条非树边算出接在树上形成的环异或值,将这些值加入线性基中求解。这里同样的做法,在选生成树时优先选与111号点相连的边。对于非树边分情况讨论:存在点 x,yx,yx,y,x,y,1x,y,1x,y,1 中两两有连边。先将 x,yx,yx,y 子树内的非树边加入线性基,若保留 1,x1,x1,x 之间的边或 1,y1,y1,y 之间的边,则该线性基最终会保留下来。若保留这两条边,则 x,yx,yx,y 之间的边也会保留下来。直接将非树边加入线性基即可。原创 2021-05-10 12:11:27 · 166 阅读 · 0 评论 -
伯努利数 仓鼠的数学题
题面设 BiB_iBi 为伯努利数的第 iii 项。伯努利数有许多定义方法,这里定义 ∑i=0Bii!xi=x1−e−x\sum_{i=0}\frac{B_i}{i!}x^i=\frac{x}{1-e^{-x}}∑i=0i!Bixi=1−e−xx。设 Gn(x)=∑i=0Si(n)n!xiG_n(x)=\sum_{i=0}\frac{S_i(n)}{n!}x^iGn(x)=∑i=0n!Si(n)xi,带入 Si(n)S_i(n)Si(n) 得到:Gn(x)=∑i=0∑j=0n(jx)原创 2021-03-30 07:24:38 · 128 阅读 · 0 评论 -
递推数列深造
线性递推数列求数列最小线性递推式设 rir_iri 为数列 a0⋯ai{a_0 \cdots a_i}a0⋯ai 的最小线性递推式,lil_ili 为 rir_iri 的阶数。显然有 li−1⩽lil_{i-1} \leqslant l_ili−1⩽li。设 did_idi 为真实 aia_iai 与用 ri−1r_{i-1}ri−1 计算出的 aia_iai 的差。若 di=0d_i=0di=0 则 ri=ri−1r_i=r_{i-1}ri=ri−1,否则 li>li原创 2021-02-21 19:56:09 · 286 阅读 · 1 评论 -
Atcoder AGC051 A 十二边形
题面先手绘 d>1d>1d>1 的情况,可以发现大十二变形的拆分是分层的。由几何知识可知,正十二变形共十个个内角,每个内角150°150°150°,只能被拆分为90°+60°90°+60°90°+60°;当 d>1d>1d>1 时会涉及平角的拆分,其拆分方法有两种:将这条边上摆正方形且该边对应的内层的边长度不变或摆若干正三角形成梯形且该边对于的内层边长度减一。当内层空间变为正六边形时,只有一种填充方式即填满正三角形。从上看出某层图形如果是十二变形则其边一定是某一边长与原创 2021-02-07 10:43:04 · 279 阅读 · 0 评论 -
友谊赛 Rainyrabbit 爱求和
题面描述已知定值 ccc,给出 a,ba,ba,b 的值,求 ∑i=1a∑j=1b∑k=0c∑d=1idk[ilcm(d,j)]\sum_{i=1}^a \sum_{j=1}^b \sum_{k=0}^c \sum_{d=1}^i d^k [\frac{i}{lcm(d,j)}]∑i=1a∑j=1b∑k=0c∑d=1idk[lcm(d,j)i] 模998244353998244353998244353的值。共 ttt 次询问。1⩽t⩽200000,1⩽a⩽106,1⩽b⩽1018,0⩽c⩽10原创 2021-02-04 23:04:06 · 181 阅读 · 0 评论 -
任意模长DFT
离散傅里叶变换(DFT)首先引入DFT式:V(j)=∑i=0n−1aiωnijV(j)=\sum_{i=0}^{n-1} a_i \omega_n^{ij}V(j)=∑i=0n−1aiωnij其中,aia_iai 为一长度为 nnn 的多项式 A(x)A(x)A(x) 的各项系数,即 A(x)=∑i=0n−1aixiA(x)=\sum_{i=0}^{n-1}a_i x^iA(x)=∑i=0n−1aixi,nnn 也是DFT的模长。V(x)V(x)V(x) 为多项式经过DFT后的多项式。ωn原创 2021-01-20 00:00:22 · 429 阅读 · 0 评论 -
Codeforces 438 E 小朋友和二叉树
题面根据题意,设 ftf_tft 表示权值和为 ttt 的二叉树数量,枚举根节点的权值和右子树的权值,则有:ft=∑i=1n∑j=0t−cift−ci−jfjf_t=\sum_{i=1}^n \sum_{j=0}^{t-c_i} f_{t-c_i-j}f_jft=∑i=1n∑j=0t−cift−ci−jfj设 gig_igi 表示是否存在权值为 iii 的点,有则 gig_igi 为111,否则为000。对上式进行改写:ft=∑i=1t∑j=0t−igifjft−i−jf_t=\原创 2021-01-16 09:20:08 · 140 阅读 · 0 评论 -
SDOI 2013 项链
题面首先,求出不同的珠子的数量。按照题意,珠子数量为:∑i=1a∑j=ia∑k=ja[gcd(i,j,k)=1]\sum_{i=1}^a \sum_{j=i}^a \sum_{k=j}^a [gcd(i,j,k)=1]∑i=1a∑j=ia∑k=ja[gcd(i,j,k)=1]进行简单容斥,得到:16(2+∑i=1a∑j=1a(3[gcd(i,j)=1]+∑k=1a[gcd(i,j,k)=1]))\frac{1}{6}(2+\sum_{i=1}^a \sum_{j=1}^a (3[gcd(i,j原创 2021-01-09 22:37:50 · 117 阅读 · 0 评论 -
联合省选 2020 作业题
题面根据欧拉函数的性质,有 n=∑i∣nφ(i)n=\sum_{i|n}\varphi(i)n=∑i∣nφ(i),因此,将最终要求的答案化为:∑T∑i∈Twi∑d=1φ(d)[d∣gcdj∈Twj]\sum_T \sum_{i \in T} w_i \sum_{d=1} \varphi(d)[d|gcd_{j \in T}w_j]∑T∑i∈Twi∑d=1φ(d)[d∣gcdj∈Twj]其中 gcdi∈Swigcd_{i \in S}w_igcdi∈Swi 为边集 SSS 中边权值的原创 2020-12-25 23:49:06 · 128 阅读 · 0 评论 -
BZOJ 4162 Shlw loves matrix II
题面此处为计算矩阵幂,直接快速幂不够快,考虑用数学方法优化。对于一个 k×kk \times kk×k 的方阵 MMM,都有一个特征多项式 f(x)f(x)f(x) 满足 f(M)=0f(M)=0f(M)=0。f(x)f(x)f(x) 的构造方法如下:f(x)=det(M−Ix)f(x)=det(M-Ix)f(x)=det(M−Ix)其中,III 为单位矩阵,显然 f(M)=0f(M)=0f(M)=0 成立。对于这个多项式,直接求行列式不好求,但可以知道的是 f(x)f(x)f(x) 为 kkk原创 2020-12-20 23:28:34 · 178 阅读 · 0 评论 -
杜教筛提高
神犇和蒟蒻根据 μ(n)\mu(n)μ(n) 的定义,当 nnn 为大于111的完全平方数时 μ(n)=0\mu(n)=0μ(n)=0,当 n=1n=1n=1 时 μ(n)=1\mu(n)=1μ(n)=1。因此 ∑i=1nμ(i2)=1\sum_{i=1}^n \mu(i^2)=1∑i=1nμ(i2)=1。对于 φ(n)\varphi(n)φ(n),根据经验,转化为约数的 φ\varphiφ 之和。即:n=∑i∣nφ(i)n=\sum_{i|n}\varphi(i)n=∑i∣nφ(i)因此有:原创 2020-12-20 17:38:51 · 142 阅读 · 0 评论