随笔分类 -  算法学习

摘要:#include<bits/stdc++.h> using namespace std; string a,b; void getmul(){ vector<int>v(a.size()+b.size()-1);///两个数相乘位数最多为两个数位数相加,又数组从0开始记录所以减一 for(int i 阅读全文
posted @ 2020-08-29 12:24 mohari 阅读(142) 评论(0) 推荐(0)
摘要:定义 在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目。符号为φ(x)。例如φ(8)=4,因为1,3,5,7均和8互质。 通式 , (其中p1, p2……pn为x的所有质因数,x是不为0的整数) 定义 φ(1)=1(和1互质的数(小于等于1)就是1本身)。 通式可以理解为利用乘 阅读全文
posted @ 2020-08-24 01:26 mohari 阅读(738) 评论(0) 推荐(0)
摘要:先贴个整数快速幂 #include<bits/stdc++.h> using namespace std; typedef long long int ll; ll b,p,k,ans=1,res; int main(){ scanf("%lld%lld%lld",&b,&p,&k); cout<< 阅读全文
posted @ 2020-05-23 23:48 mohari 阅读(123) 评论(0) 推荐(0)
摘要:无向图,检测有无环,可以用并查集 #include<bits/stdc++.h> using namespace std; const int maxn=1e4; vector<pair<int,int> >a(maxn); int parent[maxn]; int rank_[maxn]; in 阅读全文
posted @ 2020-05-21 21:52 mohari 阅读(293) 评论(0) 推荐(0)
摘要:djsl+优先队列求单源最短路。 #include<bits/stdc++.h> using namespace std; typedef long long int ll; const int maxn=5*1e5+5; vector<pair<ll,ll> >v[maxn]; ll dis[ma 阅读全文
posted @ 2020-05-20 00:16 mohari 阅读(127) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-19 21:43 mohari 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-17 18:25 mohari 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-17 18:22 mohari 阅读(0) 评论(0) 推荐(0)
摘要:问题1.判断有没有环 http://hihocoder.com/problemset/problem/1174 用vector模拟邻接表,开一个记录入度的一维数组,一个存储入度为0的队列 ac代码如下 #include<iostream> #include<algorithm> #include<v 阅读全文
posted @ 2020-05-15 16:57 mohari 阅读(128) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-13 23:15 mohari 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-12 15:10 mohari 阅读(0) 评论(0) 推荐(0)
摘要:今天在B站学习了线段树,up主讲得很清晰。 引入:我们在一个数组中如果想更新一个数据的值,记为update,所用的时间复杂度是o(1),而求某一段区间的端点值之和,记为query,时间复杂度是o(n)。 求某一段区间的长度之和可以采用端点前缀和相减,建立一个前缀和数组,[l,r]的值等于sum[r] 阅读全文
posted @ 2020-05-11 23:33 mohari 阅读(136) 评论(0) 推荐(0)