随笔分类 -  数学

摘要:题意:给定n和a[],令N =∏(1≤i≤n)ia[i],求N的所有约数的积(取模1e9+7)思路:假定N因式分解后的结果是2p1*3p2*5p3*...,如何计算答案呢?单独看2p1这一项,考虑它所有的贡献,它在N的约数里面总共会出现P=(p2+1)*(p3+1)*...次,由于是求乘积,而且2的... 阅读全文
posted @ 2015-10-31 22:56 jklongint 阅读(191) 评论(0) 推荐(0)
摘要:抽象后的题意:给一个不超过30个点的图,A从中选不超过5个点涂红绿两种颜色,B用黑白两种颜色把剩下的涂完,任意一条边两端的颜色不同,求每种颜色至少用涂一次的方案数思路:枚举A涂的点的集合,将原图分成两个子图P和Q,P和Q互相不影响,因为涂的颜色不同。考虑A在P中涂颜色,由于一条边的两端的颜色不能相同... 阅读全文
posted @ 2015-08-23 04:32 jklongint 阅读(485) 评论(0) 推荐(0)
摘要:题意:编号1-n的小朋友依次围成一圈,给定目标状态每个小朋友左右两边的小朋友编号,每次可以选择编号为[b1,b2,...,bm]的小朋友,作1次轮换,bi是任意编号,代价为m。求变成目标状态所需的最小代价。思路:有置换的知识,任意一个置换可以写成若干循环的乘积,那么每次选择一个大小大于1的循环,把这... 阅读全文
posted @ 2015-08-21 11:02 jklongint 阅读(223) 评论(0) 推荐(0)
摘要:题意:求∑|i%a-i%b|,0≤i#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace... 阅读全文
posted @ 2015-08-20 01:33 jklongint 阅读(189) 评论(0) 推荐(0)
摘要:题意:求方程x2-Dy2=1的最小正整数解思路:用连分数法解佩尔方程,关键是找出√d的连分数表示的循环节。具体过程参见:http://m.blog.csdn.net/blog/wh2124335/8871535当d为完全平方数时无解将√d表示成连分数的形式,例如:当d不为完全平方数时,√d为无理数,... 阅读全文
posted @ 2015-08-19 23:07 jklongint 阅读(438) 评论(0) 推荐(0)
摘要:题意:给一个置换,求最小循环长度对p取模的结果思路:一个置换可以写成若干循环的乘积,最小循环长度为每个循环长度的最小公倍数。求最小公倍数对p取模的结果可以对每个数因式分解,将最小公倍数表示成质数幂的乘积形式,然后用快速幂取模,而不能一边求LCM一边取模。由于这题数据量太大,需要用到输入挂,原理是把文... 阅读全文
posted @ 2015-08-16 13:46 jklongint 阅读(403) 评论(0) 推荐(0)
摘要:题意:给若干个阻值为1的电阻,要得到阻值为a/b的电阻最少需要多少个。思路:令a=mb+n,则a/b=m+n/b=m+1/(b/n),令f(a,b)表示得到a/b的电阻的答案,由f(a,b)=f(b,a),有:f(a,b)=a/b + f(a%b,b)=a/b+f(b,a%b)(1)由于将所有的电阻... 阅读全文
posted @ 2015-08-12 16:59 jklongint 阅读(287) 评论(0) 推荐(0)
摘要:题意:给一个正整数n,求n的拆分方法数(不考虑顺序)思路:不妨考虑用1~n来构成n。用多项式表示单个数所有能构成的数,用多项式表示,就相当于卷积运算了。12345678910111213141516171819202122232425262728293031323334353637383940414... 阅读全文
posted @ 2015-08-04 10:58 jklongint 阅读(321) 评论(0) 推荐(0)
摘要:题意:给a个1、b个2、c个5,求不能构成最小的数思路: 先求1能构成的所有数,2能构成的所有数,5能构成的所有数,它们的方法数显然都是1,现在考虑把3者结合在一起,由于结果为和的形式,而又是循环加的,所以考虑用多项式来表示状态,然后进行两次卷积运算就行了。123456789101112131415... 阅读全文
posted @ 2015-08-04 10:42 jklongint 阅读(262) 评论(0) 推荐(0)
摘要:题目出自Codeforces Round #126 (Div. 2)的E。题意大致如下:给定a,b,c,s,求三个非负整数x,y,z,满足0=即可,另外函数值在一段范围内不发生变化可能导致结果出错):1234567intL=...,R=...;while(L//#include//#include/... 阅读全文
posted @ 2015-08-04 06:51 jklongint 阅读(371) 评论(0) 推荐(0)
摘要:题意:一堆石子,有n个,两个人轮流取,每次都只能取2的幂次方个数,不能取的人输思路:首先0是必败态,2的所有幂次都是必胜态。由于选的数模3只能是1或2,恰好又都是2的幂次,0,、3都为必败态,猜想3的所有倍数也为必败态,证明如下:设状态为x=3k,先手任选一个t,那么(x-t)%3不是1就是2,后手... 阅读全文
posted @ 2015-08-03 22:58 jklongint 阅读(299) 评论(0) 推荐(0)
摘要:题意:两个人玩游戏,给定一个日期,他们轮流选择日期,可以选择当前日期的下一天,如果下一个月也有这一天的话则也可以选择下一个月的这一天。超过某一日期的人输。思路:以天为状态,则一共有300多万个左右的状态,然后用dp预处理每个状态是必胜态还是必败态。一个状态是必胜态当且仅存在它的一个后继是必败态,一个... 阅读全文
posted @ 2015-08-03 20:31 jklongint 阅读(209) 评论(0) 推荐(0)
摘要:题意:小明有2个账号,rating都是0分,每打一场赢的概率为P,假设当前分为x,赢了分数变为min(1000,x+50),输了则分数变为max(0,x-100),小明每次都选rating小的账号打,求打到有一个账号为1000所需的场数的期望值思路:很明显需要把分数离散化,50分为1个单位。利用期望... 阅读全文
posted @ 2015-08-03 04:26 jklongint 阅读(210) 评论(0) 推荐(0)
摘要:题意:n个灯,m个开关,给定每个开关控制的灯,全部的灯初始时全部熄灭,开关按一下其所控制的灯的状态全部反转,开关最多只能按一下。问达到目标状态的方案数。思路:xor方程组的模型。1234567891011121314151617181920212223242526272829303132333435... 阅读全文
posted @ 2015-08-03 01:05 jklongint 阅读(437) 评论(0) 推荐(0)
摘要:题目:给一个数组a,从里面任选三个数,求以这三个数为三条边能构成三角形的概率。思路:由于每个数只能用一次,所以考虑枚举三边中的最大边。先将a数组排序,然后枚举它的每个数x作为最大边,那么问题就是要求在数组a剩余的数里面“找小于等于x”且“和大于x”的数对个数,答案显然不能直接得到。不妨先计算这样一个... 阅读全文
posted @ 2015-08-01 02:35 jklongint 阅读(867) 评论(0) 推荐(0)
摘要:题意:大数乘法思路:FFT模板123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172... 阅读全文
posted @ 2015-07-31 19:21 jklongint 阅读(390) 评论(0) 推荐(0)
摘要:题意:给定一个序列,a[n]=3n(n-1)+1,n>=1,求给定的m(m=3,则必有m=a[i1]+a[i2]+...+a[ik],由于a[i]=3i(i-1)+1=6[i(i-1)/2]+1,所以有:m=6[i1(i1-1)/2+i2(i2-1)/2+...+ik(ik-1)/2]+k ... 阅读全文
posted @ 2015-07-28 02:30 jklongint 阅读(511) 评论(0) 推荐(0)
摘要:题意:,求这个函数在[0,100]上的图像的长度。思路:采用离散化的思想,求出所有交点 ,把交点排序,把[0,100]分成若干个小区间,这样原函数在每个小区间上的图像属于某一个二次函数或者是一条直线。如何确定属于哪个呢?比如对于某个区间,令m为这个小区间的中点,求出所有的函数在m点的函数值的最小值,... 阅读全文
posted @ 2015-06-04 00:20 jklongint 阅读(564) 评论(0) 推荐(0)
摘要:题意:求满足gcd(x,y,z)=G,lcm(x,y,z)=L的x,y,z的解的个数。大致思路:首先如果L % G != 0那么无解,否则令u = L / G,问题变为,gcd(r,s,t)=1,lcm(r,s,t)=u的解的个数。然后将u分解质因数,令u=a1p1*...*akpk,考虑一种质因数... 阅读全文
posted @ 2015-06-03 01:25 jklongint 阅读(352) 评论(0) 推荐(0)
摘要:题意:给一个矩阵a,a[i][j] = C[i][j](i>=j) or 0(i m,答案由两部分构成,一部分是2^(m+1)-1,另一部分是sigma i:m+1->n f[i][m],f[i][m]表示第i行前m列的数之和,f数组存在如下关系,f[i][m]=f[i-1][m]*2-C[i-1]... 阅读全文
posted @ 2015-05-11 01:11 jklongint 阅读(764) 评论(2) 推荐(0)