数学
文章平均质量分 86
IcecreamArtist
咸鱼
展开
-
CCPC+ICPC预备
CCPC 网络赛 Remove每个数,用线性筛+递推求他的最大质因子。O(n)O(n)O(n)单调队列优化转移:f[j]=min(f[j],f[i]) i+1<=j<=i+mxp[i]-1//// Created by artist on 2021/9/2.//#include<bits/stdc++.h>using namespace std;typedef long long ll;#define mkp make_pair#define fi fi原创 2021-09-02 13:58:11 · 500 阅读 · 0 评论 -
八月刷题记录3
牛客多校10 A Browser Games原创 2021-08-26 22:32:24 · 105 阅读 · 0 评论 -
八月刷题记录2
洛谷P4551 最长异或路径给定一棵 n 个点的带权树,结点下标从1开始到 n。寻找树中找两个结点,求最长的异或路径。异或路径指的是指两个结点之间唯一路径上的所有边权的异或。01trie板子任意指定一个点为根。建一棵01trie,这棵trie存所有点到根的路径的异或值。考虑到路径(u,v)的异或=路径(root,u)^(root,v),因此对于每一个点到根的异或值,我们都在01trie上找到另一个点到根的异或值,满足两者异或最大。维护这个最大值。如何找?高位往下找,能不同就贪心的取不同。因为这样原创 2021-08-17 13:31:59 · 220 阅读 · 0 评论 -
八月刷题记录
BZOJ3522. [Poi2014]Hotel给一棵树,问两两之间距离相等的点对有多少对。点数为5000。树形dp+统计满足条件的三元组(用差分来统计,即建立两个数组,表示一元组数目、二元组数目)枚举根节点,对每个子树跑一边dfs统计距离为x的点数。时间复杂度O(n2)O(n^2)O(n2)//// Created by artist on 2021/8/5.//#include<bits/stdc++.h>using namespace std;typedef l原创 2021-08-05 15:49:44 · 214 阅读 · 0 评论 -
莫比乌斯反演合集
P1829 [国家集训队]Crash的数字表格 / JZPTAB题意求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)∑i=1n∑j=1mlcm(i,j)。答案模20211009,n,m<=1e7。推导其实就是有两次d的枚举。单开一个函数提出来(简化问题)考虑最后再合并进去就好。∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)∑i=1n∑j=1mlcm(i,j)=∑i=1n∑j=原创 2021-05-27 19:25:34 · 129 阅读 · 0 评论 -
【多项式】advanced+生成函数
前言没想到这个坑这么深,还有exp,ln,多点求值、FWT、分治fft。填完板子就堆题。整得差不多就能去肝mobius了,咕了巨久。原创 2021-05-20 14:44:48 · 271 阅读 · 2 评论 -
一文看懂博弈【全网最详细,包含所有证明】
摸鱼摸太久了没有那种什么都不想的肝劲了,导致变得很垃圾被人瞧不起了巴什博弈 bash game规则:有一堆n个石子。每次a和b可以取1~m个石子。不能取的输。结论:nmod (m+1)=0n\mod (m+1) =0nmod(m+1)=0则先手必败。否则,先手必胜。证明:先手拿了x个(x∈[1,m]x\in [1,m]x∈[1,m]),那么后手必然可以使得该轮两者共拿了(m+1)(m+1)(m+1)个。最后必然是后手拿走最后一个石子。否则,先手可以拿nmod (m+1)n \mod (m+1原创 2021-05-11 11:31:06 · 420 阅读 · 0 评论 -
【数学:进阶】原根&二次剩余&BSGS&卢卡斯定理
阶定义性质原根定义设m∈N∗m\in \mathbb{N}^{*}m∈N∗,a∈Za\in \mathbb{Z}a∈Z。若gcd(a,m)=1gcd(a,m)=1gcd(a,m)=1,且δm(a)=φ(m)\delta_m(a) = \varphi(m)δm(a)=φ(m),则称aaa为模mmm的原根。性质原创 2021-04-24 16:19:09 · 206 阅读 · 0 评论 -
【数值方法&多项式】
二分和三分二分单调性(1) 单调性:左边成立,右边不成立。在成立者之中,找到最靠右的位置。其实就是找到分界点。int l=1,r=n,res=-1;while(l<=r){ int m=(l+r)>>1; if(check(m)) res=m,l=m+1; else r=m-1;}(2) 单调性:左边不成立,右边成立。在成立者之中,找到最靠左的位置。往外一格就是upper_bound,但这个不是内置lower_bound的位置(内置原创 2021-02-01 22:57:10 · 224 阅读 · 0 评论 -
【线性代数】
线性基一篇讲得很好的博文原创 2021-01-28 17:28:09 · 148 阅读 · 0 评论 -
【codeforces上紫】数学
cf691div2 E. Latin Square题意给一个方矩阵,每一行每一列都是一个1~n的permutation,有m次操作,输出操作后的矩阵。(模n下)R: 每个数右移一位L: 每个数左移一位D: 每个数下移一位U: 每个数上移一位I: replace the permutation read left to right in each row with its inverse.C: replace the permutation read top to bottom in ea原创 2020-12-23 13:50:50 · 151 阅读 · 0 评论 -
我要成为数论king!!!
唯一分解定理牛牛的幂运算/*设a = p^k1 c = p^k2(0)因为1的幂次永远是1,会使得代码错误,要特判 (1)k1==k2,此时a == c,那么必然有b == d。答案等于n*n (2)k1<k2, (2.1)p<=根号n 爆搜1~根号n 爆搜k1与k2 (2.1.1)k1与k2不互素,即gcd(k1,k2)!=1,那么在他们等于gcd(k1,k2)的时候 答案已经被贡献。 (2.1.1.1)答案怎么贡献?此时我们已经得到k1和k2了,就原创 2020-12-07 20:58:48 · 352 阅读 · 2 评论 -
【组合数学】D. Rescue Nibel! -- codeforces round #672 (Div. 2)
传送门题意有n条线段,给出起点和终点。我们需要找the number of sets of k segments such that these k segments intersect at least in one point.思路从左往右遍历,当遇到一个新的线段的起点,且当前位置的线段数目大于等于k,则在剩下cnt-1条中选出k-1条,与当前线段贡献一个set。代码#include<bits/stdc++.h>using namespace std;#define fi原创 2020-09-27 19:38:48 · 119 阅读 · 0 评论 -
【置换群】
基础POJ 2369 求置换的秩k(P^k=1)#include<iostream>#include<stdio.h>#include<set>#include<cstdio>#include<string.h>#include<cstdlib> #include<stack> #include<queue> #include<algorithm> #include<原创 2020-07-31 15:43:19 · 138 阅读 · 0 评论 -
[ACM]【容斥原理/背包DP】牛客练习赛64 宝石装箱
宝石装箱传送门题意:n个物品装入n个盒子,每个盒子都要装一个物品。第i个物品不能装进第aia_iai个盒子。求合法的装法数。思路:第一眼看到这题,心想这不就是传说中的错排题目吗?回忆一下错排题目的解法:设DnD_nDn为nnn个物品错排的方案数目。有D1=0D_1=0D1=0,D2=1D_2=1D2=1。当n≥3n\geq 3n≥3时,设nnn排在第kkk位,其中k≠nk\not =nk=n,也就是1≤k≤n−11\leq k\leq n-11≤k≤n−1。那现在考虑kkk的原创 2020-06-06 19:37:55 · 342 阅读 · 0 评论 -
[ACM]【prefix/求和/取余】牛客练习赛64 序列卷积之和
序列卷积之和传送门题意:求∑l=1n∑r=ln∑i=lr∑j=irai×ajmod 1e9+7\sum_{l=1}^n\sum_{r=l}^n\sum_{i=l}^r\sum_{j=i}^ra_i\times a_j\mod 1e9+7∑l=1n∑r=ln∑i=lr∑j=irai×ajmod1e9+7思路:本弱鸡只会找规律(。看到题解恍然大悟。就是强行用前缀和把循环一层一层剥掉。一开始是for(int l=1;l<=n;l++) for(int r=l;r<=n;原创 2020-06-06 10:58:13 · 312 阅读 · 0 评论 -
[ACM]【欧拉函数】POJ 2478 Farey Sequence
Farey Sequence传送门题意:写在前面继续补1月份的题,才发现这道题这么简单,果然当时的我太菜了。(当然现在的我也很菜…。)思路看到0<a<b<=n(gcd(a,b)==1)0<a<b<=n(gcd(a,b)==1)0<a<b<=n(gcd(a,b)==1),我们仔细观察,会发现,答案就是欧拉函数的前缀和。为什么呢?发现F4比起F3,不就是多出来了,有关于4的,从1到4数的,gcd=1的个数吗?再看看欧拉函数的定义,小于等于n与原创 2020-05-31 23:23:16 · 184 阅读 · 0 评论 -
[ACM]【组合数计数/pair/map】Atcoder 168 `(Bullet)
`(Bullet)传送门题意:n个沙丁鱼,每个有两个值AiA_iAi和BiB_iBi,满足Ai×Aj+Bi×Bj=0A_i\times A_j+B_i\times B_j=0Ai×Aj+Bi×Bj=0的两对沙丁鱼不能同时放在冰箱,要求不同放法数目。(不能一条也不放)思路:因为做过一道Ai+Aj=i−jA_i+A_j=i-jAi+Aj=i−j的题目,所以看到这道题马上能够想到,转化为AiBi=−BiAi\frac{A_i}{B_i}=-\frac{B_i}{A_i}BiAi=−原创 2020-05-23 21:23:37 · 252 阅读 · 0 评论 -
[ACM]【组合数计数/逆元】Atcoder 167 Colorful Blocks
Colorful Blocks传送门题意:N个block来上色,M种颜色,要求上色方法数,满足至多有K个相邻pair同色。思路:我在求助题解之后才发现自己读错题了题目的意思是pair,也就是说相邻两个同色。我一开始以为是相邻一串同色,最多不超过K个连续颜色。然后就不会啊(。)还以为要弄图论,连通块,想来想去好像不能O(n),O(n)的数学方法又想不到。看了题解才知道,题目要求的是“至多K对相邻两个同色”。我们可以把这个条件转化为:除了最左边那个以外的右边的block中,至多K个与其左边的blo原创 2020-05-21 15:02:43 · 222 阅读 · 0 评论 -
[ACM]【二分查找】洛谷P1024 一元三次方程求解
一元三次方程求解思路:因为这道题放在二分题单里 暴力的话就用二分吧(貌似还有巨佬用公式做,待会康康)。但是想来想去不知道怎么二分233(可能这就是菜吧)。直到说看到根与根之差的绝对值>=1,噢原来是一个一个区间来搜索啊…。其实关键的地方大概就在于控制精度和区间的边界了。代码试图特判左边界,直接continue,二分区间内部,当然这样的话你会发现100被漏掉了,那就特判个100。精...原创 2020-04-07 15:15:50 · 409 阅读 · 0 评论 -
[ACM]【think in reverse】AtCoder162 Sum of gcd of Tuples (Hard)
Sum of gcd of Tuples (Hard)题意:N个元素的元组,元素大小范围为1~K,求所有不同元组的最大公因数之和。思路:GCD学得跟翔一样的我吓哭了 反正就是不会,数也大,显然不能暴力做啊,没经验的本菜鸡就等着比完赛看题解了。然后看到讨论区的一位大佬,名叫ritik_patel05,给出了吓死我的超神思路。那我这里就直接开始翻译 就是逆向思维。题目的要求的是总和,那么只...原创 2020-04-15 23:55:17 · 248 阅读 · 0 评论 -
[ACM]【扩欧】牛客练习赛60 斩杀线计算大师
斩杀线计算大师题意:求三元一次方程组的正整数解。思路:扩展欧几里得的裸题。枚举一个解,另外两个用扩欧。要注意是正整数解。在这里插入代码片...原创 2020-04-17 21:38:10 · 208 阅读 · 0 评论 -
[ACM]【容斥原理/树形DFS】Atcoder163 path pass i
path pass i题意:有一棵树,每个点有不同颜色(也有相同)。计算包括每种颜色的点的路径数目。注意颜色的序号范围是1至N,与点的数目是一样的,所以输出(除非颜色数目与点数目相等)肯定有一些答案为0。思路:因为本人太菜,补这道题补到现在才会才A。首先,最重要的思路是容斥原理。经过思考后会发现,如果算包含一种颜色的点的路径,是很困难的。(1-2-3包含2,2-3也包含2,2也包含2...原创 2020-04-23 15:57:51 · 382 阅读 · 0 评论 -
[ACM]【分治/三元环/暴力】牛客练习赛62 牛妹的游戏
牛妹的游戏传送门题意:给n个点m条边的图,求有无三元环,若无,求补图有无三元环。思路暴力枚举+善用STL+随机。虽是暴力,但运用了分治来做,度数大于根号m的枚举点,小于根号m的枚举相邻边。之所以为什么用根号m来分,我也不造啊( ╯□╰ ),明白了再来补。三元环的分治操作判断有无连接使用了二维的map的count函数。补图有无三元环,这个就是昨晚疯狂困扰我的问题(lll¬ω¬)。今早...原创 2020-04-25 10:59:26 · 233 阅读 · 0 评论 -
[ACM]【prefix/组合数计数/同余】Atcoder164 Multiple of 2019
Multiple of 2019传送门思路:我就知道是前缀和和同余.…但是菜鸡如我只想出了O(n^2)的方法。一直纠结在这个10怎么办,TLE还觉得是输入有问题正解的思路:开一个数组pref[i]pref[i]pref[i],记录:an+101×an−1+102×an−2+...+10n−i×aia_n+10^1\times a_{n-1}+10^2\times a_{n-2}+......原创 2020-04-28 20:37:04 · 347 阅读 · 0 评论 -
[ACM]【LCM/唯一分解定理】牛客算法周周练5 求幂
求幂传送门题意:寻找有多少对aaa、bbb、ccc、d∈[1,n]d\in[1,n]d∈[1,n],满足ab=cda^b=c^dab=cd。思路:看似简单的题目往往都暗藏玄机。本思路参考题解。主要操作:第一步,用唯一分解定理将原式简化为(ij)x=(ik)y(i^j)^x=(i^k)^y(ij)x=(ik)y。第二步,按照范围枚举iii、jjj、kkk。第三步,找到iji^jij和iki^kik的最小公倍数,求得满足(ij)x=(ik)y(i^j)^x=(i^k)^y(ij)x=(ik)原创 2020-05-09 14:58:25 · 137 阅读 · 0 评论 -
[ACM]【莫比乌斯反演/杜教筛/数论分块】牛牛的最大公约数
牛牛的最大公约数传送门题意:一个区间内选N个数(可以重复选),求这N个数的gcd==K的选法数。先挖坑,这题涉及到的数论知识略多。这周之内应该能填上。参考:整除分块 莫比乌斯 题解...原创 2020-05-10 11:53:32 · 365 阅读 · 0 评论 -
[ACM]【模板/逆元/扩欧】HDU1576 A/B
A/B传送门思路:水题。A/B≡x(mod9973)A/B\equiv x \pmod {9973}A/B≡x(mod9973)因为(B,9973)=1(B,9973)=1(B,9973)=1所以A≡Bx(mod9973)A\equiv Bx\pmod{9973}A≡Bx(mod9973)即B−1A≡x(mod9973)B^{-1}A\equiv x\pmod{9973}B−1A≡x(mod9973)而我们已知BBB,就可以求B−1B^{-1}B−1又有A≡n(mod9973)A\equ原创 2020-05-17 12:49:16 · 158 阅读 · 0 评论 -
[ACM]【找规律/排列组合】牛客练习赛62 病毒扩散
病毒扩散传送门题意:每个点在t时刻的值f[t][x][y]=f[t-1][x][y]+f[t-1][x-1][y]+f[t-1][x][y-1],n次查找,输出。思路:这个真的推不出来啊…这里有大佬的感性认识但我还是选择硬核找规律先暴力打出结果,来找规律。可以发现,(x,y)点在t时刻的值为(t x)(t-x y)。于是打表求排列。求排列有几种方法:这位大佬总结得很好(1)杨辉...原创 2020-04-25 15:06:42 · 404 阅读 · 0 评论