
数学问题
fulan liu
平平无奇的世界第一帅
展开
-
【博弈论+记忆化搜索】拆分-Nim游戏
给定nn堆石子,两位玩家轮流操作,每次操作可以取走其中的一堆石子,然后放入两堆规模更小的石子(新堆规模可以为0,且两个新堆的石子总数可以大于取走的那堆石子数),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数nn。第二行包含nn个整数,其中第ii个整数表示第ii堆石子的数量aiai。输出格式如果先手方必胜,则输出“Yes”。否...原创 2019-12-10 21:14:36 · 375 阅读 · 0 评论 -
【容斥原理】能被整除的数
给定一个整数n和m个不同的质数p1,p2,…,pm。请你求出1~n中能被p1,p2,…,pm中的至少一个数整除的整数有多少个。输入格式第一行包含整数n和m。第二行包含m个质数。输出格式输出一个整数,表示满足条件的整数的个数。数据范围1≤m≤16,1≤n,pi≤1e9输入样例:10 22 3输出样例:7思路:容斥原理,即A∪B∪C = A...原创 2019-12-08 21:00:56 · 1132 阅读 · 0 评论 -
【中国剩余定理】表达整数的奇怪方式
给定2n个整数a1,a2,…,an和m1,m2,…,mn,求一个最小的非负整数x,满足∀i∈[1,n],x≡mi(modai)。输入格式第1行包含整数n。第2..n行:每i+1行包含两个整数ai和mi,数之间用空格隔开。输出格式输出最小非负整数x,如果x不存在,则输出-1。如果存在x,则数据保证x一定在64位整数范围内。数据范围1≤ai≤2^31−1,0≤mi&l...原创 2019-12-03 15:25:46 · 394 阅读 · 0 评论 -
【欧几里得】线性同余方程
给定n组数据ai,bi,mi,对于每组数求出一个xi,使其满足ai∗xi≡bi(modmi),如果无解则输出impossible。输入格式第一行包含整数n。接下来n行,每行包含一组数据ai,bi,mi。输出格式输出共n行,每组数据输出一个整数表示一个满足条件的xi,如果无解则输出impossible。每组数据结果占一行,结果可能不唯一,输出任意一个满足条件的结果均可。...原创 2019-11-30 16:58:01 · 238 阅读 · 0 评论 -
【费马引理+快速幂】快速幂求逆元
给定n组ai,pi,其中pi是质数,求ai模pi的乘法逆元,若逆元不存在则输出impossible。注意:请返回在0∼p−1之间的逆元。乘法逆元的定义若整数b,m互质,并且b|a,则存在一个整数x,使得a/b≡a∗x(modm),则称x为b的模m乘法逆元,记为b−1(modm)。b存在乘法逆元的充要条件是b与模数m互质。当模数m为质数时,b^m-2即为b的乘法逆元。输入格...原创 2019-11-30 15:00:35 · 458 阅读 · 0 评论 -
【欧拉函数+线性筛】筛法求欧拉函数
给定一个正整数n,求1~n中每个数的欧拉函数之和。输入格式共一行,包含一个整数n。输出格式共一行,包含一个整数,表示1~n中每个数的欧拉函数之和。数据范围1≤n<=1e6输入样例:6输出样例:12思路:首先要知道欧拉函数的定义:1 ~ N 中与 N 互质的数的个数被称为欧拉函数,记为ϕ(N)然后就是一个计算欧拉函数的公式:若将N分...原创 2019-11-29 17:28:29 · 388 阅读 · 0 评论 -
【线性筛】筛质数
给定一个正整数n,请你求出1~n中质数的个数。输入格式共一行,包含整数n。输出格式共一行,包含一个整数,表示1~n中质数的个数。数据范围1<=n<=1e6输入样例:8输出样例:4思路:线性筛,时间复杂度为o(n)。写这篇博客只是为了记板子。。。#include<bits/stdc++.h>using nam...原创 2019-11-28 21:11:24 · 272 阅读 · 0 评论 -
【矩阵乘法】Fibonacci前n项和
题目描述大家都知道Fibonacci数列吧,f[1]=1,f[2]=1,f[3]=2,f[4]=3...也就是f[n]=f[n-1]+f[n-2]。现在,问题很简单,输入n和m,求前n项和取模m。输入输入n和m1<=n<=2 000 000 0001<=m<=1 000 000 010输出输出前n项和取模m。样例输入5 1000样例...原创 2019-08-01 19:33:26 · 763 阅读 · 0 评论 -
【矩阵乘法】Fibonacci第n项
题目描述大家都知道Fibonacci数列吧,f[1]=1,f[2]=1,f[3]=2,f[4]=3.......也就是f[n]=f[n-1]+f[n-2]。现在,问题很简单,输入n和m,求第n项取模m。输入输入n,m。1<=n<=2 000 000 000 。1<=m<=1 000 000 010 。输出输出第n项取模m样例输入5 10...原创 2019-08-01 19:06:44 · 841 阅读 · 0 评论 -
【排列组合】 组合(lucas定理)
题目描述给出组合数 C(n,m) 表示从 n 个元素中选出 m 个元素的方案数。例如 C(5,2)=10,C(4,2)=6。可是当 n,m 比较大的时候,C(n,m) 很大。于是 xiaobo 希望你输出C(n,m)modp 的值。输入输入数据第一行是一个正整数 T,表示数据组数;接下来是 T 组数据,每组数据有 3 个正整数 n,m,p。对于所有数据,T≤100,1≤m≤n≤109,m...原创 2019-07-30 14:38:07 · 892 阅读 · 0 评论