数学-数论
文章平均质量分 76
Flintx
鲜衣怒马少年时
展开
-
CodeForces 382B Number Busters(数论-数学推理)
Description Arthur and Alexander are number busters. Today they’ve got a competition.Arthur took a group of four integers a, b, w, x(0 ≤ b < w, 0 < x < w) and Alexander took integer с. Arthur and Alex原创 2015-03-04 00:29:25 · 654 阅读 · 0 评论 -
HDU 4373 Mysterious For(Lucas 定理 + 中国剩余定理)
HDU 4373(Lucas 定理 + 中国剩余定理)题意: 一段程序共有m个for循环嵌套,有两种形式,第一类从1开始到n,第二类初始值为上一层当前值,累计到n,第一层一定是第一种类型,求总的循环的次数对364875103取余的结果。思路:fuck the 364875103!!!TMD居然是个合数!一开始觉得顺序对结果没啥影响,yy出答案为nk−1∗Cm−k+1m+n−kn^{k-1}*C原创 2015-09-16 01:14:51 · 878 阅读 · 0 评论 -
HDU 4407 Sum(容斥原理+质因数分解)
HDU 4407题意:给一个长度为n的序列,序列由1~n依次组成。 对序列执行两种操作: 1.查询[x,y]内与p互素的数的和; 2.修改第x数为c.思路:往线段树的方向想了半天,发现就是容斥原理略微变形,脑残不可医啊。。修改操作可以用map进行映射。查询操作的话我们就把序列一直当做1~n的序列来查询,然后迭代器跑一遍map判断对查询有无影响即可,总之操作最多2000次; 对于查询操作,我们原创 2015-08-24 17:29:19 · 1295 阅读 · 0 评论 -
Gym 100379C Fibonacci number’s ratio (the hard version) (特征方程)
Gym 100379C题意:定义一个新的fibonacci数列:使G(n) = a * G(n - 1) + b * G(n - 2); 求n→∞时,G(n) / G(n-1) 的值(保留小数点后6位精度)。思路:分情况讨论(根据a,b,g0,g1是否为0,共计16种情况):a = 0 且 b = 0 时,一定是NO;g0 = 0 且 g1 = 0 时,一定是NO;a = 0 且 b !=原创 2015-08-12 22:19:22 · 651 阅读 · 0 评论 -
Codeforces Round #315 (Div. 2) (ABCD题)
A. Music题意:一首歌长度为S秒,已经下载了T秒,下载速度为每q秒的现实时间能下载下来(q-1)秒 的歌曲。现在开始听歌,如果听到还没下载的地方就从0秒的地方开始replay,求一首歌听完需要从0秒听几次(包括一开始那次)思路:我们可以用路程-时间的思路来考虑这道题。 假设两位选手“播放”与“下载”,“播放”的起点是0m处,“下载”的起点是Tm处,终点在Sm处,“播放”的速度是1m/s,“下原创 2015-08-12 00:56:25 · 852 阅读 · 0 评论 -
LightOJ 1282 Leading and Trailing(截取前n位输出)
LightOJ 1282 Leading and Trailing题意: 输入n^k,输出n^k的前3位与后3位.思路:之前做快速幂专题的时候见过这类题,这类题只要记得前m位用log10来求,后m位用mod 10^m来求就基本没问题啦~ f(n)=nktmp=log10f(n)=klog10ntmp=tmp−⌊tmp⌋tmp=10tmpf(n)=n^k\\tmp=\log_{10}原创 2015-09-19 00:13:51 · 804 阅读 · 0 评论 -
HDU 2276 & FZU 1692 (矩阵快速幂+循环同构优化)
HDU 2276题意:给定一个01**字符串环**(2<=字符串长度<=100)然后进行m次的变换。 定义变换的规则为:如果当前位置i的左边是1(下标为0的左边是n-1),那么i就要改变状态0->1 , 1->0 比如当前的状态为100101那么一秒过后的状态为010111。思路:用公式表示变化状态其实就是: ai=(a(i+n−1)%n+ai)%2a_i = (a_{(i+n-1)\%n}+原创 2015-08-16 22:26:34 · 1203 阅读 · 0 评论 -
ACM常见组合博弈游戏
这两天认识了几个组合游戏的基础模型,希望自己能更新下去。。Ferguson游戏DescriptionInitial有两个盒子,一个装有 m 颗糖,一个装有 n 颗糖,表示为 (m, n) .Step每次清空一个盒子,将另一个盒子里的糖转移一些过来,并保证两个盒子至少各有一颗糖。Win最后进行转移糖者胜,无法转移糖者败。Solvem, n 都为奇数,先手败;m, n 至少一个为偶数,先手胜原创 2015-11-07 00:03:40 · 4982 阅读 · 1 评论 -
ACM里的反素数问题
定义 对于正整数 x ,其约数的个数记做 g(x) 。例如 g(1) = 1,g(6) = 4. 如果某个正整数x满足: 对于任意 i(0<i<x)i(0<i<x) , 都有 g(i)<g(x)g(i)<g(x) , 则称x为反素数· 反素数的前20项是: 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720原创 2015-10-05 22:48:08 · 643 阅读 · 0 评论 -
LightOJ 1341 Aladdin and the Flying Carpet(算术基本定理)
LightOJ 1341 Aladdin and the Flying Carpet题意: 输入一个矩形面积,以及矩形边长的最小值,已知矩形不是正方形,求有多少种边长组合。思路:转化一下就是求面积的所有正约数个数的一半,然后去掉有边长短于最小值以及正方形的情况就是最后答案。 至于求约数个数,由算术基本定理可知: n=pa11pa22...pakk那么,约数个数=(a1+1)(a2+1)..原创 2015-09-19 00:02:46 · 607 阅读 · 0 评论 -
LightOJ 1236 Pairs Forming LCM(算术基本定理)
LightOJ 1236 Pairs Forming LCM题意:long long pairsFormLCM( int n ) { long long res = 0; for( int i = 1; i <= n; i++ ) for( int j = i; j <= n; j++ ) if( lcm(i, j) == n ) res++;原创 2015-09-22 01:07:10 · 1539 阅读 · 0 评论 -
HDU 2466 Cryptography Reloaded (数论+高精度)
HDU 2466题意:RSA密码系统是这样加密的: 选两个大素数 p , q,令 n=p∗qn = p*q,那么 φ(n)=(p−1)(q−1)\varphi(n) = (p-1)(q-1), 再选一个 φ(n)\varphi(n)以内的数字 e ,计算出 d ,使 e∗d=1 mod φ(n)e*d=1 \ mod\ \varphi(n)。当选择的 e 太小时很容易被暴力破解,现在给你 n原创 2015-11-12 00:45:37 · 851 阅读 · 0 评论 -
SPOJ NUMTRYE Number Theory (Easy) (pollard_rho分解质因数)
SPOJ NUMTRYE Number Theory (Easy)题意: g(n)=∑i=1nngcd(n,i)f(n)=∏i=1n(p2ki+1i+1)求f(n)g(n)%1000000007.n≤1012g(n)=\sum_{i=1}^n\frac{n}{gcd(n,i)}\\f(n)=\prod_{i=1}^n(p _i^{2k _i+1}+1)\\求\frac{f(n)}{g(n)}原创 2015-09-23 19:29:25 · 1068 阅读 · 0 评论 -
UESTC 1712 Easy Problem With Numbers (线段树区间修改+非互素逆元)
题意: 输入n个数与q个操作,以及一个数M. 操作有三种形式: 1.将区间[L,R]内的数都乘以一个数x; 2.将区间[L,R]内的数都除以一个数x; 3.询问区间[L,R]内所有数的乘积模除M的结果。思路:这题拖到现在才把它补了。。代码太长又手残GG 。 很裸的线段树和很裸的模运算。。但是结合在一起很是恶心啊。如果是将区间[L,R]内的数都乘以一个数x,这个很好写,原创 2015-10-14 17:57:04 · 466 阅读 · 0 评论 -
Light OJ 1289 LCM from 1 to n(lcm问题+内存优化)
Light OJ 1289 LCM from 1 to n题意: 输入 t(t≤10000)t(t\leq10000) 组样例, 每组样例包含一个 n(2≤n≤108)n(2\leq n\leq10^8), 求 lcm(1,2,3,…,n)lcm(1,2,3,\ldots,n) .思路:计算 lcm(1,2,3,…,n)lcm(1,2,3,\ldots,n) 有这么一个性质:原创 2015-10-03 18:37:44 · 860 阅读 · 1 评论 -
HDU 4676 Sum Of Gcd(欧拉函数求区间gcd之和+分块算法)
HDU 4676 Sum Of Gcd题意: 给一个数列a,以及一些询问[L,R] ,求每一个询问的 ∑L≤i<j≤Rgcd(i,j)\sum_{L\leq i < j \leq R} \gcd(i,j)思路:令S(L,R)=∑L≤i<j≤Rgcd(i,j)S(L,R)=\sum_{L\leq i < j \leq R} \gcd(i,j) 例如,当 a[L:R]={4,5,8}a[L:R]原创 2015-10-04 23:08:20 · 1799 阅读 · 0 评论 -
Codeforces 534C Polycarpus' Dice(数学,公式推导)
C. Polycarpus’ Dice time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Polycarp has n dice d1, d2, …, dn. The i-th dice shows numbers from 1 t原创 2015-04-13 20:34:51 · 723 阅读 · 0 评论 -
CodeForces 71C Round Table Knights(数学+枚举)
题目戳这里题意:圆上有n个点均匀分布,其中点的状态有0或1两种情况,现在告诉你所有点的状态,问:能否由状态为1的点组成正多边形。思路:公式推理+枚举。当n=3时,我们需要验证是否有正三边形(三角形);当n=6时,我们需要验证是否有正六边形与正三角形;当n=9时,我们需要验证是否有正九边形与正三角形;……可以发现只要检测n的大于3的因数作为边数原创 2015-05-17 22:07:25 · 889 阅读 · 0 评论 -
CodeForces 340C Tourist Problem(组合排列,公式推导)
C. Tourist Problemtime limit per test 1 secondmemory limit per test 256 megabytesinput standard inputoutput standard outputIahub is a big fan of tourists. He wa原创 2015-03-03 00:30:57 · 570 阅读 · 0 评论 -
CodeForces 399C Cards (数论)
题目请戳这里题意简单不予赘述,说做法。有一个容易证明的结论,x1+x2+...+xn为定值,当任意xi等于x1~xn的均值时,x1^2+x2^2+...+xn^2等于最小值。所以我们要尽可能使‘x'不连续。附上官方题解公式:1. Maximize the value of x12 + x22 + ... + xp2 where x1 + x2 + ... + xp原创 2015-07-19 22:02:43 · 656 阅读 · 0 评论 -
HDU4149 Magic Potion(位运算)
题目请戳这里题意:给出x1,x2,x3,x4,x5,x6,x7,x8与某值m进行异或运算后的结果,再给出x1~x8之和与m进行异或运算后的结果sum,求m.思路:根据位运算特性来做,由于m最大为32位,我们可以从最低位依次来推理得到,用x>>i&1来取右数第i-1位的值。假设二进制右起第一位是1,算出所有xi的右起第一位二进制结果,累加得到tmp,比较tmp与sum的最右位,符合则原创 2015-07-20 18:59:18 · 1088 阅读 · 1 评论 -
HDU 4135 Co-prime (容斥原理)
题目戳这里题意:求一个区间[a,b]中有多少个与n互素的数。思路:这道题是容斥原理的模板题之一,容斥原理请参考容斥原理详述,很好的一篇文章。[a,b]中与n互素的数目可转化为[1,b]-[1,a-1]的数目。给出整数n和r。求区间[1;r]中与n互素的数的个数的方法:解决它的逆问题,求不与n互素的数的个数。 考虑n的所有素因子pi(i=1…k)在[1原创 2015-07-20 19:43:21 · 691 阅读 · 0 评论 -
CodeForces 558C Amr and Chemistry (位运算,数论,规律,枚举)
Codeforces 558C题意:给n个数字,对每个数字可以进行两种操作:num*2与num/2(向下取整),求:让n个数相等最少需要操作多少次。分析:计算每个数的二进制公共前缀.枚举法亦可。/**Author : Flint_x *Created Time : 2015-07-22 12:33:11 *File name : whust2_L.cpp */#原创 2015-07-23 00:51:50 · 1115 阅读 · 0 评论 -
HDU 4291 A Short problem(矩阵快速幂+循环节)
HDU 4291题意:计算:g(g(g(n)))mod109+7计算:g(g(g(n)))\mod 10^9 + 7 其中:g(n)=3g(n−1)+g(n−2),g(1)=1,g(0)=0其中:g(n) = 3g(n - 1) + g(n - 2),g(1) = 1,g(0) = 0思路:开始的想法是一层层的求出来,后来发现是错的。只有最外层能模除109+710^9 + 7. 这里有一个知识点原创 2015-08-16 22:12:52 · 795 阅读 · 0 评论 -
HDU 4359 Easy Tree DP?(是dp但并不是tree dp + 组合计数)
HDU 4359题意:定义Bear Tree为一颗二叉树,这种二叉树每个结点有一个权值,范围在2^0~2^n-1,并且每个值只用一次,对于每个结点,如果同时存在左右子树,那么左子树的权值和要小于右子树的权值和。求点数为N,层次为D的Bear Tree的数量。思路:2^0 + 2^1 + ... + 2^n 根据这个性质,我们可以得出权值最大节点必须在右子树上,并且只要同时存在左右子原创 2015-08-03 15:53:12 · 870 阅读 · 1 评论 -
Codeforces Round #319 (Div. 2)(A,B,C,E)
Codeforces Round #319 (Div. 2)A.Multiplication Table题意: 求m在n*n的加法表中出现了几次思路:枚举1到n,累计能整除m的情况。代码:/** @author FreeWifi_novicer* language : C++/C*/#include<cstdio>#include<iostream>#include<cstring原创 2015-09-12 02:12:43 · 928 阅读 · 0 评论 -
HDU 5407 CRB and Candies(数论+yy)
HDU 5407题意:计算: LCM(C0N,C1N,C2N,...,CNN)(1<=N<=106)LCM(C^0_N,C_N^1,C_N^2,...,C_N^N)(1<=N<=10^6)思路:先打个表看看? 我们可以发现: f(3)=f(4)/4,f(5)=f(6)/6,f(3)=f(4)/4,f(5) = f(6) / 6, f(9)=f(10)/10,f(11)=f(12)/12原创 2015-08-22 00:10:47 · 1714 阅读 · 0 评论 -
[kuangbin带你飞]数论基础的简单题解
查看题目与代码参考 打星题还没做Problem ALightOJ 1370 Bi-shoe and Phi-shoe 欧拉函数+枚举。令k = lucky number+1开始枚举k,直到lucky number ≤φ(k)\leq \varphi(k)Problem BLightOJ 1356 Prime Independence *质因数分解+最大独立集。大致的想法是原创 2015-09-30 18:53:44 · 1642 阅读 · 0 评论 -
UVALive 4119 Always an integer(差分数列+模拟)
UVALive - 4119 Always an integer题意: 输入一个关于n的表达式,求该表达式对于任意整数变量n得到的值是否均为整数。思路:根据差分数列的性质,令 n = 1 , 2 ,3 ,…,k+1,依次带入表达式计算是不是整数。其中k为表达式的最高次幂, 写这个题主要还是锻炼一下自己写模拟题的能力。。代码:/** @author FreeWifi_novicer* la原创 2015-10-02 22:13:36 · 504 阅读 · 0 评论 -
hdu 4015 Mario and Mushrooms(组合数学)
题目戳这里题意:Mario遇到了两种蘑菇:好蘑菇提升自身一点hp,坏蘑菇减少自身m点hp,当遇到一个蘑菇后Marion的hp小于或等于0时,Marion死亡。已知坏蘑菇有k个,好蘑菇k*m+1个(换句话说,生还后hp=1)蘑菇随机排列,遇到蘑菇的过程是一个接一个,输入k与m,求Marion生还概率。思路:大概是靠脑洞(卒。。 我们可以明确一件事,任一合法序列或着说生还条件,必然前k+1个是好蘑菇,原创 2015-05-15 22:23:06 · 861 阅读 · 1 评论