数论
wow_awsl_qwq
这个作者很懒,什么都没留下…
展开
-
两个闹钟 数论
有两个闹钟。第一个闹钟会在 b,b+a,b+2a,b+3a,… 时刻响铃。第二个闹钟会在 d,d+c,d+2c,d+3c,… 时刻响铃。请计算两个闹钟第一次同时响铃的具体时刻。输入格式第一行包含两个整数 a,b。第二行包含两个整数 c,d。输出格式一个整数,表示第一次同时响铃的具体时刻。如果永远都不可能同时响铃,则输出 −1。数据范围所有测试点满足 1≤a,b,c,d≤100。输入样例1:20 29 19输出样例1:82输入样例2:2 116 12输出样例2:-1原创 2022-03-28 09:45:45 · 509 阅读 · 0 评论 -
快速幂模板 和一道例题
模板ll pow_mod(ll a,ll n,ll m){ if(n==0)return 1; ll x=pow_mod(a,n/2,m); ll ans=x*x%m; if(n%2==1)ans=ans*a%m; return ans;}例题题目描述众所周知,Komorebi十分擅长做数学题,尤其擅长数论,莫比乌斯反演、min25筛、Pollar_rho……等等理论对他而言都是手到擒来,不在话下。但是因为他太强了,导致不太喜欢做简单的题目。现在他的老师给他布置了一道数学题,他觉得太原创 2022-03-26 20:32:00 · 488 阅读 · 0 评论 -
Setsuna的K数列 进制转换 快速幂
题目描述Komorebi非常喜欢数列,但他实在太弱了无法想象出一个数列该如何构造,于是他就去FD(Frog Department)找Setsuna求助,Setsuna是一名光荣的FTCer(Frog,Time Controller),并没有很多空闲,就随口给Komorebi构造了一个神秘的KK数列,构建方法如下:1、创建一个集合A_KAK,集合内包含KK的所有整数次幂,如当K=3K=3时,A_3A3包含1,3,9,27\dots1,3,9,27…,但不会包含2,4\dots2,4…。2原创 2022-03-26 20:26:39 · 650 阅读 · 0 评论 -
1205. 买不到的数目 DP 数论结论
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数 n,m,表示每种包装中糖的颗数。输出格式一个正整数,表示最大不能买到的糖数。数据范围2≤n,m≤1000,原创 2022-03-25 18:33:11 · 96 阅读 · 0 评论 -
第十二届蓝桥杯 货物摆放 搜索
答案:2430搜索import java.util.*;public class Main{ static int a[]=new int [10000]; static long n=2021041820210418l; static int ans,cnt; static void dfs(int c,int t,long u) { if(c==3) { if(u==t)cnt++; ans++;return; } for(int i=t;Math..原创 2022-02-09 16:33:08 · 400 阅读 · 0 评论 -
给定两点确定一条直线
一般式Ax+By+C=0A=y1-y2B=x2-x1C=x1y2-x2y1当保证AB互质时,三个参数唯一确定一条平面直线记忆:由k=-A/B记忆 斜截式y=kx+bk=(y2-y1)/(x2-x1)b=y1-kx1要先判断x1==x2的情况,即竖线无斜率点斜式 y-b=k(x-a)...原创 2022-02-09 14:41:20 · 786 阅读 · 0 评论 -
糖果 蓝桥杯 重复覆盖问题 搜索
糖果店的老板一共有 M 种口味的糖果出售。为了方便描述,我们将 M 种口味编号 1∼M。小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而是 K 颗一包整包出售。幸好糖果包装上注明了其中 K 颗糖果的口味,所以小明可以在买之前就知道每包内的糖果口味。给定 N 包糖果,请你计算小明最少买几包,就可以品尝到所有口味的糖果。输入格式第一行包含三个整数 N,M,K。接下来 N 行每行 K 这整数 T1,T2,⋅⋅⋅,TK,代表一包糖果的口味。输出格式一个整数表示答案。如果小明无法原创 2022-02-06 21:43:04 · 677 阅读 · 0 评论 -
欧几里得算法 扩展欧几里得算法 更相减损术(辗转相减法 )代码实现
欧几里得算法原理:gcd(a,b)=gcd(b,a%b) static int gcd(int a,int b) { return (b==0)?a:gcd(b,a%b); }原理:gcd(a,b)=gcd(b,a-b) static int gcd1(int a,int b) { if(a<b) { int t=a; a=b; b=t; } return (b==0)?a:gcd1(b,a-b); }辗转相减法的应用用来求同幂p时,指数的原创 2022-02-05 20:32:54 · 727 阅读 · 0 评论 -
裴蜀定理 扩展欧几里得算法
裴蜀定理: 对任意a,b和最大公约数d,存在两个整数x,y使得等式成立扩展欧几里得算法:用来求这样的一组整数解,然后通过这组解可以推出其他所有整数解对于等式右边不是a,b的最大公约数的方程求整数解(设右边为t1.右边不是d的倍数则不存在整数解2.右边是d的倍数:按照d求出一对整数解,然后对x,y分别乘以t/d.则得到等式的一组整数解,然后再按照原来的公式加减相同的系数的k倍得到所有整数解。注意:系数还是x对应b/d,y 对应a/d...原创 2022-02-05 00:05:31 · 601 阅读 · 0 评论 -
聪明的燕姿 搜索dfs 约数之和 java
城市中人们总是拿着号码牌,不停寻找,不断匹配,可是谁也不知道自己等的那个人是谁。可是燕姿不一样,燕姿知道自己等的人是谁,因为燕姿数学学得好!燕姿发现了一个神奇的算法:假设自己的号码牌上写着数字 S,那么自己等的人手上的号码牌数字的所有正约数之和必定等于 S。所以燕姿总是拿着号码牌在地铁和人海找数字(喂!这样真的靠谱吗)。可是她忙着唱《绿光》,想拜托你写一个程序能够快速地找到所有自己等的人。输入格式输入包含 k 组数据。对于每组数据,输入包含一个号码牌 S。输出格式对于每组数据,输出有两行。原创 2022-02-04 22:49:50 · 419 阅读 · 0 评论 -
几种素数筛法:朴素筛 埃氏筛 线性筛 代码 以及运行时间对比
几种素数筛法:朴素筛 埃氏筛 线性筛 代码 以及运行时间对比原创 2021-12-30 22:14:21 · 203 阅读 · 0 评论 -
数论知识点杂记
多重集合的排列数问题2 2 3 3 3 5的排列个数:6!/2! /3!原创 2022-02-04 11:58:13 · 298 阅读 · 0 评论 -
计算机中负数取余和数学上的取余
数学定义上的取余:(余数必须大于0)如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足a=qd+r且0 ≤ r < d(其中q为商,r为余数)。举例:5%3=3x1+2,商为1,余数为2(-5)%(-3)=(-3)x2+1,商为2,余数为15%(-3)=(-3)x(-1)+2,商为-1,余数为2(-5)%3=3x(-2)+1,商为-2,余数为1————————————————版权声明:本文为CSDN博主「algsup」的原创文章,遵循CC 4.0 BY-SA版原创 2022-01-17 16:05:55 · 2028 阅读 · 0 评论