![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
z岁月无声
这个作者很懒,什么都没留下…
展开
-
HDU-1007.Quoit Design
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1007思路:最近点对+分治对于点集a[n]先按x坐标从小到大排序,取中点a[n/2]将其分成左右两边进行分治,那么最近点对分为三种情况:1.最近点对都在左边 resL;2.最近点对都在右边 resR;3.最近点对一个在左边,一个在右边 resH。那么答案res为三种情况中的最小值,前两种情况按照分治思想可以处理,主要是第三种情况的处理。首先分治求出 res=min(resL,resR),对于resH,.原创 2020-11-26 15:43:47 · 124 阅读 · 0 评论 -
LeetCode-96. 不同的二叉搜索树
地址:https://leetcode-cn.com/problems/unique-binary-search-trees/思路:一:dpf(i): 以 i 为根的二叉搜索树个数s(n): n个节点的二叉搜索树个数s(n)=f(1) + f(2) + … + f(n)f(i) = s(i-1)*s(n-i)则s(n) = s(0)*s(n-1) + s(1)*s(n-2) + … + s(n-1)*s(0);二:卡特兰数s(n) = s(0)s(n-1) + s(1)s(n-2) + .原创 2020-11-19 10:51:31 · 109 阅读 · 0 评论 -
2020ICPC·小米 网络选拔赛热身赛-A.ABBA
地址:https://ac.nowcoder.com/acm/contest/8409/A思路:动态规划或组合数学思路一,动态规划:思路二,组合数学:原创 2020-10-25 16:27:28 · 779 阅读 · 0 评论 -
ZOJ-What day is that day?
地址:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827369770思路:费马小定理,a^b%7,对于a可以a%7,因此a可化为只在 0-6之间,而对于b,根据费马小定理 a^6%7=1,因此 b可化为只在 0-5之间,因此对于所有的a^b就只有 7*6种情况,因此计算a^b所有情况的个数即可Code:#include<iostream>using namespace std;int n,T;str..原创 2020-10-13 01:25:32 · 175 阅读 · 1 评论 -
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛
地址:https://ac.nowcoder.com/acm/contest/90/C思路:和同学讨论了半天结果是道数学题,打扰了。。。博客:https://blog.csdn.net/nka_kun/article/details/79714666先看怎么处理一个圈有n个人只给相邻的人硬币的解法,保证总数整除n是必然的,有个很明显的情况就是如果A给了B,那么B将不会再给A,这样...原创 2019-05-08 22:57:20 · 203 阅读 · 0 评论 -
福建工程学院第七届ACM程序设计新生赛 (同步赛)-D.内心里的一把火
地址:https://ac.nowcoder.com/acm/contest/289/D思路:点p在三角形内,就要有点P和C在直线AB同侧,直线P和A在直线BC同侧,直线P和B在直线AC同侧。当同时满足时,P在三角形ABC内。判断是否同侧直线方程为 (y-y1)(x1-x2)-(y1-y2)(x-x1)=0 当 (y-y1)(x1-x2)-(y1-y2)(x-x1)>0 时,...原创 2018-12-09 22:54:55 · 322 阅读 · 0 评论 -
EOJ Monthly 2018.12-C. 她的名字
地址:https://acm.ecnu.edu.cn/contest/125/problem/C/思路:组合数学+预处理,对于以XY结尾的字符串,可以枚举所有XY为s[i]s[j],而对于s[i]s[j]的长度为k的字符串个数为 C(i,k),因此可以先预处理出所有N XY的答案,先求出C(i,j)的值d[i][j],在枚举XY,X=s[i]时,又需要求长度为1->i 的字符串个数,...原创 2018-12-09 21:36:22 · 267 阅读 · 0 评论 -
西安电子科技大学第二届程序设计新生赛(同步赛)-E-or2?Scum!
地址:https://ac.nowcoder.com/acm/contest/316/E思路:容斥原理Code:#include<iostream>#include<sstream> #include<map>using namespace std;typedef long long LL;const int a[15]={2,3,...原创 2018-12-09 18:02:21 · 332 阅读 · 0 评论 -
牛客练习赛34-D little w and Exchange
地址:https://ac.nowcoder.com/acm/contest/297/D思路:归纳证明,假设前i-1个数能构成[1:sum],那么当a[i]<=sum+1. 则[1,sum+a[i]]中的所有数都能构造出来. 若a[i]>sum+1,那么sum+1肯定不能够构成Code:#include<iostream>#include<al...原创 2018-12-19 23:57:58 · 307 阅读 · 0 评论 -
CF-Mail.Ru Cup 2018 Round 3-B. Divide Candies
地址:http://codeforces.com/contest/1056/problem/B思路:题意找出n*n中 (i*i+j*j)%m==0的个数,n<1e9,m<1e3,发现遍历的话肯定超时,而m<1e3,那么考虑是不是为m*m的时间复杂度,对于 (i*i+j*j)%m=0,若i>m,那么 (i-m)*(i-m)+j*j=(i*i+j*j+m*m-2*j*m...原创 2018-11-28 22:30:07 · 1086 阅读 · 0 评论 -
51nod-1186 质数检测 V2
地址:http://www.51nod.com/Challenge/Problem.html#!#problemId=1186思路:Miller-Rabin随机算法+__int128大法Code:#include<iostream>using namespace std;typedef long long LL;typedef __int128 LLL;LL...原创 2018-11-07 20:05:25 · 232 阅读 · 0 评论 -
noip 1995 灯的排列问题
Description设在一排上有N个格子(N≤20),若在格子中放置有不同颜色的灯,每种灯的个数记为N1,N2,……Nk(k表示不同颜色灯的个数)。(颜色数<4)放灯时要遵守下列规则:①同一种颜色的灯不能分开;②不同颜色的灯之间至少要有一个空位置。例如:N=8(格子数)R=2(红灯数)B=3(蓝灯数)放置的方法有: R-B顺序,B-R顺序, 放置的总数为12种。程序要求...原创 2018-10-23 22:23:29 · 1867 阅读 · 0 评论 -
计蒜客-2019 蓝桥杯省赛 A 组模拟赛-阶乘位数
计算出第一个正整数的阶乘位数大于等于 s=1000010000 的数是多少,即求最小的正整数 n 满足 n!的位数大于等于 s=1000010000。地址:https://nanti.jisuanke.com/t/A2221 答案:3249思路一:计算Sum=n!,将Sum控制在INF=1e10范围内,计算每次去掉的10的个数思路二:log10(n!)>=slog10(...原创 2019-03-20 19:06:38 · 408 阅读 · 0 评论 -
牛客练习赛43-F Tachibana Kanade Loves Game
链接:https://ac.nowcoder.com/acm/contest/548/F来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述立华奏是一个天天打比赛的萌新。省选将至,萌新立华奏深知自己没有希望进入省队,因此开始颓废。她正在颓废一款名为《IODS 9...原创 2019-04-06 00:58:16 · 266 阅读 · 0 评论 -
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛-F-等式
地址:https://ac.nowcoder.com/acm/contest/90/F思路:数论题,唉,太菜了,推了半天结果还是错了QAQ,博客https://blog.csdn.net/gdut_yy/article/details/800520521/x+1/y=1/nny+nx=xy(x-n)(y-n)=n^2转换成求 n^2的因子个数即求 n 的各个质因子个数si...原创 2019-05-08 15:43:52 · 194 阅读 · 0 评论 -
Codeforces Round #561 (Div. 2)-E. The LCMs Must be Large
地址:https://codeforces.com/contest/1166/problem/E思路:比赛时,D,E两题都不会写,然后抱着试一试的态度对E分析,对于第i天,若其他天与该天是没有重合的,那么很明显是不合法的即"impossible",因此试着交了一发,结果过了,hhh,果断就是白给,加分美滋滋( ̄▽ ̄)~*关于任意两天都有交集就一定有解 大佬博客:https://www...原创 2019-05-20 01:03:46 · 263 阅读 · 0 评论 -
Codeforces Round #560 (Div. 3)-题解
地址:https://codeforces.com/contest/1165A. Remainder思路:后x位中,其中只有后第y+1位为1,其余全是0才是合法,因此根据这个来判断后x位不合法的个数即可Code:#include<iostream>#include<algorithm>using namespace std;typedef long ...原创 2019-05-16 13:32:57 · 211 阅读 · 0 评论 -
计蒜客-2019 蓝桥杯国赛 B 组模拟赛-游戏
思路:想做下计蒜客的模拟赛,结果TM竟然还要收费。。。因此只能在网上找了篇博客做下了:https://www.cnblogs.com/fisherss/p/10857705.html1.首先 c + d = 2*a + b - a = a + b = mod2.d = b - a = b - (mod - b) = 2*b - mod = 2*b %mod所以 b-a也就等价于 ...原创 2019-05-22 13:37:01 · 227 阅读 · 0 评论 -
计蒜客-2019 蓝桥杯国赛 B 组模拟赛-公约数
输入格式第一行输入两个整数 n,k。第二行输入n个整数ai 。输出格式输出一个整数。数据范围样例输入14 32 4 8 3样例输出12样例输入24 24 8 6 6样例输出26思路:我还做过一样的题,还写了博客51nod-1179 最大的最大公约数竟然又忘了QAQ,好吧,再写一遍。。。对于最大公约数一定在 1-Max(数组最大值)中...原创 2019-05-22 13:51:47 · 229 阅读 · 0 评论 -
Codeforces Round #566 (Div. 2)-E. Product Oriented Recurrence
地址:https://codeforces.com/contest/1182/problem/E思路:矩阵快速幂fn=c^(2n−6)⋅f(n−1)⋅f(n−2)⋅f(n−3)=c^sc * f1^s1 * f2^s2 * f3^s3因此分别算出s1,s2,s3和sc的值即可算出 fn而由f4开始按照fn=c^(2n−6)⋅f(n−1)⋅f(n−2)⋅f(n−3)=c^sc *...原创 2019-06-12 13:20:10 · 450 阅读 · 0 评论 -
2018年icpc南京站 J-Prime Game
思路:博客:https://www.cnblogs.com/dilthey/p/9985010.html考虑每个质因子对于整体答案的贡献。拿第二组样例算一算就不难发现:第pp个位置上的数,其包含的任意一个素因子,它原本应当产生的贡献有(n−p+1)⋅p(n−p+1)⋅p,但是考虑到若其前面出现过一样的素数,那么应当减去一些重复计算的区间。假设它前面的和它一样的素数,最后一...转载 2019-08-28 15:12:25 · 189 阅读 · 0 评论 -
牛客小白月赛8-C 神秘钥匙
地址:https://www.nowcoder.com/acm/contest/214/C思路:题目公式为 ans=C(1,n)*1+C(2,n)*2+...+C(n-1,n)*(n-1)+C(n,n)*nans-n=C(1,n)*1+C(2,n)*2+...+C(n-1,n)*(n-1)将右边反向相加得 2*(ans-n)=(C(1,n)*1+C(n-1,n)*(n-1))+(C...原创 2018-10-21 15:55:27 · 355 阅读 · 0 评论 -
HDU-5984-Pocky
地址:http://acm.hdu.edu.cn/showproblem.php?pid=5984思路:dalao博客:https://blog.csdn.net/jay__bryant/article/details/81188557原创 2018-10-08 17:29:39 · 392 阅读 · 0 评论 -
51nod-1119 机器人走方格 V2
1119 机器人走方格 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。Input第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 100000...原创 2018-04-04 21:26:36 · 150 阅读 · 0 评论 -
51nod-1098 最小方差
1098 最小方差 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注若x1,x2,x3......xn的平均数为k。则方差s^2 = 1/n * [(x1-k)^2+(x2-k)^2+.......+(xn-k)^2] 。方差即偏离平方的均值,称为标准差或均方差,方差描述波动程度。给出M个数,从中找出N个数,使这N个数方差最小。Input第1行:2个数...原创 2018-04-11 22:23:35 · 242 阅读 · 0 评论 -
51nod-1073 约瑟夫环
1073约瑟夫环基准时间限制:1秒 空间限制:131072KB 分值:0难度:基础题收藏关注N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。Input2个数N和K,表示N个人,数到K出列。(2<...原创 2018-03-21 19:49:18 · 236 阅读 · 0 评论 -
牛客-n的约数(约数定理)
n的约数时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述 t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数 输入描述:第一行一个正整数t之后t行,每行一个正整数n输出描述:输出t行,每行一个整数,表示答案 链接:https://www.nowcoder...原创 2018-03-31 12:28:09 · 592 阅读 · 0 评论 -
51nod-1013 3的幂的和(乘法逆元)
1013 3的幂的和 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注求:3^0 + 3^1 +...+ 3^(N) mod 1000000007Input输入一个数N(0 <= N <= 10^9)Output输出:计算结果Input示例3Output示例40思路:列举前几个可以看出 ans= (f(n)+(f(n)-1)/2 )%MOD...原创 2018-03-30 22:33:34 · 161 阅读 · 0 评论 -
51nod-1352 集合计数
1352 集合计数 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注给出N个固定集合{1,N},{2,N-1},{3,N-2},...,{N-1,2},{N,1}.求出有多少个集合满足:第一个元素是A的倍数且第二个元素是B的倍数。提示:对于第二组测试数据,集合分别是:{1,10},{2,9},{3,8},{4,7},{5,6},{6,5},{7,4},...原创 2018-04-07 21:02:41 · 261 阅读 · 0 评论 -
51nod-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表示后面输入的质数及模的数量。(2 <= N <= 10)第2 - N + 1行...原创 2018-03-13 21:39:52 · 141 阅读 · 0 评论 -
蓝桥杯-矩形面积交
基础练习 矩形面积交 时间限制:1.0s 内存限制:512.0MB 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。 输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。 ...原创 2018-03-05 20:49:28 · 249 阅读 · 0 评论 -
蓝桥杯-斐波那契(快速矩阵幂)
历届试题 斐波那契 时间限制:1.0s 内存限制:256.0MB 问题描述 斐波那契数列大家都非常熟悉。它的定义是: f(x) = 1 .... (x=1,2) f(x) = f(x-1) + f(x-2) .... (x> 2) 对于给定的整数 n 和 m,我们希望求出: f(1) + f(2) + ......原创 2018-03-05 20:08:45 · 1797 阅读 · 0 评论 -
51nod-1035 最长的循环节
1035 最长的循环节 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注正整数k的倒数1/k,写为10进制的小数如果为无限循环小数,则存在一个循环节,求<=n的数中,倒数循环节长度最长的那个数,假如存在多个最优的答案,输出所有答案中最大的那个数。1/6= 0.1(6) 循环节长度为11/7= 0.(142857) 循环节长度为61/9= 0.(1...原创 2018-04-12 16:19:38 · 237 阅读 · 0 评论 -
51nod-1116 K进制下的大数
1116 K进制下的大数 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注有一个字符串S,记录了一个大数,但不知这个大数是多少进制的,只知道这个数在K进制下是K - 1的倍数。现在由你来求出这个最小的进制K。例如:给出的数是A1A,有A则最少也是11进制,然后发现A1A在22进制下等于4872,4872 mod 21 = 0,并且22是最小的,因此输出...原创 2018-04-12 18:59:34 · 224 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛-G-Give Candies
地址:https://nanti.jisuanke.com/t/31716思路:手算出n=4,5的结果可以发现 答案就是 2^(n-1) ,但是这里的 n<=10^100000就算用快速幂也会超时,因此需要用费马小定理: a^(p-1)=1 (mod p) ,将 n对(MOD-1)取模后-1 ,然后再用快速幂即可Code :#include<cstdio>#i...原创 2018-09-19 20:50:54 · 225 阅读 · 0 评论 -
Wannafly挑战赛24-A,B,C
A-石子游戏:https://www.nowcoder.com/acm/contest/186/A思路:对于大于1的奇数分析,对于3 可以分为1,2,然后2与其他偶数合并,总共2次;考虑最后的偶数也与其他偶数合并,那么对于5可以分成 1,4 (2次)和 3,2 (4次),7和分为 1,6(2次),3,4(4次)和 5,2(6次)可以发现大于1的奇数的操作次数都是偶数次,那么说明奇数对于结果...原创 2018-09-18 17:10:10 · 475 阅读 · 0 评论 -
Educational Codeforces Round 49 (Rated for Div. 2)-C. Minimum Value Rectangle
地址:http://codeforces.com/contest/1027/problem/C思路:由 p^2/s = 4*(a+b)*(a+b)/(a*b)= 8+4*(a*a+b*b)/(a*b) ,将 a[]由小到大排序,遍历A[n]数组,找最小的比值,容易知道只当a=b时有最小比值,当a!=b时,设a<b 需要找相邻的a,b即可(因为当a相同,推出 a*a<b*b1,又...原创 2018-08-19 21:05:04 · 165 阅读 · 0 评论 -
51nod-1319 跳跃游戏
思路:利用三角形三边关系 a+b>c,a-b<c将a[n]往后循环一遍,将x变为正数,预处理出a[2*n]的前缀和sum[2*n]若x>=sum[n],则直接ans+=n*(x.sum[n]); x%=sum[n]; 相当于机器人一直沿x轴跳跃将x缩小到sum[n]内,在遍历前缀和1-->n,当x<=sum[i]时,表示 a+b=sum[i]>x,可构成...原创 2018-08-07 19:14:44 · 238 阅读 · 0 评论 -
51nod-1103 N的倍数
1103 N的倍数 题目来源: Ural 1302基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数。例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数。Input第1行:1个数N,N为数组的长度,同时也是要求的倍数。(2 ...原创 2018-05-08 11:32:31 · 282 阅读 · 0 评论 -
51nod-1135 原根
1135 原根 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根。(其中φ(m)表示m的欧拉函数)给出1个质数P,找出P最小的原根。Input输入1个质数P(3 <= P <= 10^9)Output输出P最小的原根。Input示例3Output示例2Code :/*设 m...原创 2018-04-29 20:37:55 · 145 阅读 · 0 评论