自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 读入挂模板 常用

inline int read() { char ch = getchar(); int x = 0, f = 1; while(ch < '0' || ch > '9') {if(ch == '-') f =...

2019-04-07 13:19:59

阅读数 50

评论数 0

原创 二叉树根据前序和中序确定后续 中序后续确定前序

前序和中序确定后序 a// 前序 b// 中序 void getpost(int root,int start,int end) { if(start>end) return ; int i=start; while(i<end&&b[i]!...

2019-11-06 14:46:40

阅读数 10

评论数 0

原创 Tempter of the Bone hdu 1010 (奇偶剪枝)

Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, ...

2019-10-28 21:05:25

阅读数 10

评论数 0

原创 poj3641 快速幂+米勒罗宾

Description Fermat's theorem states that for any prime numberpand for any integera> 1,ap=a(modp). That is, if we raiseato thepthpower and di...

2019-10-24 11:05:15

阅读数 11

评论数 0

原创 整除分块

对于求解以上公式时 不难发现 n/i等于k时 n往往是连续一段段的 那么就可以计算这个长度直接乘 使得复杂度由O(n)降到了O(sqrt(n)) ans=0; for(int l,r;i<=n;l=r+1) { r=n/(n/l); ans+=(r-l+1)*(n...

2019-09-27 20:21:50

阅读数 6

评论数 0

原创 Space Ant 极角排序

题意:给定n个点,任意两点不在一个x轴和y轴上,输出一条能经过最多点的路线,就下面这图,每次只能左转,实际就是外面一圈包进去, 选择一个最外侧点,对剩下点做极角排序,一个个点选下去。能保证每个点都经过。 #include<stdio.h> #include<io...

2019-09-25 21:00:20

阅读数 7

评论数 0

原创 hdu5667 Sequence (矩阵快速幂+费马小定理)

Sequence Sample Input 1 5 3 3 3 233 Sample Output 190 题解: 根据递推式可以发现,答案是以a为底数的一个值,所以对指数部分做快速幂得到k,最后答案就是qpow(a,k)%mod 根据递推式易得构造矩阵 fn ...

2019-09-10 19:26:18

阅读数 17

评论数 0

原创 矩阵快速幂板子

ll a0,a1,p,q,k; struct matrix { ll a[2][2]; matrix() { memset(a,0,sizeof a); } }; matrix operator *(const matrix &x,cons...

2019-09-09 21:11:45

阅读数 14

评论数 0

原创 BM求线性递推 快速推线性数列第n项

BM模板(杜教版): #include<bits/stdc++.h> #include <unordered_map> using namespace std; typedef long long ll; typedef vector<long long> ...

2019-09-09 13:19:07

阅读数 19

评论数 0

原创 最长公共子序列&&最长公共子串 模板 LCS

最长公共子序列 int lcs(char a[],char b[]) { int i , j , k , w , ans , l , r , mid ; for( i = 0 ; i < 26 ; i++) location[i].clear() ; fo...

2019-08-30 15:26:00

阅读数 15

评论数 0

原创 Dijkstra模板 最短路最小花费

struct dij { int n; const int inf = 0x3f3f3f3f; int maps[maxn][maxn]; int d[maxn], v[maxn]; int Dijkstra(int s, int t) { ...

2019-08-30 15:09:58

阅读数 13

评论数 0

原创 主席树板子(静态,区间第k大,小)

#include<bits/stdc++.h> using namespace std; const int N = 1e5 + 5; int n, m, x, y, k; class zhuxishu { private: int a[N], cnt, root[N]; ...

2019-08-27 16:16:42

阅读数 13

评论数 0

原创 Miller_rabin板子 快速判断是否素数

板子,除了这个算法不保证一定正确,效率很高,错误率很低可以忽略不记 如果用这个板子出现了wa而不是tle的时候,可以适当增加_time的次数 const int _time=5; ll multi(ll a, ll b, ll mod) { ll ret = 0; while...

2019-08-22 15:03:58

阅读数 19

评论数 0

原创 HDU 6659 Acesrc and Good Numbers

Problem Description Acesrc is a famous mathematician at Nanjing University second to none. Playing with interesting numbers is his favorite. Today, ...

2019-08-14 17:02:09

阅读数 49

评论数 0

原创 拓展欧几里得算法

求下列方程的一组解: ax + by = gcd(a, b) 当gcd(a, b) = 1,即a, b互质的时候,这个方程的解实际上就对应了a关于模b的逆元。 给出伪代码 Input: a, b Output: a solution to ax + by = gcd(a, b) 1: f...

2019-08-13 10:51:45

阅读数 28

评论数 0

原创 c++ distance unique

函数distance()用来处理两个迭代器之间的距离 Dist distance(pos1,pos2); 传回来的是两个迭代器之间的距离 两个迭代器必须指向同个容器 对于random access迭代器,此函数仅仅只是传回pos2-pos1,复杂度为常数级别; 对于其他迭代器类型,dis...

2019-08-06 11:32:59

阅读数 30

评论数 0

原创 快速幂之欧拉降幂

求a^b(mod p)的值 ,当b很大很大很大很大很大的时候,可以使用欧拉降幂 欧拉定理:若n,a为正整数,且n,a互质,则: 拓展: 那么根据欧拉定理,可以求得φ(n)的值: ll euler_phi(ll n) { ll k = (ll)sqrt(n + 0.5); ...

2019-08-02 20:34:11

阅读数 74

评论数 0

原创 十进制快速幂 模板

ll pow ( ll a, ll b, ll n ) { while(n) { if(n&1) b=b*a; a=a*a; n>>=1; } return b; } ll tenpow() {...

2019-08-02 14:17:09

阅读数 53

评论数 0

原创 牛客多校 generator 1

题意:求fn的第1e10e6项,用广义欧拉降幂了半天都wa,后来才知道时十进制快速幂,nnd第一次知道这玩意 构造矩阵: |a,b| |1,0| 然后跑一下十进制快速幂就好了 #include<bits/stdc++.h> using namespace std; ...

2019-08-02 13:21:09

阅读数 34

评论数 0

原创 HDU6050 Funny Function 矩阵快速幂

Funny Function Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1693Accepted Submission(s): 859 ...

2019-08-02 10:07:57

阅读数 19

评论数 0

原创 ZOJ Summer 2018 1020

#include <deque> There is a deque of sizenand you want to use it now, but unfortunately it's not empty yet. So, before using it, you&...

2019-08-02 10:07:33

阅读数 23

评论数 0

原创 ST和RMQ 区间最值

ST(Sparse Table)和 RMQ(Range Minimum/Maximum Query) 对于长度为n的数列A,回答若干次询问RMQ(i,j),返回数列A中下标在区间[i,j]中的最小/大值。一般我们用ST算法解决这样的问题。ST(Sparse Table)算法可以在O(nlogn)...

2019-07-31 10:38:46

阅读数 15

评论数 0

原创 杭电多校 Fansblog

Fansblog Time Limit: 2000/2000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 3170Accepted Submission(s): 671 Prob...

2019-07-30 09:57:39

阅读数 40

评论数 0

原创 威尔逊定理 及其拓展

定理: 证明: 拓展应用:

2019-07-29 20:55:19

阅读数 53

评论数 0

原创 C - Emergency Evacuation

题目链接:GYM108082 题意:一群人从位置上通过逃生通道离开,通道不能并行,只能单人有序通行,求全部人出去的最小时间 题解:每个人的路线都是固定的,那么只要前方有空位就走,没空位就等着,然后我们考虑一下每个人的路线,如果这两个人在没有阻挡的情况下,到达终点的时间是是一样的话,那么...

2019-07-29 11:04:22

阅读数 22

评论数 0

原创 线段树 | 单点,区间更新(set,add) | 区间最大值,最小值,区间和

#include <bits/stdc++.h> using namespace std; typedef long long LL; const LL Inf=1LL<<62; const int maxn=1e5+5; int T,n,m; struct segemen...

2019-07-19 21:01:25

阅读数 15

评论数 0

原创 zoj Heltion and Triangle

对边排个序,由小到大开始三个三个遍历,求到面积最大的一个 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e5+5; ll s[maxn]; int n,m; ...

2019-07-15 14:42:18

阅读数 21

评论数 0

原创 zoj Sky_miner and Odious Number

1, 2, 4, 7, 8, 11, 13, 14, 16, 19, 21, 22, 25, 26, 28, 31, 32, 35, 37, 38, 41, 42, 44, 47, 49, 50, 52, 55, 56, 59, 61, 62, 64, 67, 69, 70, 73, 74, 76...

2019-07-11 14:30:12

阅读数 13

评论数 0

原创 Wheat

#include<bits/stdc++.h> using namespace std; #define Inc(i,L,r) for(register int i=(L);i<=(r);++i) #define Red(i,r,L) for(register int i=(r)...

2019-07-10 21:42:30

阅读数 18

评论数 0

原创 Miner's Necklace

#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int maxn=1e6+5; int n,m; int s[maxn],t...

2019-07-10 20:43:15

阅读数 20

评论数 0

原创 ZOJ Summer 2018 #include <list>

For a sequenceX.Xn+1= (a*Xn+c) %p. Now givena,c,X0,n,p, you need to calculateXn. Input The first line contains an integerT, indicating that there a...

2019-07-08 19:06:19

阅读数 25

评论数 0

原创 斐波那契第n项,快速幂,玄学算法

斐波那契快速幂 下面的神仙代码的构造矩阵是 | 1 0 | | 0 1 | 留着用来当模板。 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll&g...

2019-07-08 11:20:40

阅读数 70

评论数 0

原创 Saber

Saber is a Class in the Holy Grail War. This Class is regarded as one of the most powerful Class. Saber is a tree-lover. She loves all kinds of tr...

2019-07-06 13:05:34

阅读数 63

评论数 0

原创 阿力的第三场难题

A:算贪心 两个数组排个序瞎搞搞就行了 #include <bits/stdc++.h> using namespace std; const int maxn=0x3f3f3f3f; int n, a[50005], b[50005], ans = maxn, maxn, cm...

2019-06-21 23:00:17

阅读数 26

评论数 0

原创 点分治

#include<bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f int n,m,len=0,Size; struct node{int x,y,z,next;}; node e[20010]; int firs...

2019-06-21 15:30:17

阅读数 8

评论数 0

原创 FWT 快速沃尔什变换

void fwt(ll *a, int op) { for (int cnt_pre = 1, cnt_cur = 2; cnt_pre < tot; cnt_pre <<= 1, cnt_cur <<= 1) for (int i = 0; ...

2019-06-21 15:29:59

阅读数 20

评论数 0

原创 阿力的第二场难题

A: 本意是当签到题,但是可能低估了这题的难度 在线标记处理二分查找 #include <bits/stdc++.h> using namespace std; const int maxn = 1000005; int n, w[maxn]; bool vis[maxn]; ...

2019-06-20 22:50:58

阅读数 48

评论数 0

原创 HDU - 5909 Tree Cutting FWT+树形dp(点分治不会)

Byteasar has a treeTTwithnnvertices conveniently labeled with1,2,...,n1,2,...,n. Each vertex of the tree has an integer valuevivi. The value of a non...

2019-06-04 17:01:00

阅读数 23

评论数 0

转载 pc上体验灭霸响指的快感

这个命令会随机“删掉”您一半的文件。。 请不要在家里或其他地方使用。这是真家伙,要小心… 你可以在Story.md文件里发布你的故事,期待中… https://github.com/hotvulcan/Thanos.sh 文件下载地址 解压缩后点击这个文件进行你的第一次尝试 ...

2019-06-03 19:38:19

阅读数 32

评论数 0

原创 Angel's Journey(圆外一点到圆上一点的距离,不经过圆内)

#include<bits/stdc++.h> using namespace std; typedef long long ll; const double pi=acos(-1.0); double rx,ry,r,x,y; double s; double len1(double...

2019-05-26 15:40:54

阅读数 67

评论数 0

提示
确定要删除当前文章?
取消 删除