- 博客(53)
- 收藏
- 关注
原创 第73期:图论-2022/7/19学习报告
对于边权只有0和1的最短路问题,可以使用双端队列BFS求解,复杂度。对于二分的判定,dijkstra求最短路,复杂度。
2022-07-20 15:24:37
296
1
原创 第68期:数学-数论-埃氏筛
参考关于埃氏筛法详解_1900_的博客-CSDN博客_埃氏筛埃氏筛法时间复杂度:const int maxn=1e6+6;bool isprime[maxn];void sieve(){ for(int i=0;i<=maxn;i++) isprime[i]=true; isprime[0]=isprime[1]=false; for(int i=2;i<=maxn;i++){//从2开始往后筛 if(isprime[i]){ for(int j=2*i;j
2022-04-01 20:32:38
319
原创 第61期:图论-最小生成树-Kruskal算法
最小生成树浅谈 - 呢没理他 - 博客园1.【模板】最小生成树 - 洛谷并查集+kruskal#include<bits/stdc++.h>using namespace std; const int maxn=1e6;int n,m;//点数,边数 int u[maxn],v[maxn],w[maxn];//第i条边的两个端点序号和权值int r[maxn];//排序后第i小的边的序号 int p[maxn];//i的根结点 int ans,num;int .
2022-03-18 09:24:23
148
原创 第58期:Educational Codeforces Round 119 (Rated for Div. 2)
A. Equal or Not Equaltags:constructive algorithms dsu implementation *800solution:code:#include<bits/stdc++.h>using namespace std;int t;string s;int main(){ cin>>t; while(t--){ cin>>s; cout<<(count(s....
2022-03-17 19:29:26
240
原创 第55期:Codeforces-Round #776 (Div. 3)
A. Deletions of Two Adjacent Letterstags: implementation stringssolution:code:#include<bits/stdc++.h>using namespace std;int main(){ int t;cin>>t; while(t--){ char s[100]; string s1;char c; cin>>(s+1)>>s...
2022-03-15 00:03:44
179
原创 第54期:Codeforces-Round #775 (Div. 2, based on Moscow Open Olympiad in Informatics)
solved: BA. Gametags: implementationsolution:比赛时没有认真读题,理解成了可以无限跨水跳,但是实际题意是只能不超过跳一次。code:#include<bits/stdc++.h>using namespace std;void solve(){ int n,a[110]; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; int l=1,..
2022-03-07 13:02:39
238
原创 第48期:图论-最短路-Dijkstra算法
1. bellman-ford算法参考:Bellman-ford算法详解——负权环分析_anlian523的博客-CSDN博客_bellman-ford
2022-03-06 16:50:21
141
原创 第51期:Codeforces-Round #762 (Div. 3)
A. Square String?tags: implementation; strings; *800solution:简单模拟code:#include<bits/stdc++.h>using namespace std;void solve(){ string s; cin>>s; int n=s.length(); if(n&1){ cout<<"NO\n"; return; } bool flag=true;
2022-03-05 23:47:22
56
原创 第50期:Codeforces-Round #764 (Div. 3)
A. Plus One on the Subsettags: math; *800solution:ans=max{a[i]|1<=i<=n}-min{a[i]|1<=i<=n}code:#include<bits/stdc++.h>using namespace std;const int maxn=50+5; int t;int n,a[maxn];int main(){ ios::sync_with_stdio(0); cin.
2022-03-05 22:25:25
83
原创 第49期:Codeforces-Round #774(Div.2)
A. Square Counting思路:意思就是s最多包含多少个。#include<bits/stdc++.h>#define int long longusing namespace std;int t,n,s;signed main(){ cin>>t; while(t--){ cin>>n>>s; cout<<s/(n*n)<<endl; } return 0;} B. Qualit
2022-03-05 18:02:17
59
原创 第47期:图论-BFS
1. 迷宫的最短路径(bfs求最短路)#include<bits/stdc++.h>using namespace std;const int INF=1<<31-1;const int N=100+10;//使用pair表示状态时,使用typedef会更加方便一些typedef pair<int,int> P;//输入char maze[N][N];//表示迷宫的字符串的数组int n,m;int sx,sy;//起点坐标int gx,gy;/
2022-03-04 00:05:47
65
原创 第46期:图论-DFS
1. [USACO10OCT]Lake Counting S - 洛谷(DFS求连通块)#include<bits/stdc++.h>using namespace std;const int maxn=100+10;int n,m; char field[maxn][maxn];//园子//现在位置(x,y)void dfs(int x,int y){ //将现在所在位置替换为. field[x][y]='.'; //循环遍历移动的8个方向 for(int dx=
2022-03-03 21:53:30
139
原创 第44期:数据结构-单调队列
参考:单调队列 - OI Wiki1. P1886 滑动窗口 /【模板】单调队列#include<bits/stdc++.h>#include<stack>using namespace std;const int maxn=1e6+5;int read(){ int x=0,f=1;char c=getchar(); while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();} while(c<='9
2022-03-03 00:29:19
517
原创 第43期:数据结构-单调栈
参考:单调栈 - OI Wiki1. P5788 【模板】单调栈#include<bits/stdc++.h>#include<stack>using namespace std;const int maxn=3e6+5;int read(){ int x=0,f=1;char c=getchar(); while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();} while(c<='9'&&a
2022-03-02 23:36:23
73
原创 第42期:数据结构-队列
参考:队列 - OI Wiki1. P1540 [NOIP2010 提高组] 机器翻译#include<bits/stdc++.h>#include<queue>using namespace std;queue<int> q;map<int,bool> mp;int m,n,cnt;int main(){ cin>>m>>n; for(int i=1;i<=n;i++){ int t;.
2022-03-02 21:26:25
239
原创 第41期:数据结构-栈
参考:栈 - OI Wiki1. P4387 【深基15.习9】验证栈序列#include<bits/stdc++.h>#include<stack>using namespace std;const int maxn=1e5+10;int a[maxn],b[maxn];int main(){ int T,n; cin>>T; while(T--){ stack<int> s; int k=1; cin>.
2022-03-02 18:57:35
292
原创 第40期:数据结构-字符串-字典树
参考:夜深人静写算法(七)- 字典树Code_Templates/字典树 字母模板.cpp at master · WhereIsHeroFrom/Code_Templates (github.com)夜深人静写算法(七)- 字典树1.字典树实现a.字典树结点字典树结点包括三个信息:结尾标记、前缀数量、子结点列表,定义如下:#include<bits/stdc++.h>using namespace std;const int trie_node_count=26;.
2022-03-02 00:07:28
137
原创 第39期:数据结构-字符串-KMP
参考:从头到尾彻底理解KMP(2014年8月22日版)_结构之法 算法之道-CSDN博客_从头到尾彻底理解kmp数据结构KMP算法配图详解(超详细)_哈顿之光的博客-CSDN博客_数据结构kmp1.P3375 【模板】KMP字符串匹配#include<bits/stdc++.h>using namespace std;const int maxn=1e6+10;int kmp[maxn];int la,lb,j;char a[maxn],b[maxn];int ma
2022-03-01 17:28:26
257
原创 第37期:蓝桥杯-第九届蓝桥杯省赛A组题解
J 结账问题(25)贪心:2018年第九届蓝桥杯C/C++A组省赛(最后一题) - MXR_alone - 博客园#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define ll long long#define num ch-'0'#define ld long double #def
2022-02-21 21:00:58
637
原创 第36期:蓝桥杯-第十届蓝桥杯第二场省赛A组题解
参考资料2019年第十届蓝桥杯省赛A组(C/C++组)题目分析+赛后总结+题解答案_薛崇祥的博客-CSDN博客蓝桥杯第十届软件类省赛C/C++大学A组 题目、答案及其解析_Lmonan的博客-CSDN博客A 平方和(5)答案:2658417853#include<bits/stdc++.h>#define int long long using namespace std;int ans;signed main(){ for(int i=1;i<=2
2022-02-18 20:44:57
592
原创 第32期:蓝桥杯-第十一届蓝桥杯国赛A组题解
参考资料2020年第十一届蓝桥杯大赛软件类决赛(国赛) C/C++ 大学A组【题面】_nefu_ljw的博客-CSDN博客_蓝桥杯c++a组国赛A 合数个数(5)答案:1713#include<bits/stdc++.h>using namespace std;bool ishe(int x){ if(x==1&&x==2) return true; bool flag=true; for(int i=2;i<=sqrt(x);i++){
2022-02-17 16:01:59
434
原创 第33期:蓝桥杯-第十二届蓝桥杯省赛A组题解
参考资料2021年第十二届蓝桥杯省赛A组题解(C/C++)_薛崇祥的博客-CSDN博客_蓝桥杯2021省赛a组A 卡片(5)答案:3181#include<bits/stdc++.h>using namespace std;int a[10],i,flag;int main(){ for(i=1;;i++){ int x=i; while(x){ a[x%10]++; x/=10; } for(int j=0;j<10;j++){
2022-02-17 16:01:02
518
原创 第31期:蓝桥杯-第十一届蓝桥杯省赛A组题解
目录参考资料A 门牌制作(5)B 既约分数(5)C 蛇形填数(10)D 七段码(10)E 平面分割(15)F 成绩分析(15)G 回文日期(20)H 子串分值(20)I荒岛探测(25)J 字串排序(25)参考资料A 门牌制作(5)答案:624#include<bits/stdc++.h>using namespace std;int main(){ int ans=0; for(int i=1;i<=2020;i..
2022-02-14 00:36:09
434
原创 第30期:蓝桥杯练习-2022/2/13
1 砝码称重【第十二届】【省赛】【A组】背包问题#include<bits/stdc++.h>#define int long longusing namespace std;const int N=1e6+100;const int INF=0x3f3f3f3f;int n,sum;int w[1010];int res;bool dp[1010][201010];//记录所有的情况 signed main(){ ios::sync_with_stdio(fa
2022-02-13 14:38:51
240
原创 第29期:蓝桥杯练习-2022/2/12
1.第十一届省赛A组 H 字串分值第十一届蓝桥杯省赛 A组 试题H:子串分值_m0_46252199的博客-CSDN博客#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#define ll long longusing namespace std;const int N=1e5+5,M=1e5+5;int pre[N],ne[N],ans;in
2022-02-13 00:28:34
7228
原创 第25期:Codeforces-Educational Codeforces Round 119 (Rated for Div. 2) (1620 A-G)
A. Equal or Not Equal
2022-02-11 17:36:33
599
原创 第24期:dp——多段图的最短路
1 UVA116 单向TSP Unidirectional TSP设置状态:设d(i,j)为从格子(i,j)出发到最后一列的最小开销。在满足最优性的前提下,在计算d(i,j)的同时记录“下一列的行号”的最小值。
2022-02-10 23:25:42
196
原创 第22期:图论——最短路
1. Dijkstra算法适用范围:计算正权图上的单源最短路(Single-Source Shortest Paths,SSSP)。同时适用于有向图和无向图。模板题:P4779 【模板】单源最短路径(标准版)#include<bits/stdc++.h>using namespace std;const int maxn=1e6+100;const int INF=0x7fffffff;struct Dijkstra{ struct Edge{ int from, t
2022-02-10 00:30:12
346
原创 第21期:图论模型与算法——最小生成树(MST)
1. Kruskal算法const int maxn=1e6;int n,m;//点数,边数 int u[maxn],v[maxn],w[maxn];//第i条边的两个端点序号和权值int r[maxn];//排序后第i小的边的序号 int cmp(const int i,const int j){ return w[i]<w[j]; }//间接比较函数int find(int x){//并查集的find return p[x]==x?x:p[x]=find(p[x]);} i
2022-02-09 21:32:53
261
原创 第20期:图论模型与算法——再谈树
1无根树转有根树问题:输入一个n个结点的无根树的各条边,并指定一个根结点,要求把该树转化为有根树,输出各个结点的父结点编号。。用vector数组存边#include<bits/stdc++.h>using namespace std;const int maxn=1e6+100;vector<int> G[maxn];int n,root;int p[maxn];//vector数组存无根树 void read_tree(){ int u,v; sc.
2022-02-09 16:57:35
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人