[数论、题]
Probie Tao
这个作者很懒,什么都没留下…
展开
-
C - 良心出题人又来啦 ! Gym - 241030C
这个题主要是:①素筛②费马二平方定理费马二平方定理:除了 2 以外 素数可以分为两类 :一类可以表示为a^2 + b^2这种形式的素数集合,和另一类不能表示为这种形的素数集合。而可以表示为```a2+b2这种 mod4 结果为1.#include <iostream>#include<bits/stdc++.h>using namespace std;co...原创 2019-06-01 20:02:31 · 257 阅读 · 0 评论 -
数论 质因子分解+最大独立集合
该题是求二分图, 最大独立集。最大独立集合 == 节点数 — 最小点覆盖(最小点覆盖== 最大匹配)。所以就要构造 出二分图:通过 某个数的质因子乘积个数 划分二分图。#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn = 500010;const int MAX...原创 2019-08-18 00:07:54 · 181 阅读 · 0 评论 -
lightoj 1341 Aladdin and the Flying Carpet(唯一分解定力)
1、题目要求①有一个矩形的毛毯面积为a, 不可能是方形②给小边的边长下限b让你求出毛毯的边长有几种可能。2、思路:因为一定不可能是方形 所以 不存在 b×b ==a 的情况所以只要根据 唯一分解定理 求出所有因子 ret。然后 ret/=2,就得到在忽略条件②情况下,所有可能的结果最后就减去 小边 小于b的情况,就是答案算数基本定力、唯一分解定力:ac代码#include&l...原创 2019-08-18 15:31:51 · 144 阅读 · 0 评论 -
Bi-shoe and Phi-shoe(欧拉函数模板题)
https://www.csdn.net/link/?target_url=https%3A%2F%2Fvjudge.net%2Fproblem%2FLightOJ-1370&id=71192453&token=b8b8a5128d97274aa569f02eb01ee1e0#include <iostream>#include<cstdio>#inc...原创 2019-08-17 19:52:44 · 122 阅读 · 0 评论 -
E - Exponial Gym - 101550E——(欧拉降幂)
ab = ① ab ,b< p ②ab%∮( p )+∮( p ), b >= p题目链接本题利用知识点:欧拉降幂(指数>= Mod 的情况)快速幂递归#include<iostream>#i...原创 2019-09-03 19:50:54 · 101 阅读 · 1 评论 -
CF——1189C——(前缀和+数学思维)
题目链接/*********根据题意 就是 sum(l..r)整除10对于 a,b,c,d 这个数列注:/ 为整除sum/10 = (a+b+c+d)/10 = (a+b)/10+(c+d)/10+ ((a+b)%10+(c+d)%10)/10****************/#include<bits/stdc++.h>using names...原创 2019-09-03 20:50:33 · 683 阅读 · 0 评论 -
FZU-1759——(欧拉降幂,模板题)
题目链接思路:因为指数非常大,用long long 都存不下, 所以要用数组存, 然后在通过欧拉降幂取模是指数变小,在通过快速幂求结果注:这里只用到了欧拉降幂中 指数大于等于模数的情况#include<iostream>#include<cstring>#define ll long longusing namespace std;const int max...原创 2019-09-04 17:06:18 · 332 阅读 · 0 评论 -
O - GCD - Extreme (II)————欧拉函数+数论基本定理
题目要求:链接题目 给你一个N, 让你求如图这个G。其实可以看成该题利用唯一分解定理,判断一个数j 和小于j的数 gcd 为 i 的个数可以百度唯一分解定理(即数论基本定理)#include<iostream>#include<map>#include<cstdio>#include<cstring>#define ll long...原创 2019-09-08 19:51:28 · 187 阅读 · 0 评论 -
P - Code Feat————中国剩余定理+枚举
题解#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxc = 15;ll c, s;// c个式子 要s个答案ll total, bestc;ll x[15], k[15], y[15][105];set<ll>vis[15];void init()...转载 2019-09-08 22:19:14 · 179 阅读 · 0 评论 -
Pairs Forming LCM(素因子分解+lcm)唯一分解定理+组合数学
/****唯一分解定理+组合数学:先不管a <=b ************/#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll maxn = 1e7+50;bool vis[maxn];int pr[maxn/2];ll len = 0;void ...原创 2019-08-22 11:02:51 · 117 阅读 · 0 评论 -
组合+乘法逆元
#include<iostream>#define ll long longusing namespace std;// x*x^-1%mod == 1ll exgcd(ll a, ll b, ll &x, ll &y)// ax+by == gcd(a, b){ ll res; if(b == 0) { x = 1;...原创 2019-08-15 11:07:49 · 115 阅读 · 0 评论 -
数学——技巧——判断阶乘尾部有多少个0
对于n的阶乘, 末尾有多少个0一、朴素做法:朴素做法就是求出n!。然后每次对10去摸, 再除以10。就比如55! = 120;fac = 5!ans = 0;while(1){ if(fac%10 == 0)ans++; else break; fac/=10;}这种做法的弊端是, n不能太大, n太大 n的阶乘无法储存。二、想一下n!阶乘末尾的0取决于什么?对...原创 2019-08-25 15:18:38 · 1725 阅读 · 0 评论 -
A - LCM from 1 to n
#include<bits/stdc++.h>#define unint unsigned intusing namespace std;const int maxn = 1e8+5;const int M = 6000005;const int SHIFT = 5;const int RADIX = (1<< SHIFT)-1;int bitmap[(ma...原创 2019-08-13 21:27:55 · 104 阅读 · 0 评论 -
D - Sigma Function(算数基本定理+思维)
题目http://lightoj.com/volume_submit.php?problem=1336唯一分解定力一个正整数: 可以表示为 N = p1a1 + p2a2+…pnan因子和可以表示为 sum = (1+p11+…p1a1)(1+p2…)…(1+pn+…pnn);①如果因子和是偶数只要得到其中一个(1+p1 …pnn)内是偶数就行, 那么就要求有几个这样的数②或者可以考虑...原创 2019-08-19 08:51:22 · 411 阅读 · 0 评论 -
E - Leading and Trailing(快速幂+思维)
这个题妙在用double 来处理 前三位这个题妙在用double 来处理 前三位```cpp#include<iostream>#include<cstdio>#define ll long longusing namespace std;ll qpow(ll a, ll b, ll mod){ ll base = a;// 2^0 ...原创 2019-08-19 09:47:06 · 115 阅读 · 0 评论 -
数论——I - Tetration 极限
1、题目:https://cn.vjudge.net/problem/1148808/origin2、放两张图解释:∞a = N;最低端 a的指数也是∞a 所以 指数也等于N代码#include<bits/stdc++.h>using namespace std;int main(){ double N; cin>>N; ...原创 2019-08-19 19:42:26 · 325 阅读 · 0 评论 -
K - Large Division(模拟大数取余)
题目:K - Large Division LightOJ - 1214/**********用字符串 模拟大数取余*************/#include<bits/stdc++.h>using namespace std;const int maxn = 204;char a[maxn];long b;long Mod(int i){ long r...原创 2019-08-23 10:28:16 · 204 阅读 · 0 评论 -
J - Mysterious Bacteria(唯一分解定理)
light OJ 1220/**********x = b^p, 求p最大是多少唯一分解定理 : N = P1^a1+p2^a2+.....pn^an;对于正整数 p = gcd(a1, a2, a3,....an);对于负整数 gcd1 = gcd(a1, a2, a3, an);如果gcd1 是偶数 要除以2 直到 变成奇数 (因为 一个数b的偶数次方 不可能为负数...原创 2019-08-23 10:11:54 · 178 阅读 · 0 评论 -
LightOJ-1234(数论——水题——打表)
题目链接/***********内存有限的时候间隔打标*************/#include<bits/stdc++.h>using namespace std;const int maxn = 2e6+5;double H[maxn];int main(void){ double ret = 0; for(int i = 1;i <...原创 2019-08-23 08:49:11 · 102 阅读 · 0 评论 -
Trailing Zeroes (III) 数学思维+二分
题目链接:http://lightoj.com/volume_showproblem.php?problem=1138/*********二分查找n! 末尾有几个零, 其实就是 1~n中 有几个因子 5和因子2, 因为只素因子 5 和2的乘积 == 10 , 才会使末尾加一个0,(因为n内 2的因子个数肯定比5多 所以只考虑5就行了)***********/#include<...原创 2019-08-25 14:34:00 · 107 阅读 · 0 评论 -
Uva1191————思维+bsgs算法
可以看这篇博客#include<bits/stdc++.h>#define ll long longusing namespace std;const ll Mod = 100000007;struct node{ ll x,y;};vector<node>v;bool cmp(node a, node b){ if(a.y == b.y...原创 2019-09-13 22:38:39 · 106 阅读 · 0 评论