数论
四光年
算法无止境!
展开
-
HDU1060 数论
注意会发生溢出,用long long思想:转换成N*log10(N)#include <bits/stdc++.h>using namespace std;#define ll long long#define INF 0x3f3f3fint main(){ int T; cin >> T; while(T--) { ll n; c...原创 2018-11-01 23:59:20 · 107 阅读 · 0 评论 -
全排列算法
一:c++ STLnext_permutation和prev_permutationbool next_permutation(iterator start,iterator end)next_permutation是求字典序的下一个排列,prev_permutation是求字典序的上一个排列。如果当前序列存在下一个序列,那么next_permutation返回的是ture,否则返...原创 2019-04-10 17:07:27 · 83 阅读 · 0 评论 -
矩阵任意局部转置不变
http://codeforces.com/contest/1136/problem/CC. Nastya Is Transposing Matricestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputN...原创 2019-03-17 18:37:08 · 952 阅读 · 0 评论 -
矩阵快速幂 洛谷1306
第一道矩阵快速幂,其实就是普通的快速幂再加上一个矩阵乘法就行了。 对斐波那契序列有gcd(f[a],f[b])=f(gcd(a,b)),c++有一个函数__gcd(注意是两个_);#include <bits/stdc++.h>#include <algorithm>using namespace std;#define inf 0x3f3f3f3f#de...原创 2019-02-27 08:30:29 · 159 阅读 · 0 评论 -
二分找6点定球心 交互题
https://acm.ecnu.edu.cn/contest/140/problem/A/A. 回收卫星单测试点时限: 1.0 秒内存限制: 256 MB“这个世上没有无用的齿轮,也只有齿轮本身能决定自己的用途。”就像太空中的卫星,虽然不计其数,但都各司其职。但没有一个东西是能够永远无损的。为了便于回收及修理,卫星在故障后会生成一个球形的星场,与之配对的感应器能判断其是否...原创 2019-02-24 16:31:25 · 155 阅读 · 0 评论 -
进制转换末尾0问题
https://acm.ecnu.edu.cn/problem/3679/ 3679. 进制转换描述 统计 讨论区 单测试点时限: 2.0 秒内存限制: 256 MB“他觉得一个人奋斗更轻松自在。跟没有干劲的人在一起厮混,只会徒增压力。”QQ 小方决定一个人研究研究进制转换。很快,QQ 小方就遇到问题了。他现在想知道在十进制范围 [l,r] 内有多少整数满足在 k 进...原创 2019-02-24 15:24:26 · 942 阅读 · 0 评论 -
N!转换成B进制,末尾0的个数
http://codeforces.com/contest/1114/problem/CC. Trailing Loves (or L'oeufs?)time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe...原创 2019-02-11 16:44:37 · 416 阅读 · 0 评论 -
洛谷3383 线性筛选
#include <bits/stdc++.h>using namespace std;const int maxn=1e8+1;int vis[maxn];int main(){ int n,m; scanf("%d%d",&n,&m); //下面这部分代码的优化很好 int t=sqrt(n+0.5); for(int i=2;i<...原创 2019-01-26 16:49:31 · 152 阅读 · 0 评论 -
平面上有n个点,问:平面上所有三角形面积第k大的三角形的面积是多少?
链接:https://ac.nowcoder.com/acm/contest/327/A来源:牛客网 处女座的签到题时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述平面上有n个点,问:平面上所有三角形面积第k大的三角形的面积是多少?输入描述:第一行T,表示样例的个...原创 2019-01-24 22:35:52 · 495 阅读 · 0 评论 -
求一个因数因子的个数
对于任何一个自然数NN,都可以分解质因子得到如下形式:N=pe11∗pe22∗pe33∗⋯∗pekkN=p1e1∗p2e2∗p3e3∗⋯∗pkek 那么,NN的因子的个数为:f(n)=(1+e1)∗(1+e2)∗⋯∗(1+ek)f(n)=(1+e1)∗(1+e2)∗⋯∗(1+ek)。 如N=100N=100,分解质因子变形为:100=22∗52100=22∗52,NN的因子的个数为...原创 2018-12-23 17:02:21 · 12113 阅读 · 8 评论 -
求两个数之间的所有公因数
题目:求两个大数之间的所有公因数,a,b<=1e13思路:先求出最大公因数temp,a和b的其他因数一定是最大公因数的因数。 简单的证明: temp1设为最小因数(temp1*temp=a*b) 则b=temp1*temp/a &a=temp1*temp/b因为temp1是最小的因数,所以说temp一定是a或b的倍数。 这个时候就转换成了枚举temp所有的因数 i*...原创 2018-12-23 16:52:50 · 6361 阅读 · 0 评论 -
求逆元求组合公式(有取余)
https://blog.csdn.net/weixin_40149887/article/details/79861045求解方法:先算出n!%p、m!%p、(n-m)!%p,用fac[i]表示 i!%p 的值 因为组合数取模是(n!)/(m!(n-m)!)%p,因此需要计算出m!%p、(n-m)!%p的逆元,根据费马小定理,m!%p、(n-m)!%p的逆元分别是(m!)^(p-2)、...转载 2018-11-29 15:46:19 · 372 阅读 · 0 评论 -
hdu1081 二维矩阵的最大块和
收获:对于一维的一串序列,数组里面的每一个位置记录的是一开始的数到这个数的加和,那么算一段区间(i,j]的加和的话就相当于求a[j]-a[i]。这种思路也可以应用到二维矩阵的每一列上。本题思路:遍历每一个点固定这个点x(i,j),然后从这个点开始向右下方开始遍历,固定另外一个点,求这一块长方形的面积,然后进行比较。#include <bits/stdc++.h>usi...原创 2018-11-08 16:00:30 · 249 阅读 · 0 评论 -
关于整数划分
转载别人的,写的很好的文章 有N多情况的整数划分,下面就几种这几天学习的分别说一下:1. 数n的划分中,其最大值不能大于k:记其结果为f(n, k),那么,状态转移方程:当 n == 1 || k == 1 时,f(n, k) == 1, n为1,那么只能为1; 而k为1,那么只能划分成n个1. 当 n < k 时,f(n, k) == f(n, n),因为n的划分中不可能出现比n...转载 2018-11-08 14:09:32 · 196 阅读 · 0 评论 -
hdu1066 阶乘最后一个非0数
你只有非常努力,才能看起来毫不费力。收获:1:不要在函数里面(尤其是递归函数里面)定义较大空间的变量,可能会爆栈!!!!可能会出现未知错误!!! 不要在函数里面(尤其是递归函数里面)定义较大空间的变量,可能会爆栈!!!!可能会出现未知错误!!! 不要在函数里面(尤其是递归函数里面)定义较大空间的变量,可能会爆栈!!!!可能会出现未知错误!!!2:一种判断数据...原创 2018-11-07 21:37:16 · 270 阅读 · 0 评论 -
隔板法
高中的隔板法2^(n-1)题目描述某天你舍友过生日,你们宿舍其他人一起买了个蛋糕,寿星公将蛋糕分成n份,准备分给你们宿舍共n人. 但因为他是寿星公,所以他可以为所欲为,他决定依次按照床号顺序分随机份蛋糕给这个人,但至少分一块出去,问有多少种分配方案? ...原创 2018-11-06 21:08:43 · 1541 阅读 · 0 评论 -
约瑟夫环
http://codeforces.com/gym/101955/problem/K2018沈阳区域赛的一个题,我可真是菜,wa了无数发。目前遇到的约瑟夫的两个问题:n个人组成一个圈,开始从1喊道k。喊k的人出局。问最后剩的序号是几?f(n)=(f(n-1)+k)%n。f(n)表示的是n个人最后剩下的人的序号(0-n-1) 求第m个出局的人的序号。f(n,m)=( f(n-1,m-1...原创 2019-08-16 23:05:48 · 119 阅读 · 0 评论