ACM之数论专题
punchline_skr
会飞的代码
展开
-
D - Blue and Red Balls(atcoder) 排列组合+组合数取模
Time Limit: 2 sec / Memory Limit: 1024 MBScore :400 pointsProblem StatementThere areKKblue balls andN−Kred balls. The balls of the same color cannot be distinguished. Snuke and Takahashi ar...原创 2019-07-22 16:23:32 · 602 阅读 · 0 评论 -
取模方程解的个数 (循环节)
1046: 取模方程解的个数时间限制: 1 Sec 内存限制: 128 MB提交: 346 解决: 9[提交][状态][讨论版][命题人:cyh]题目描述给定x和m,问在区间[a,b]上存在多少个i,使得x^i % 1000 = m。输入输入由多组数据构成。每组数据一行,由四个空格分开的整数x、m、a和b组成。0 <= x, m <= 100000000...原创 2018-07-29 08:57:46 · 2051 阅读 · 0 评论 -
最小公倍数(Uva 11889) (互质问题)
Recently Yaghoub is playing a new trick to sell some more. When somebody gives him A Tomans, hewho never has appropriate changes, asks for B Tomans such that lowest common multiple of A and Bequals ...原创 2018-03-16 21:36:08 · 362 阅读 · 0 评论 -
最小倍数的最小和(Uva 10791) (唯一分解定理)
题意:求至少两个正整数,它们的最小公倍数为n,求这些整数的和最小值……由唯一分解定理可知:n=a1^p1*a2^p2……*an^pn,当两两互质的时候,即ai^pi单独出现的时候最优。数据范围很大,注意避免溢出#include<bits/stdc++.h>using namespace std;int main(){ int n,k=0; while(s...原创 2018-03-15 22:24:07 · 224 阅读 · 0 评论 -
口算训练(hdu 6287) (唯一分解定理)
口算训练Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total Submission(s): 1963 Accepted Submission(s): 419Problem Description小Q非常喜欢数学,但是他的口算能力非常弱。因此他找到了小T...原创 2018-07-24 20:56:56 · 393 阅读 · 0 评论 -
F-等式 (唯一分解定理)
链接:https://www.nowcoder.com/acm/contest/90/F 来源:牛客网时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 给定n,求1/x + 1/y = 1/n (x<=y)的解数。(x、y、n均为正整数)输入描述: 在第一行输入一个正整...原创 2018-03-24 21:18:41 · 343 阅读 · 0 评论 -
G 又见斐波那契 (矩阵构造+矩阵快速幂)
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述 这是一个加强版的斐波那契数列。给定递推式求F(n)的值,由于这个值可能太大,请对109+7取模。输入描述:第一行是一个整数T(1 ≤ T ≤ 1000),表示样例的个数。以后每个样例一行,是一个整数n(1 ≤ n ≤ 1...原创 2018-08-17 22:43:11 · 198 阅读 · 0 评论 -
Repeat Number
1614: Repeat Number时间限制: 1 Sec 内存限制: 32 MB提交: 134 解决: 39[提交][状态][讨论版]题目描述Definition: a+b = c, if all the digits of c are same ( c is more than ten),then we call a and b are Repeat Number. My...原创 2018-08-08 16:43:11 · 165 阅读 · 0 评论 -
A-因子(Wannafly) (唯一分解定理+阶乘中某因子数)
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述 令 X = n!, 给定一大于1的正整数p 求一个k使得 p ^k | X 并且 p ^(k + 1) 不是X的因子。输入描述:两个数n, p (1e18>= n>= 10000 >= p >= 2)...原创 2018-09-28 21:57:22 · 583 阅读 · 0 评论 -
Spare Tire (欧拉筛+找规律+容斥原理)
思路: 转发自:https://blog.csdn.net/Lngxling/article/details/82530798由a的递推式可以很容易地得到ai=i*(i+1)求所有满足条件的数不好求,我们可以用所有的减去不满足条件的,即与m不互素的数贡献的a值根据算数基本定理将m分解,与m不互素的就是至少有其中一个因子,算所有的所以要容斥对于每个因子积sum,会形成sum,...原创 2018-09-09 21:38:37 · 579 阅读 · 0 评论 -
sum (分块+欧拉筛+唯一分解定理+规律)
1000ms 512000KA square-free integer is an integer which is indivisible by any square number except 1. For example, 6=2⋅3 is square-free, but 12=2^2⋅3 is not, because 2^2 is a square number. Som...原创 2018-09-02 01:17:27 · 923 阅读 · 2 评论 -
A-因数个数和 (数学)
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述 q次询问,每次给一个x,问1到x的因数个数的和。输入描述:第一行一个正整数q ;接下来q行,每行一个正整数 x输出描述:共q行,每行一个正整数表示答案示例1输入412310输出13...原创 2018-08-31 13:15:20 · 548 阅读 · 0 评论 -
Character Encoding(hdu 6397) (阶乘逆元+容斥原理)
Character EncodingTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 632 Accepted Submission(s): 240Problem DescriptionIn computer scie...原创 2018-08-16 10:02:29 · 494 阅读 · 0 评论 -
C - Multiplication Game (博弈)
Alice and Bob are in their class doing drills on multiplication and division. They quickly get bored and instead decide to play a game they invented.The game starts with a target integer $ N ≥ 2$ , ...原创 2018-07-30 08:52:10 · 166 阅读 · 0 评论 -
小明的数学
题目描述给一个整数n,你能告诉我有多少种方式写成:n = i * j + i + j (0 < i <= j)输入第一行T(<2000).接下来T行,每行一个整数n.输出一行一个整数。刚开始很懵,后来突然有想法:n=i*j+i+j转换成(i+1)*(j+1)=n+1。又因为i<=j,这样就很简单了,其实先判断n+1是否是素数,可以简化运算……#include<bits...原创 2018-03-13 09:14:25 · 1542 阅读 · 0 评论 -
大水题 (容斥原理)
链接:https://www.nowcoder.com/acm/contest/75/G来源:牛客网 题目描述给出一个数n,求1到n中,有多少个数不是2 5 11 13的倍数。输入描述:本题有多组输入每行一个数n,1<=n<=10^18.输出描述:每行输出输出不是2 5 11 13的倍数的数共有多少容斥系数:奇正偶负.#include<...原创 2018-03-13 08:39:38 · 272 阅读 · 0 评论 -
斯特灵公式
链接:https://www.nowcoder.com/acm/contest/75/A来源:牛客网题目描述夫夫有一天对一个数有多少位数感兴趣,但是他又不想跟凡夫俗子一样, 所以他想知道给一个整数n,求n!的在8进制下的位数是多少位。输入描述:第一行是一个整数t(0<t<=1000000)(表示t组数据)接下来t行,每一行有一个整数n(0<=n<=10000000)输出描...原创 2018-03-13 08:23:47 · 260 阅读 · 0 评论 -
又见GCD(hdu 2504)
题目:点击打开链接刚开始没有考虑周全(想着优化到O(1)):a=b*A,c=b*B,其中A与B互质并且B不等于1(考虑全面再下手QAQ);#include<bits/stdc++.h>using namespace std;int gcd(int m,int n){ return n==0?m:gcd(n,m%n);}int main(){ int n,a,...原创 2018-03-15 23:00:14 · 226 阅读 · 0 评论 -
Herd Sums(hdu 2715)
题目:点击打开链接题目大意:给定n,求有多少种“连续整数之和等于n”,包括n……数学题,就是个等差数列求和公式:n=t*a1+t*(t-1)/2;t为相应的长度,假设a1等于1,那么t<sqrt(2*n),a1=(2*n-t*(t-1))/(2*t),枚举t,当且仅当(2*n-t*(t-1))%(2*t)==0满足……#include<bits/stdc++.h>using n...原创 2018-03-15 15:50:09 · 216 阅读 · 0 评论 -
GCD(hdu 2588)
GCDTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3323 Accepted Submission(s): 1782Problem DescriptionThe greatest common divisor GCD...原创 2018-03-19 22:45:38 · 227 阅读 · 0 评论 -
容斥原理
解题思路来自于:https://blog.csdn.net/h1021456873/article/details/51175640#include<bits/stdc++.h>using namespace std;long long s[1500];long long que[10000];long long num;void f(long long n){ n...转载 2018-03-25 16:24:47 · 483 阅读 · 0 评论 -
2018(hdu 6286)
2018Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 507 Accepted Submission(s): 263Problem DescriptionGiven a,b,c,d, find out the numb...原创 2018-07-29 10:26:08 · 542 阅读 · 1 评论 -
X问题(hdu 1573) (线性同余方程)
X问题Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7953 Accepted Submission(s): 2873Problem Description求在小于等于N的正整数中有多少个X满足:X mod a[0] ...原创 2018-04-04 23:03:45 · 470 阅读 · 2 评论 -
romantic(hdu 2669)
扩展欧几里得算法的简单应用!!!下面给出模板。。#include<bits/stdc++.h>using namespace std;int gcd(int x,int y,int &d,int &a,int &b){ if(!y) { d=x; a=1; b=0; } els...原创 2018-04-03 16:24:11 · 199 阅读 · 0 评论 -
Number Sequence
取余n,最多n^2项就会出现重复,那么在这里只需计算前49项即可!!!#include<bits/stdc++.h>using namespace std;int f[50];int main(){ int a,b,n; while(scanf("%d%d%d",&a,&b,&n)==3&&(a||b||n)) {...原创 2018-04-03 15:20:02 · 302 阅读 · 0 评论 -
H - Leftmost Digit
求n^n的最高位数字,其中n<=10^9,在这里需要用到求数位公式,科学计数法,pow函数,两边同时取对数eg:n^n=a*10^m,n*log10(n)=log10(a)+m,a=10^(n*log10(n)-m).考虑到double精度问题,最好把n弄成double类型……#include<bits/stdc++.h>using namespace std;int mai...原创 2018-04-08 22:54:37 · 126 阅读 · 0 评论 -
错位排列
解题思路来自于:https://blog.csdn.net/qq_32426313/article/details/52710385#include<bits/stdc++.h>using namespace std;int main(){ int t,n; double a[30]; a[1]=0,a[2]=1; for(int i=3;i<...转载 2018-03-25 17:11:46 · 626 阅读 · 0 评论 -
The Euler function(Uva 2824)
The Euler functionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4757 Accepted Submission(s): 1990Problem DescriptionThe Euler functi...原创 2018-03-15 09:30:21 · 146 阅读 · 0 评论