提高数论
文章平均质量分 57
这里是较难一点的数论
*DDL_GzmBlog
再见锋芒,准备启程
展开
-
[Acwing] 第 67 场周赛
tag:tag:数学寻找满足aiaja_ia_jaiaj能被kkk整除的数对数量(ai∗T+aj)%k=0(ai∗T+aj)%k=0a[i]∗T%k=x1a[i]∗T%k=x1a[j]%k=x2a[j]%k=x2x1+x2=kx_1+x_2=kx1+x2=k形如x1+x2=原创 2022-09-03 21:13:39 · 323 阅读 · 0 评论 -
[Acwing] 第 60 场周赛 C-AcWing 4496. 吃水果
tagtag组合数学dp给定nnn个人,mmm个水果,询问恰好有kkk个人拿到的水果和左边的人不一样的方案数我们在n−1n-1n−1个人中挑选出kkk个人显然第一个人有mmm种选法,那么剩下的要么是和第一个人相同要么就是不同因此总共有(m−1)k(m-1)^k(m−1)k种选法,而对应这kkk个人又有Cn−1kC_{n-1}^kCn−1k种所以总方案数Cn−1k∗m∗(m−1。...原创 2022-07-16 20:37:37 · 379 阅读 · 0 评论 -
[nk] 牛客月赛51 F-平均题
Tag:Tag :Tag: 传送门 :题意 :给你一个数组,你需要求出 所有子段平均数之和答案对109+710^9+7109+7取模,如果答案最简是ab\frac{a}{b}ba,那么需要找到最小的非负整数xxx使得x×b≡a(109+7)x×b\equiv a(10^9+7)x×b≡a(109+7)思路 :我们考虑对操作的区间进行 长度分类,即t=1,2....nt=1,2....nt=1,2....nt=1t=1t=1显然答案就是SnS_nSn(表示前缀和)t=2t=2t=2答案是Sn原创 2022-06-10 16:30:36 · 100 阅读 · 0 评论 -
[cf] 797 div3 E. Price Maximization
传送门 :题意 :给定nnn个包裹,两两包裹合并,其价值为两数之和除k,求合并所有包裹后得到的最大价值思路 :先考虑不合并,那么每个包裹提供的价值就是a[i]/ka[i]/ka[i]/k然后我们贪心的考虑合并,对这些包裹取余将其装到桶的,双指针的找到 能匹配的 和 自己和自己的code :...原创 2022-06-09 18:33:06 · 186 阅读 · 0 评论 -
[cf] 680 div1 A. Division
tag:tag :tag: 传送门 :题意 :给定p,qp,qp,q,寻找一个最大的xxx使得p%x==0,x%q!=0p\%x ==0 ,x\%q!=0p%x==0,x%q!=0范围 :p≤1018,q≤109p\le10^{18},q\le10^9p≤1018,q≤109思路 :首先 显然的p%q≠0p\%q\neq0p%q=0的话,那么答案就是ppp其次对于这种题一开始就想到的是质因数分解但是对ppp进行质因数分解显然失智因此我们考虑对qqq进行质因数分解我们发现如果p%x==0p\原创 2022-06-06 12:59:01 · 77 阅读 · 0 评论 -
[cf] 594 div2/div1 C/A Ivan the Fool and the Probability Theory
tag:tag :tag: 传送门 :题意 :给定一个n∗mn*mn∗m的网格,询问有多少种黑白染色方案,使得每个格子最多有一个相同颜色相邻数据范围 N,M∈105N,M \in 10^5N,M∈105思路 :因为数据范围很大,不是状压方案数问题因为我们回归到正常的状态分析状态表示 :f[i][0/1]f[i][0/1]f[i][0/1]表示第iii个格子为黑色或者白色的方案数显然一行上面,i−1i-1i−1的格子 和 i−2i-2i−2的格子 不同为iii的颜色状态计算 :f[i][0]=f原创 2022-06-03 12:40:08 · 84 阅读 · 0 评论 -
[cf] 767 div2 B. GCD Arrays
前言tag:tag :tag:gcd 数论 *800(看着不想800的啊 QAQ)传送门 :题意 :给定l,r,kl,r,kl,r,k询问是否可以操作最多kkk使其满足条件条件 :对于l,rl,rl,r确定的数组a[1...(r−l+1)]={l,l+1....r}a[1...(r-l+1)] =\{l,l+1....r\}a[1...(r−l+1)]={l,l+1....r}每次操作可以从中选取两个数a[i],a[j]a[i],a[j]a[i],a[j],删除这两个数,将这两个数的乘积加原创 2022-05-31 18:09:09 · 76 阅读 · 0 评论 -
[cf] 766 div2 D. Not Adding
前言tag:tag :tag: gcd 数学 值域 *1900传送门 :题意 :给定一个数组a[]a[]a[],询问可以执行多少次操作操作定义如下 :选择i,ji,ji,j,如果gcd(i,j)gcd(i,j)gcd(i,j)不在数组a[]a[]a[]将其加入数组末尾思路 :因为gcdgcdgcd只会使得值越来越小所以我们可以得知答案的区间在[1,max(a[1...n])][1,max(a[1...n])][1,max(a[1...n])]因为范围1e61e61e6,因此我们可以暴力的原创 2022-05-29 12:44:25 · 81 阅读 · 0 评论 -
[cf] Codeforces Round #595 (Div. 3) B12 Books Exchange
前言tag:tag :tag:*1300 交换 思维 环 经典好题传送门 :题意 :多组数据,每个人手上都有一本书,对于每个a[i]a[i]a[i]表示将该书传给a[i]a[i]a[i]个人。输出每个人需要多少次才可以拿到自己的书思路 :首先这种交换问题有很多变式,同时也非常经典,因为最终都是回到本身因此不难发现 , 如果把交换过程进行连线, 那么能交换的 必然成一个环然而环中每个数再次轮到本身就是环的大小因为每个环都只是遍历一次,环中的节点也只遍历一次,所以时间复杂度O(T∗n)O(T*原创 2022-05-25 14:19:23 · 71 阅读 · 0 评论 -
[cf] Educational Codeforces Round 57 (Rated for Div. 2) B 组合数学,字符串删除问题
前言tag:tag :tag:字符串 组合数 *1300传送门 :题意给定一个 字符串, 仅删除一次子串(连续),询问有多少种方法使得最后剩余的串只出现相同的字符思路组合数问题,首先我们考虑分类讨论如果本来的串就是相同的 , 那么我们考虑使用隔板法,对于n+1n+1n+1个空隙,我们选222个空隙删除,即Cn+12=n∗(n+1)2C_{n+1}^2=\frac{n*(n+1)}{2}Cn+12=2n∗(n+1)如果头尾一样,则(pre+1)∗(sul∗1)(pre+1)*(sul*原创 2022-05-05 15:05:59 · 142 阅读 · 0 评论