-
个人简介
3000 2999 2997 2994
//快速排序 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N=1e6+10; int n,a[N]; void quick_sort(int l,int r){ //出口 if(l>=r) return ; int base=a[l+r>>1],i=l,j=r;//左边 <=base <=右边 while(i<j){ while(a[i]<base)i++; while(a[j]>base)j--;//a[i]>=base,a[j]<=base if(i<=j)swap(a[i],a[j]),i++,j--; } //递归关系 quick_sort(l,j);//左边 quick_sort(i,r);//右边 } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } quick_sort(1,n); for(int i=1;i<=n;i++){ cout<<a[i]<<"\n"[i==n]; } return 0; }
#include<iostream> #include<algorithm> #include<cstring> using namespace std; int s(int n){ for(int i=2;i*i<=n;i++){ if(n%i==0) return 0; } return 1; } string a[1000005]; int main(){ int n,m=0; cin>>n; for(int i=2;i<n;i++){ for(int j=i;j<n;j++){ int k=n-i-j; if(j<=k){ if(s(i)&&s(j)&&s(k)){ m+=1; char n1=n-'0'; a[m]=a[m]+n1+'='+'i'+'+'+'j'+'+'+'k'; break; } }else{ break; } } } cout<<m; for(int i=1;i<=m;i++){ cout<<a[i]<<endl; } return 0; }
C++ Queues(队列)
C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。
back() 返回最后一个元素 empty() 如果队列空则返回真 front() 返回第一个元素 pop() 删除第一个元素 push() 在末尾加入一个元素 size() 返回队列中元素的个数 C++ Stacks(堆栈)
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。
操作 比较和分配堆栈 empty() 堆栈为空则返回真 pop() 移除栈顶元素 push() 在栈顶增加元素 size() 返回栈中元素数目 top() 返回栈顶元素 //差分 #include<iostream> using namespace std; const int N=1e5+10; int n,m,k,a[N],dif[N]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) dif[i]=a[i]-a[i-1]; int l,r,c; while(m--){ cin>>l>>r>>c; dif[l]+=c; dif[r+1]-=c; } for(int i=1;i<=n;i++) dif[i]+=dif[i-1]; for(int i=1;i<=n;i++) printf("%d ",dif[i]); return 0; } /* win+r>>mspaint-----调出画图 差分:i 1 2 3 4 5 6 ai 1 2 3 1 2 1 dif 1 1 0 -1 1 -1 前缀S 1 2 2 1 2 1 对差分数组求前缀和,得原数组。 */
/* int st[N], hh; // 数组模拟栈 st[++hh] = x; // 入栈 hh--; // 出栈 st[hh] // 栈顶 hh==0 // 判空 int que[N], hh, tt=-1; que[++tt] = x; // 入队 ++hh; // 出队 que[hh] // 队首 que[tt] // 队尾 tt - hh == -1 // 判空 stack<int> st; queue<int> que; C++参考手册:https://www.shouce.ren/api/c/ */
//欧拉筛法 #include<bits/stdc++.h> using namespace std; const int N=1e8,M=5761455+10;//6e6 bool st[N];//bitset<N> st; int pri[M],pn; void ss(int n) { st[0]=st[1]=1; for(int i=2;i<=n;i++){ if(!st[i]) pri[++pn]=i; for(int j=1;pri[j]<=n/i;j++){ st[i*pri[j]]=1; if(i%pri[j]==0) break; } } } int main() { cout<<(sizeof(st)+sizeof(pri))*1.0/1024/1024<<"MB"<<endl; ss(1e8); cout<<pn<<" "<<pri[pn]<<endl; for(int i=1;i<=100;i++) cout<<pri[i]<<" "; return 0; }
二叉树性质: 1.
//P1178二叉树的遍历 #include<iostream> #include<algorithm> using namespace std; const int N=50; int st[N]; struct Node{ char c;//根 int l,r;//l左,r右 }tr[N];//造成树 void pre(int u){ if(u==0) return; cout<<tr[u].c; pre(tr[u].l); pre(tr[u].r); }//前序遍历 void in(int u){ if(u==0) return; in(tr[u].l); cout<<tr[u].c; in(tr[u].r); }//中序遍历 void post(int u){ if(u==0) return; post(tr[u].l); post(tr[u].r); cout<<tr[u].c; }//后序遍历 int main(){ int n,l,r; char c; cin>>n; for(int i=1;i<=n;i++){ cin>>c>>l>>r; tr[i]={c,l,r}; st[l]=st[r]=1; } int rt=1; for(int i=1;i<=n;i++){//标记,找根 if(!st[i]){ rt=i; break; } } pre(rt); cout<<endl; in(rt); cout<<endl; post(rt); cout<<endl; return 0; }
//vector容器 #include<iostream> #include<algorithm> #include<vector> using namespace std; vector<int>a; vector<int>b(10); vector<int>c(10,1); int main(){ for(int i=0;i<10;i++)a.push_back(i); for(int i=0;i<10;i++)b[i]=i; for(int i=0;i<10;i++)cout<<a[i]<<" "; cout<<endl; for(int i=0;i<10;i++)cout<<b[i]<<" "; cout<<endl; for(int i=0;i<10;i++)cout<<c[i]<<" "; cout<<endl; return 0; } /* int x=111, pos=1, n=10; vec.push\_back(x); // 末尾添加数据 x vec.pop\_back(); // 末尾删除元素 vec.insert(vec.begin()+pos,x); // 在第pos个位置前插入 x vec.front(); // 首位元素 vec.back(); // 末位元素 vec.empty(); // 是否为空 vec.size(); // 返回元素数 vec.resize(n); // 将长度设置为 n vec.reserve(n); // 将空间设置为 n个元素大小 vec.capacity(); // 返回空间容量,最大能存放元素个数 vec.clear(); // 清空 vec.begin(); // 开始指针,指向第一个元素的位置 vec.end(); // 末尾指针,指向最后一个元素的下一个位置 vec[1]; // 下标访问,并不会检查是否越界 */
堆:
//堆 #include<bits/stdc++.h> #include<queue> using namespace std; priority_queue<int> q;//默认大顶堆 priority_queue<int,vector<int>,less<int>> q2;//大顶堆 ,容器vector,比较函数 less priority_queue<int,vector<int>,greater<int>> q3;//小顶堆 ,容器vector,比较函数 greater //pop() 移除栈顶元素 //push() 在栈顶增加元素 //size() 返回栈中元素数目 //top() 返回栈顶元素 int main(){ for(int i=1;i<=10;i++) q2.push(rand()%17); while(q2.size()){ auto u=q2.top();q2.pop(); cout<<u<<endl; } return 0; }
//双指针模板 for(int i=1,j=1;j<=n;j++){ while(j<=m&&xxx) j++; } #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N=66; int n,k,ans,a[N]; void dfs(int u,int v,int s) { } int main() { cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+1+n,greater<int>()); for(len=1;len<=sum;len++){ if(sum%len)cotinue; cnt=sum/len; if(dfs(1,0,0)) break; } return 0; }
#include<bits\stdc++.h> using namespace std; const int N=10; int g[N][N],m[N]; int n,t,x,y; abc(){ vector<int> d(N,1e8); d[x]=0; for(int i=1;i<=n;i++){ int u=-1; for(int j=1;j<=n;j++){ if(!m[j]&&(u==-1||d[u]>d[j]))u=j; } if(u==-1)break; m[u]=1; for(int j=1;j<=n;j++){ int v=j,w=g[u][j]; if(d[v]>d[u]+w){ d[v]=d[u]+w; } } } return d[y]; } int main() { cin>>n>>t; for(int i=1;i<=t;i++){ int a,b,l; cin>>a>>b>>l; g[a][b]=g[b][a]=l; } // for(int i=1;i<=m;i++){ // for(int j=1;j<=m;j++){ // cout<<g[i][j]<<" "; // } // cout<<endl; // } cin>>x>>y; int s=abc(); if(s>1e7){ cout<<"No path"; }else{ cout<<s; } return 0; }
-
通过的题目
- P1
- P2
- P6
- P7
- P8
- P9
- P10
- P12
- P13
- P14
- P15
- P16
- P18
- P19
- P20
- P21
- P22
- P23
- P24
- P25
- P26
- P27
- P28
- P29
- P30
- P31
- P32
- P33
- P34
- P36
- P37
- P41
- P42
- P43
- P44
- P45
- P46
- P48
- P52
- P54
- P55
- P56
- P57
- P59
- P61
- P62
- P64
- P65
- P75
- P76
- P78
- P82
- P83
- P85
- P88
- P89
- P101
- P108
- P109
- P110
- P115
- P136
- P137
- P143
- P154
- P155
- P156
- P157
- P161
- P162
- P167
- P183
- P186
- P187
- P188
- P189
- P190
- P191
- P195
- P201
- P202
- P203
- P212
- P214
- P220
- P228
- P241
- P246
- P248
- P249
- P256
- P258
- P267
- P273
- P275
- P276
- P277
- P281
- P283
- P284
- P295
- P304
- P308
- P310
- P317
- P319
- P320
- P328
- P329
- P335
- P337
- P340
- P355
- P385
- P390
- P402
- P418
- P427
- P429
- P431
- P432
- P433
- P436
- P442
- P454
- P456
- P464
- P466
- P483
- P487
- P495
- P496
- P502
- P511
- P514
- P517
- P533
- P541
- P561
- P562
- P606
- P613
- P614
- P615
- P616
- P617
- P643
- P661
- P663
- P667
- P668
- P672
- P680
- P682
- P683
- P684
- P685
- P687
- P692
- P700
- P701
- P702
- P703
- P707
- P713
- P714
- P716
- P717
- P731
- P732
- P733
- P738
- P739
- P740
- P741
- P743
- P744
- P748
- P760
- P761
- P763
- P768
- P769
- P773
- P785
- P786
- P787
- P790
- P805
- P817
- P821
- P828
- P829
- P859
- P862
- P867
- P868
- P876
- P884
- P885
- P889
- P893
- P896
- P901
- P902
- P903
- P905
- P913
- P917
- P930
- P949
- P952
- P958
- P970
- P984
- P996
- P1009
- P1023
- P1047
- P1048
- P1049
- P1057
- P1064
- P1076
- P1077
- P1092
- P1096
- P1110
- P1114
- P1128
- P1137
- P1138
- P1139
- P1153
- P1157
- P1158
- P1160
- P1161
- P1162
- P1163
- P1164
- P1166
- P1178
- P1179
- P1180
- P1207
- P1209
- P1307
- P1564
- P1568
- P1599
- P1666
- P1868
- P1876
- P1888
- P1898
- P1899
- P1900
- P1901
- P1902
- P1934
- P1938
- P1939
- P1940
- P1941
- P1965
- P1967
- P1968
- P1970
- P1971
- P1977
- P1983
- P1997
- P2001
- P2002
- P2003
- P2005
- P2006
- P2007
- P2009
- P2011
- P2012
- P2013
- P2015
- P2019
- P2020
- P2022
- P2023
- P2024
- P2035
- P2038
- P2039
- P2043
- P2044
- P2045
- P2059
- P2078
- P2113
- P2114
- P2130
- P2131
- P2140
- P2143
- P2144
- P2149
- P2161
- P2209
- P2221
- P2228
- P2233
- P2234
- P2235
- P2256
- P2260
- P2261
- P2266
- P2268
- P2269
- P2270
- P2271
- P2272
- P2273
- P2274
- P2276
- P2277
- P2281
- P2306
- P2307
- P2349
- P2351
- P2352
- P2353
- P2407
- P2420
- P2569
- P2636
- P2640
- P2641
- P2642
- P2646
- P2651
- P2652
- P2666
- P2668
- P2684
- P2708
- P2709
- P2717
- P2719
- P2763
- P2810
- P2814
- P2820
- P2843
- P2852
- P2859
- P2860
- P2861
- P2895
- P2896
- P2920
- P2926
- P2927
- P2943
- P2945
- P2958
- P2967
- P2993
- P2994
- P2995
- P2996
- P2997
- P2998
- P3001
- P3002
- P3003
- P3004
- P3005
- P3006
- P3035
- P3170
- P3177
- P3205
- P3206
- P3207
- P3208
- P3305
- P3465
- P3529
- P3566
- P3606
- P3616
- P3677
- P3692
- P3707
- P3952
-
最近活动
- 2024年国庆C2025&G2027届赛前训练 IOI
- 2024年国庆C2025&G2027届常规训练 IOI
- 2024年8月31日月末测试(C2025届&C2026届) OI
- 2024年8月普及组初赛模拟题 OI
- C2024&C2025届2024年暑假知识巩固赛 乐多
- 2024年7月3日C2025届周末测试 乐多
- 2024年6月5日~初二~为高考加油哦 乐多
- 2024年5月2日~主打一个随心 IOI
- 2024年4月30日~假期快乐~ IOI
- 图论基础 作业
- 20240404_速度赛 作业
- 搜索剪枝 作业
- 搜索基础 作业
- C2025届2024年3月2日开学赛 乐多
- C2025届2024年2月18日知识巩固赛 乐多
- C2025届2024年2月8日新春赛 乐多
- C2025届2024年2月4日立春赛 OI
- C2026届2024年1月31日新年赛~Happy New Year OI
- C2025届2024年1月30日欢乐赛~Happy OI
- 7.dfs 作业
- C2025届2024年1月27日-寒假集训 作业
- C2026届2023年12月31日元旦跨年赛 OI
- C2025届2023年12月31日元旦跨年赛 OI
- C2026届2023年12月顺序结构练习 作业
- 6.栈_队列 作业
- 5.二分 作业
- C2026届2023年11月练习 作业
- C2025届2023年11-12月练习 作业
- C2025届2023年11月18日练习_排序 作业
- 教师练题之循环 作业
- C2025届2023年10月20日练习_STL 作业
- C2025届2023年国庆练习(20231005) OI
- C2024届2023年中秋节练习(20230930) IOI
- C2025届2023年中秋节练习(20230930) IOI
- C2025届2023年国庆前练习(20230928) IOI
- 2023年初赛知识练习(20230915) OI
- 2023年CSP-J练习(20230830) OI
- 2023年暑期初赛知识练习(20230829) OI
- C2025届2023年暑期CSP-J练习(20230828) OI
- 2023年暑期初赛知识练习(20230813) OI
- C2025届2023年暑期练习 作业
- C2025届普及组二阶(上)练习(20230725) OI
- C2024届二阶(下)测试题(20230723) OI
- C2025届普及组一阶测试(校本部20230718) OI
- C2025届普及组一阶总复习(20230715) 作业
- C2025届普及组一阶测试(20230715) OI
- C2025届普及组一阶基础知识测试(20230704) IOI
- C2025届普及组一阶中期测试(20230605) OI
- C2025届循环结构练习3周六班(20230521) 作业
- C2025届循环结构练习2周六班(20230516) 作业
- C2025届选择结构练习周六班(20230413) 作业
题目标签
- 基础语法
- 117
- 分支问题
- 39
- 简单循环
- 38
- 基础问题
- 36
- 顺序结构
- 33
- 二维数组
- 25
- 递归
- 24
- 普及组
- 21
- 搜索
- 21
- dfs
- 21
- 字符串
- 20
- noip
- 19
- 结构体
- 19
- 动态规划
- 18
- 需要找规律的循环
- 17
- dp
- 17
- 数组问题
- 16
- 入门
- 15
- 其他
- 15
- 挖土机
- 15