数论
文章平均质量分 94
Coco_T_
东南大学本科毕业生,浙江大学在读研究生
展开
-
反演&&杜教筛
大力鸣谢曲神的blog反演曾经naive的博主写的反演讲解 反演中常见公式杜教筛从未见过如此厚颜无耻之博主,说好了要讲反演nei,为什么只给两个链接??? 好吧,我承认这篇文主要是想说说自己对杜教筛的崭新认识,所以下面才是正文。。。学杜教筛之前,一定要做一件事:%糖教简介杜教筛是干什么的内?求解积性函数前缀和的有力工具 划重点:积性函数,前缀和...原创 2018-03-31 15:23:57 · 340 阅读 · 0 评论 -
UVa11300 - Spreading the Wealth(方程求解+中位数)
题目链接简介: 坐在圆桌边的n个人,没人有一定的金币,通过和身边人的交换,使得每个人手中的金币一样,求最少转移金币数目分析: 这道题还是挺难的我们需要慢慢分析 首先,我们可以算出来每个人最后手里的金币M(平均数)假设有4个人,按顺序编号1,2,3,4 假设1号给2号3枚金币,2号给1号4枚金币,相当于2号给1号1枚金币,而1号没有给2号任何东西 那我们可以设x2表示2号给了1号多少枚金币原创 2017-10-13 20:23:56 · 427 阅读 · 0 评论 -
UVa11609 - Teams(组合数学)
简介:有n个人,选一个或多个人参加比赛,从中选1个人当队长,有多少种方案分析: 可以理解为,从n个人中选i个,再从这i个中选一个当队长直接计算上式,时间不优秀, 所以我们考虑画柿子 上式实际上就是杨辉三角的第n行,每一个数乘以一个系数相加的结果当n=5时 ans =1*C(5,1)+2*C(5,2)+3*C(5,3)+4*C(5,4)+5*C(5,5) =5+20+30+20+5原创 2017-10-25 10:15:04 · 382 阅读 · 0 评论 -
UVa11076 - Add Again(平均数+组合数学)
简介: 给出n个数字,求ta们排列出来的所有数字的和分析: 每个数字出现在某一位上的概率是相同的 因此我们先计算出每一位上的数学期望(实际上就是n个数的平均值)X之后我们计算会产生多少互异的排序 记ni表示数字i出现的次数 则有效排序的数量P=n!/(n1! * n2! * n3! * … * nk!)ans=X*P*(n个1组成的数字)//这里写代码片#include<cstdio>原创 2017-10-25 09:57:48 · 254 阅读 · 0 评论 -
UVa10892 - LCM Cardinality(质因数分解)
简介:给出n,求lcm(a,b)=n的(a,b)对数分析: 首先把n质因子分解: 对于任何一个p,都有max(ka,kb)=k当ka=k时,kb的取值范围是0~k(共k+1种选择)当kb=k时,ka的取值范围是0~k(共k+1种选择) 综上所述,针对每一个lcm的质因子,都有2*k+1种方案(ka=kb的情况算一种)所以 其中1/2是因为只计算a < b的情况,+1是因为要加上a=原创 2017-10-25 09:43:54 · 541 阅读 · 0 评论 -
UVa10943 - How do you add?(组合数学)
简介:把K个不超过N的非负整数加起来,使ta们的和为N分析:相当于有N个小球,要放到K个盒子里,允许有空盒子,问方案数 ans=C(N+K-1,K-1)tip读入的时候如果不写!=EOF,读入就不会正常结束,对拍的时候就拍不起来//这里写代码片#include<cstdio>#include<cstring>#include<iostream>using namespace std;cons原创 2017-10-25 09:14:05 · 378 阅读 · 0 评论 -
UVa11889 - Benefit
题目链接简介: 给出A,C,找出最小的C使得lcm(A,B)=C分析: 这道题看上去很简单,稍微搞一搞就好了 但是我们要找到一个优美至极的方法这次我们要从我们最常用的求lcm的柿子开始 lcm(a,b)=a*b/gcd(a,b) b=lcm(a,b)*gcd(a,b)/a原创 2017-10-24 21:47:12 · 252 阅读 · 0 评论 -
UVa11388 - GCD LCM
题目链接简介: 给出两个正整数G,L,找出两个数a,b,使得gcd(a,b)=G,lcm(a,b)=L 要求a尽量小分析: 假设我们已经知道了a和b的值 怎么求gcd,lcm呢(别告诉我是欧几里得算法)也就是说如果我们把G和L质因数分解了之后 每个质数对应的指数,一定一个出现在a中,一个出现在b中我们要使a最小,那么所有质因子的指数都最小 仔细一想:a=gcd(a,b)=G 为了符合题原创 2017-10-24 21:25:45 · 279 阅读 · 0 评论 -
UVa11916 - Emoogle Grid(bsgs)
题目链接简介: 有这样一个题目:给定一个M*N的网格涂上K种颜色,其中B个格子不能涂色,其他每个格子涂一种颜色,同一列中的上下两个相邻格子不能涂相同颜色 给出M,N,B个格子的位置,求出涂色方案R%100000007这道题是上述问题的逆问题:给出N,K,R,B个格子的位置, 求出最小的M分析: 虽然M(行数)是未知的,但是我们可以知道ta的最小值: M=max{不能涂色的格子的行编号}原创 2017-10-24 18:55:31 · 352 阅读 · 0 评论 -
UVa11754 - Code Feat(CRT+stl)
题目链接简介: 有一个正整数N,满足“ta除以X的余数在集合{Y1,Y2,… , Yk}” 求符合要求的最小S个解分析: 显然我们需要中国剩余定理来求解 但是直接枚举每个集合中Y值选哪个会很慢 因此我们有一个更耿直的方法,直接枚举N找一个k/X最小的条件(k是集合大小,X是除数) 按照t=0 , 1 , 2 , 3 ,…的顺序枚举X*t+Y (同样的按照从小到大的顺序枚举Y) 看看是原创 2017-10-24 17:13:04 · 416 阅读 · 0 评论 -
UVa11426 - GCD - Extreme (II) (phi)
题目链接简介: 分析: 一开始以为是一个莫比乌斯反演设f(n)=gcd(1,n)+gcd(2,n)+…+gcd(n-1,n) 则所求答案S(n)=f(1)+f(2)+f(3)+…+f(n) S(n)=S(n-1)+f(n)这道题的难点就在于f(n)的求解设g(x,n)表示gcd(i , n)==x的i的个数 则gcd(i/x , n/x)=1 实际上这就等于phi(n/x)因此 g(x,原创 2017-10-24 14:46:34 · 305 阅读 · 0 评论 -
UVa11542 - Square(gauss)
题目链接分析: 题目特意说到,不含有超过500的素因子 这就是在提示我们可以质因数分解 我们把这n个数分解成若干素数乘积的形式,并用一个向量表示如:4 6 10 15 这n=4个数中,涉及到的素数只有2,3,5这三个 分解后: 4=2^2*3^0*5^0 ——>{2,0,0} 6=2^1*3^1*5^0 ——>{1,1,0} 10=2^1*3^0*5^1 ——>{1,0,1}原创 2017-10-12 20:45:50 · 300 阅读 · 0 评论 -
noip胡测之8.15(没有正解)
T1 约瑟夫游戏 (joseph.cpp/c/pas) 【问题描述】 YJC 很喜欢玩游戏,今天他决定和朋友们玩约瑟夫游戏。 约瑟夫游戏的规则是这样的:n 个人围成一圈,从 1 号开始依次报数,当报到 m 时,报 1、2、…、m-1 的人出局,下一个人接着从 1开始报,保证(n-1)是(m-1)的倍数。最后剩的一个人获胜。 YJC 很想赢得游戏,但他太笨了,他想让你帮他算出自己应该站在哪个原创 2017-08-15 14:11:21 · 435 阅读 · 0 评论 -
UVa11806 - Cheerleaders(容斥原理+状态压缩)
题目链接简介: n*m的矩阵中放置k个石子,要求第一行,最后一行,第一列,最后一列必须有石子分析: 要是没有特殊的限制,在n*m的矩阵中放置k个石子,会求吧: C(n*m,k)实际上我们确实可以把这个问题转化一下: 设A为第一行没有石子的方案 B为第一列没有石子的方案 C为最后一行没有石子的方案 D为最后一列没有石子的方案 S为全集 最后答案就是在”S中但是不在ABCD任何一个集合原创 2017-10-23 15:45:46 · 298 阅读 · 0 评论 -
UVa11538 - Chess Queen(计数问题)
题目链接简介: 在一个n*m的方格中放置两个不同的皇后,使得两者可以互相攻击分析: 因为只有两个皇后,因此互相攻击分方法只有在同一行,在同一列,在同一对角线上 这三种情况没有交集,所以可以分别求出后,运用加法原理统计方案设A(n,m)为同一行放置两个皇后的方案数, B(n,m)为同一列放置两个皇后的方案数, C(n,m)为同一对角线放置两个皇后的方案数A(n,m) 我们先选一行(n种选原创 2017-10-23 14:23:40 · 278 阅读 · 0 评论 -
UVa1635 - Irrelevant Elements(二项式定理)
题目链接简介: 对于给定的n个数a1,a2,a3,… ,an,依次求出相邻两个数的和,得到一个新数列 重复上述操作,直到最后变成一个数 问这个数除以m的余数与那些数无关分析: 我们不妨先来看一个简单的例子: 当n=5的时候,“1 4 6 4 1”正好是杨辉三角的第4行ai的系数就是C(n-1,i-1)这样,问题就变成了C(n-1,i)中那些是m的倍数我们可以通过式子: C(n,k)=原创 2017-10-29 07:43:27 · 266 阅读 · 0 评论 -
UVa10820 - Send a Table(phi)
题目链接简介: 有某个函数f(x,y),根据f(x,y)可以很简单的算出f(x*k,y*k) 现在的问题是,要想算出0 < x,y <=n范围内的所有f,要记录多少原始值呢分析: 一旦知道了这道题的本质,就一点都不难了,所以这道题的重点在于转化: 不难发现,一旦x和y的gcd的不是1的话,我们都可同时约掉gcd(x,y),因此这样的x和y是不需要记录的 换句话说:x,y必须互质问题就转化成原创 2017-10-28 19:47:40 · 198 阅读 · 0 评论 -
UVa10780 - Again Prime?No time.(质因数分解)
简介: 给出m,n,求最大正整数使得m^k是n!的约数分析: 一开始看题有点懵 n的范围蛮大的,所以就没有忘质因数分解上想 后来发现n!的质因数分解复杂度只有O(nsqrt(n)),可以承受 这样问题就可以解决了我们把n!和m分别质因数分解,记录每一个质因子的次数 之后循环所有质因子,维护Kn/Km的最小值即可无解的情况:n=0&&m!=0最小值是0或infm质因子p,而n没有t原创 2017-10-25 10:57:33 · 235 阅读 · 0 评论 -
UVa10288 - Coupons(避免高精度的优美姿势)
题目链接简介: 买彩票分析: 假设我们现在手里已经有了k图案,令s=k/n,拿一个新的图案需要t次的概率:s^(t-1)*(1-s)也就是说,平均拿n/(n-k)次就可以多收集一个图案 所以答案就是:问题就解决了。。。吗 题目要求输出分数,所以我们需要通分一下: 我们只要分别计算出分子和分母就可以了(不要忘了约分)问题就再次解决了。。。吗 33!>2*10^32 这是ull都无法承原创 2017-11-06 17:42:41 · 509 阅读 · 1 评论 -
noip2017D1T1 math
题目链接分析: 考场上想出来的是exgcd解法 实在是不想承认这道题是小学奥数 所以一直认为,exgcd 是这道题的标算我们需要连续的拼凑整数 假设我们已经能够拼出S 那么我们就需要x个a硬币,和y个b硬币拼出1(这样S+1就合法了) 于是就有方程:ax+by=1 因为a,b互质,因此上述方程一定有解得到二元组(x,y),我们会发现x和y一定不同号 所以每次我们都需要减少一种硬币,增原创 2017-11-22 10:36:26 · 1037 阅读 · 0 评论 -
bzoj3884 上帝与集合的正确用法(扩展欧拉定理)
题目链接分析: 谁是欧拉?什么是扩展欧拉定理?简单说一下: ab≡ab mod ϕ(p) &nbs原创 2018-03-21 07:17:00 · 465 阅读 · 1 评论 -
线性筛d&&sd(约数个数&&约数和)
ddd函数d(n)d(n)d(n)表示n的约数个数和百度一下,我们就可以得到一个计算d函数的暴力做法设n=pa11pa22...pakkn=p1a1p2a2...pkakn=p_1^{a_1}p_2^{a_2}...p_k^{a_k} d(n)=(a1+1)(a2+1)...(ak+1)d(n)=(a1+1)(a2+1)...(ak+1)d(n)=(a_1+1)(a_2+1)...(...原创 2018-03-25 11:14:13 · 1514 阅读 · 1 评论 -
三个重要的同余式——威尔逊定理,费马小定理,欧拉定理(扩展)
鸣谢synapse7大大威尔逊定理 (p−1)!≡p−1≡−1 (mod p) (p is a prime)(p−1)!≡p−1≡−1 (mod p) (p is a prime)(p-1)!≡p-1原创 2018-03-20 21:29:24 · 5219 阅读 · 0 评论 -
胖爷XP的hu测 T2.电池(数论+扩展欧拉定理)
版权属于XP,想要引用此题(包括题面)的朋友请联系博主 分析:首先看30% 我们知道根据欧拉定理:aϕ(p)≡1aϕ(p)≡1a^{\phi(p)}≡1 (mod p) (a,pa,pa,p互质) 当p是奇数的时候(一定互质),我们就可以将2的指数部分直接mod ϕ(p)ϕ(p)\phi(p)222...=2(22...)modϕ(p)222...=2(22...)mod...原创 2018-03-20 19:37:14 · 194 阅读 · 1 评论 -
poj2891 Strange Way to Express Integers(不要求互质CRT)
题目链接分析: CRT简单讲解#include<cstdio>#include<cstring>#include<iostream>#define ll long longusing namespace std;ll x,y,d;void exgcd(ll a,ll b) { if (!b) { d=a;x=1;...原创 2018-03-23 18:52:40 · 131 阅读 · 0 评论 -
中国剩余定理(Chinese Remainder Theorem)
(很久)之前就已经接触过CRT我们先看简单的CRTx≡a1 (mod m1)x≡a1 (mod m1)x≡a_1~~(mod~m_1) x≡a2 (mod m2)x≡a2 (mod m2)x≡a_2~~(mod~m_2) x≡a3 (原创 2018-03-23 17:50:52 · 8638 阅读 · 1 评论 -
cogs 2287 [HZOI 2015]疯狂的机器人(dp+Catalan+NTT)
【题目描述】现在在二维平面内原点上有一只机器人 他每次操作可以选择向右走,向左走,向下走,向上走和不走(每次如果走只能走一格) 但是由于本蒟蒻施展的大魔法,机器人不能走到横坐标是负数或者纵坐标是负数的点上 否则他就会big bang 给定操作次数n,求有多少种不同的操作序列使得机器人在操作后会回到原点 输出答案模998244353后的结果 注意如果两个操作序列存在某一时刻操作不同,...原创 2018-03-15 07:48:17 · 267 阅读 · 0 评论 -
bzoj3771 Triple(生成函数+容斥+FFT)
Description我们讲一个悲伤的故事。从前有一个贫穷的樵夫在河边砍柴。这时候河里出现了一个水神,夺过了他的斧头,说:“这把斧头,是不是你的?”樵夫一看:“是啊是啊!”水神把斧头扔在一边,又拿起一个东西问:“这把斧头,是不是你的?”樵夫看不清楚,但又怕真的是自己的斧头,只好又答:“是啊是啊!”水神又把手上的东西扔在一边,拿起第三个东西问:“这把斧头,是不是你的?”樵夫还是看...原创 2018-02-28 21:29:54 · 620 阅读 · 0 评论 -
bsgs(崭新的姿势)
前言: 今天高一hu测,出了一道exbsgs (还让我帮忙造数据,然而我造的数据特别水,暴力都可以跑过,最后还是澍神帮了忙。。。) 然而并不会,以为又要花时间学习新知识了, DP却和我说有一种奇技淫巧,因此就来填坑了。。。以前学过bsgs 当时我们是这么化的式子: x^y(mod p)=z y=km+i(m=sqrt(p)) 处理出: x^i,扔进一个map中 x^i=z*x...原创 2018-01-10 21:50:41 · 839 阅读 · 1 评论 -
数论基础(浅谈数论的部分实现)
最近写到一些基础数论题, 发现一个可怕的事实 基础数论的理论我都懂,但是连最基础的板子都有可能敲错 所以特意停下手中的题,进行基础数论的实现First.欧几里得(辗转相除)int gcd(int a,int b){ int r=a%b; while (r) { a=b;b=r;r=a%b; } return b;}...原创 2017-09-12 21:20:09 · 1701 阅读 · 0 评论 -
可做题2(Code+12月网络赛)(扩欧+矩阵快速幂)
题目背景“codeplus比赛的时候在做什么?有没有空?能来解决丢番图方程问题吗?”sublinekelzrip这样问qmqmqm。当然,qmqmqm并不会丢番图方程问题,所以sublinekelzrip改为提出了另一个题目,现在请你帮助qmqmqm解决这个题目。题目描述这个问题是这样的:若一个数列aa满足条件an=an−1+an−2,n>3,而a1,a2a_n=a_{n-1}+a_{n-2},n>原创 2017-12-25 19:14:57 · 790 阅读 · 0 评论 -
爆零赛(12.24)
平安夜的hu测 mdzz最近就是有点颓,明知道这次成绩要上报,还是妥妥的爆了零。。。T1 分析:%60:做这道题之前,要了解一些复数运算 手玩了r的1~8次方之后,发现i前面一定会有一个sqrt(7),而常数项中一定没有sqrt(7) 实际上这就是复数的计算法则: 而我们需要求的答案也是符合这个形式的(只有i前面有sqrt(7)) 那我们就可以把i前面的sqrt(7)抹掉 (但是如果原创 2017-12-24 18:25:09 · 329 阅读 · 0 评论 -
复数(i?)
前言: 之所以写这篇blog,是因为今天发生了一件足以使我骂街的事情平安夜,虽然离天黑还有5个小时,但是空气中已经弥漫着圣诞节姜饼的味道, 人们不慌不忙的在晴好的阳光下漫步(往教室走去),每个人脸上洋溢的都是对节日的期待和对未来的幻想 金黄的阳光透过窗户,洒到机房雪白的墙上,也映到微微发亮的电脑屏幕上 原本不是很暖和的机房,本只能靠欢声笑语提升一点气氛,然而此时此刻却出奇的沉寂 loli的原创 2017-12-24 18:42:17 · 2380 阅读 · 0 评论 -
poj2084 Game of Connections(Catalan)
DescriptionThis is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, … , 2n - 1, 2n consecutively in clockwise order on the ground to form a circle, and then, to draw some s原创 2017-12-22 15:30:14 · 296 阅读 · 0 评论 -
bzoj3028 食物(生成函数+Lucas)
Description明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西。理所当然的,你当然要帮他计算携带N件物品的方案数。他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等当然,他又有一些稀奇古怪的限制:每种食物的限制如下:承德汉堡:偶数个可乐:0个或1个鸡腿:0个,1个或2个蜜桃多:奇数个鸡块:4的倍...原创 2017-12-20 20:38:56 · 1055 阅读 · 0 评论 -
题(problem)(详解10.5hu测T3:Catalan)
@liu_runda 【题目描述】 出个题就好了.这就是出题人没有写题目背景的原因. 你在平面直角坐标系上. 你一开始位于(0,0). 每次可以在上/下/左/右四个方向中选一个走一步. 即:从(x,y)走到(x,y+1),(x,y-1),(x-1,y),(x+1,y)四个位置中的其中一个. 允许你走的步数已经确定为n.现在你想走n步之后回到(0,0).但这太简单了.你希望知道有多少种...原创 2017-10-05 20:19:23 · 668 阅读 · 0 评论 -
bzoj2822 [AHOI2012]树屋阶梯(高精度+Catalan)
Description暑假期间,小龙报名了一个模拟野外生存作战训练班来锻炼体魄,训练的第一个晚上,教官就给他们出了个难题。由于地上露营湿气重,必须选择在高处的树屋露营。小龙分配的树屋建立在一颗高度为N+1尺(N为正整数)的大树上,正当他发愁怎么爬上去的时候,发现旁边堆满了一些空心四方钢材(如图1.1),经过观察和测量,这些钢材截面的宽和高大小不一,但都是1尺的整数倍,教官命令队员们每人选取N个空心钢原创 2017-10-05 17:07:46 · 503 阅读 · 0 评论 -
Tyvj1037
题目链接分析: 这道题还是挺好的 分da析biao发现 每五个一组,每组的末尾0的个数相同 分别是0,1,2,3… 后面的0都是不用进行计算的 一眼高精—->只过了3个点注意到了k<=10 看来不用高精也行,只需要在保证答案没有0的情况下每次%10^k即可 但是我们怎么去除0的存在呢显然*10就会让答案多出一个0 而10=2*5,也就是说乘的数中,如果有2*5(10),也会产生一个原创 2017-09-01 21:36:21 · 186 阅读 · 0 评论 -
bzoj5016 [Snoi2017]一个简单的询问
Description 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次。Input 第一行,一个数字N,表示序列长度。 第二行,N个数字,表示a1~aN 第三行,一个数字Q,表示询问个数。 第4~Q+3行,每行四个数字l1,r1,l2,r2,表示询问。 N,Q≤50000原创 2017-09-10 17:26:41 · 581 阅读 · 0 评论 -
Vijos1164(CRT)
题目链接分析: CRTtip开ll,随时%这里写代码片#include<cstdio>#include<cstring>#include<iostream>#define ll long longusing namespace std;int n;ll a[20],b[20],x,y;ll M=1;void exgcd(ll a,ll b){ if (b==0) {原创 2017-09-17 16:02:01 · 199 阅读 · 0 评论