××××××××数论××××××××
WePlayDirty
emmmmmmm
展开
-
Chef and Prime Divisors(GCD)
Chef and Prime Divisors Problem code: CHAPDYou are given two positive integers – A and B. You have to check whether A is divisible by al原创 2015-08-29 20:58:53 · 2136 阅读 · 0 评论 -
两种求模m逆元的方法
在a|b(a能整除b)的前提下,计算(b/a)mod m的时候转化为 计算(b*x)mod m ; 这时的x就是a的逆元(a模m的逆元); 此时x满足 (a*x mod m == 1); 这个x的求法有一下两种:1)扩展欧几里得算法求解 a*x+m*y=1; 因为 a*x mod m =原创 2016-05-14 18:23:40 · 16124 阅读 · 2 评论 -
poj2975 nim(nim博弈)
问先手第一步有多少种手法取胜。如果a1^a2^...^an!=0则先手必胜,因为对于a1^a2^...^an=k,因为异或其实就是不进位加法;所以a1,a2.。。。。an中,必定存在ai的二进制形式和k的二进制形式位数相同(最高位都是1,从最高位算起,长度相同),这个ai^k)通过拿走某一堆的一些石子,必定能转换到a1^a2^...^an=0的状态,而a1^a2^...^an=0的状态,只原创 2016-08-05 20:31:55 · 2324 阅读 · 0 评论 -
(多校第六场1002)HDU5794 A Simple Chess(Lucas+dp)
给你一个n×m的棋盘,给出r个点,表示棋盘中有r个坏点不能走,问马从(1,1)走到(n,m)有多少中走法,每一步必须是往横纵坐标不减小的方向走。如果棋盘上没有坏点,那从(1,1)走到(n,m)满足方程1+2x+y=n && 1+2y+x=m ,如果方程的两个解大于等于0,那就可达,否则不可达。如果可达,方案数就是组合数C(x+y,x)。如果棋盘上有一个坏点,方案数就是(没有坏点的方案数)原创 2016-08-05 15:24:22 · 2731 阅读 · 0 评论 -
poj1061 poj2115 扩展欧几里德算法
以下内容为个人理解,有错误地方还请指出。1、gcd和扩展gcd算法都要求a,b大于0;2、ax+by=c有解的充要条件是c%gcd(a,b)==0;3、求解ax+by=c 转换为求解a*_x+b*_y=gcd(a,b); x=_x*c/gcd(a,b); y=_y*c/gcd(a,b); 4、如果ax+by=gcd(a,b)中b 但是算出的y要加负号才是正确结原创 2016-04-13 20:54:04 · 2315 阅读 · 0 评论 -
HDU2521 求因数个数
反素数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5748 Accepted Submission(s): 3371Problem Description反素数就是满足对于任意i(0 Inp原创 2016-07-13 20:03:29 · 3213 阅读 · 0 评论 -
poj3292 Semi-prime H-numbers
离线打表啊,曾经1A的题,竟然到底没做出来。。。prime[i]*prime[j]可能会有重复结果,简单统计小于n的肯定不行#include #include #include #include #include #include #include #include #define maxn 1100000#define LL long longusing namesp原创 2016-07-19 19:43:18 · 2306 阅读 · 0 评论 -
poj3070 Fibonacci(矩阵快速幂)
矩阵已经给出来了,直接算就行了。和普通的快速幂差不多,只不过多了一个矩阵乘法。#include#include#include#include#include#include#include#include#define LL long long#define maxn 110000#define maxm 110000#define MOD 10000using原创 2016-07-25 10:10:54 · 2241 阅读 · 0 评论 -
(多校第二场1001)HDU5734 Acperience
推个公式:∑(W[i]+B[i]*a)^2=∑W[i]^2+n*a^2+2*a*∑B[i]W[i];对于x=a,y=n*x^2+2*x*∑B[i]W[i]; 是一元二次方程,所以min(∑W[i]^2+n*a^2+2*a*∑B[i]W[i])=∑W[i]^2-(∑B[i]W[i])^2/n,可得当∑B[i]W[i]取最大值时,∑(W[i]+B[i]*a)^2取最小值。#inclu原创 2016-07-22 21:17:08 · 2519 阅读 · 0 评论 -
poj1942线性复杂度求组合数
补发博客就是求C(m+n,m);读代码吧少年!#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define mem(a) memset(a,0,sizeof(a))#define uLL原创 2016-05-04 16:34:54 · 2438 阅读 · 0 评论 -
2016百度之星资格赛1001
Problem AAccepts: 958Submissions: 7871Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Problem Description度熊手上有一本字典存储了大量的单词,有一次,他把所有单词组成了一个很长很原创 2016-05-14 19:10:53 · 3229 阅读 · 1 评论 -
Set Difference(所有子集的最值差)
点击打开题目链接https://www.codechef.com/problems/SETDIFFSet Difference Problem code: SETDIFFSUBMITALL SUBMISSIONSAll submission原创 2015-08-29 22:51:13 · 2757 阅读 · 0 评论 -
(多校第六场1001)HDU5793 A Boring Question(逆元,等比数列和取模)
推出公式就好了,就是计算m^0+m^1+.....+m^n;#include#include#include#include#include#include#include#include#include#include#define LL long long#define MOD int(1e9+7)using namespace std;L原创 2016-08-11 10:22:17 · 2280 阅读 · 0 评论