数学
让我改变你的心智
这个作者很懒,什么都没留下…
展开
-
HDU 1695 容斥
GCDTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9637 Accepted Submission(s): 3597Problem DescriptionGiven 5 integers: a, b原创 2016-08-08 21:19:31 · 269 阅读 · 0 评论 -
2018 Multi-University Training Contest 7 1010
题意:给出A,B,C,D,P,n,根据地推公式求出第n项首先把这个递推公式化成矩阵公式,发现p/n项会变化,所以无法直接求矩阵,但是每个p/n都有一个连续的固定值,所以可以暴力出所有p/n的值,再化成矩阵求快速幂。#include<stdio.h>#include<algorithm>#include<vector>#include<q...原创 2018-08-21 16:18:30 · 193 阅读 · 0 评论 -
HDU 6286 2018
2018Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 587 Accepted Submission(s): 313 Problem DescriptionGiven a,b,c,d, find out the nu...原创 2018-08-26 21:21:15 · 253 阅读 · 0 评论 -
大整数模板
#include<stdio.h>#include<string.h>#include<string>#include<iostream>using namespace std;#define LL long longint ten[4] = {1,10,100,1000};typedef struct BigNumber{ ...原创 2018-08-22 12:06:29 · 202 阅读 · 0 评论 -
牛客网多校第八场 G Counting regions
链接:https://www.nowcoder.com/acm/contest/146/G来源:牛客网 Niuniu likes mathematics. He also likes drawing pictures. One day, he was trying to draw a regular polygon with n vertices. He connected every p...原创 2018-08-14 15:12:13 · 245 阅读 · 0 评论 -
HDU 5976 Detachment
DetachmentTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2392 Accepted Submission(s): 682Problem DescriptionIn a highly deve原创 2017-11-29 15:23:01 · 226 阅读 · 0 评论 -
HDU 1576 A/B 扩展欧几里得
A/BTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6595 Accepted Submission(s): 5226Problem Description要求(A/B)%9973,但由于A很大,我们原创 2017-08-29 15:57:35 · 276 阅读 · 0 评论 -
ZOJ 3609 Modular Inverse 扩展欧几里得
Modular InverseTime Limit: 2 Seconds Memory Limit: 65536 KBThe modular modular multiplicative inverse of an integer a modulo m is an integer x such that a-1≡x (mod m). This is equivalen原创 2017-08-29 14:41:34 · 252 阅读 · 0 评论 -
扩展欧几里得
扩展欧几里得算法试求gcd(a,b)的一个非常高效的算法,具体内容是gcd(a,b)=gcd(b,a%b)。它可以再log时间内求出结果。什么是扩展欧几里得?考虑一个问题,如果我们知道a和b的最大公约数c,现在需要求出a*x+b*y=c的通解。这该怎么办?不难看出通解形式一定是x=x0+(b/c)*t,y=y0+(a/c)*t。那么该如何求出x0和y0?首先不难看出x=1,y=原创 2017-08-23 17:22:30 · 329 阅读 · 0 评论 -
扩展欧几里得求乘法逆元
对于正整数a和m如果满足公式,那么x的最小正整数解称为a模m的逆元。可以证明等价于 gcd(a,m)=1即a*x+m*y=1,因此如果gcd(a,m)!=1就一定是无解的。现在就可以用扩展欧几里得求x的通解了即x=x0+(m/1)t,x0%m为最小正整数解。如果m为负数,可以先取绝对值,那么如果x0%m为负数,只要再加上abs(m)就是答案了。例题:Modular Inve原创 2017-08-29 13:38:27 · 545 阅读 · 0 评论 -
2705: [SDOI2012]Longge的问题 欧拉函数
DescriptionLongge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1Input一个整数,为N。Output一个整数,为所求的答案。Sample Input6Sample Output15枚举每个约数k,如果g原创 2017-08-07 21:17:24 · 315 阅读 · 0 评论 -
约数个数定理及实现
约束个数定理:对于一个大于1正整数n可以分解质因数:n=p1^k1*p2^k2*p3^k3.......则约数个数x=(k1+1)*(k2+1)*(k3+1)*......1:给你一个n求出最小的约束为n个的数。思路:建树搜索,以每一个pi为一层建树搜索。#include#include#includeusing namespace std;#define ll l原创 2016-12-11 23:32:32 · 1062 阅读 · 0 评论 -
1079 中国剩余定理
1079 中国剩余定理基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合条件的最小的K = 23。Input第1行:1个数N表示原创 2016-10-02 17:05:41 · 344 阅读 · 0 评论 -
欧拉函数
定义:对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。模板:ll euler_phi(ll n)//欧拉函数 { ll ans=n,i; for(i=2; i*i<=原创 2016-10-02 16:44:44 · 281 阅读 · 0 评论 -
1130 N的阶乘的长度 V2(斯特林近似)
输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 1000)第2 - T + 1行:每行1个数N。(1 Output共T行,输出对应的阶乘的长度。Input示例3456Output示例233#include #inc原创 2016-10-02 16:14:50 · 782 阅读 · 0 评论 -
约瑟夫环问题
1073 约瑟夫环基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。Input原创 2016-10-01 15:21:09 · 559 阅读 · 0 评论 -
求n的阶乘的长度 斯特林共识
#include #include #define PI 3.1415926int main(){ int n, a; while(scanf("%d",&n)!=EOF) { a = (int)((0.5 * log(2 * PI * n) + n * log(n) - n) / log(10)); printf("%d\n", a原创 2016-10-01 14:13:02 · 271 阅读 · 0 评论 -
乘法逆元 模板
1256 乘法逆元基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。Input输入2个数M, N中间用空格分隔(1原创 2016-09-15 19:11:20 · 346 阅读 · 0 评论