-
个人简介
You can you up,no can no bb.
全排列问题
#include<bits/stdc++.h> using namespace std; const int N=22; int n,m,a[N],st[N]; void solve(){ for(int i=1;i<=n;i++){ a[i]=i; } do{ for(int i=1;i<=n;i++){ cout<<setw(5)<<a[i]; } cout<<endl; }while(next_permutation(a+1,a+n+1)); } int main() { cin>>n; solve(); return 0; }
#include<bits/stdc++.h> using namespace std; const int N=22; int n,m,a[N],st[N]; void dfs(int u){ if(u>n){ for(int i=1;i<=n;i++){ cout<<setw(5)<<a[i]; } cout<<endl; return; } for(int i=1;i<=n;i++){ if(!st[i]){ st[i]=1,a[u]=i,dfs(u+1); st[i]=0; } } } int main() { cin>>n; dfs(1); return 0; }
二叉树
先序
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; }
根据前序中序求后序
#include<bits/stdc++.h> using namespace std; //substr(i,k) 截取下标从i开始连续k个元素 //substr(i) 截取下标i开始后面所有元素 //substr(i,N) 截取下标从i开始后面所有条件 void dfs(string a,string b){ if(a.size()==0) return; char rt=a[0]; int k=b.find(rt); dfs(a.substr(1,k),b.substr(0,k)); dfs(a.substr(1+k),b.substr(k+1)); cout<<rt; } int main(){ string a,b,c; cin>>a>>b; dfs(a,b); return 0; }
根据中序后序求先序
#include<bits/stdc++.h> using namespace std; void dfs(string b,string c){ if(b.size()==0) return; char rt=c.back(); int k=b.find(rt); cout<<rt; dfs(b.substr(0,k),c.substr(0,k)); dfs(b.substr(1+k),c.substr(k,c.size()-k-1)); } int main(){ string b,c; cin>>b>>c; dfs(b,c); return 0; }
树的公共祖先
#include<bits/stdc++.h> using namespace std; const int N=1110; int n,m,g[N][N],dep[N],st[N],f[N]; void dfs(int x,int d){ dep[x]=d; for(int i=1;i<=n;i++){ if(g[x][i]){ f[i]=x; dfs(i,d+1); } } } int main(){ int x,y,a,b; cin>>n>>x>>y; for(int i=1;i<n;i++){ cin>>a>>b; g[b][a]=1,st[a]=1; } int rt=1; for(int i=1;i<=n;i++){ if(!st[i]){ rt=i; break; } } dfs(rt,1); while(dep[x]>dep[y]) x=f[x]; while(dep[x]<dep[y]) y=f[y]; while(x!=y) x=f[x],y=f[y]; cout<<x; return 0; }
树的公共祖先(2)
#include<bits/stdc++.h> using namespace std; const int N=1110; int n,m,g[N][N],dep[N],st[N],f[N]; void dfs(int u){ for(int v=1;v<=n;v++){ if(g[u][v]){ g[v][u]=0,dep[v]=dep[u]+1,f[v]=u; dfs(v); } } } int lca(int x,int y){ while(x!=y){ if(dep[x]>dep[y]) x=f[x]; else y=f[y]; } return x; } int main(){ int x,y,a,b; cin>>n>>x>>y; for(int i=1;i<n;i++){ cin>>a>>b; g[a][b]=g[b][a]=1; } dfs(1); cout<<lca(x,y); return 0; }
树的高度
#include<bits/stdc++.h> using namespace std; const int N=1110; int n,g[N][N]; int dfs(int u){ int c=0; for(int v=1;v<=n;v++){ if(g[u][v]){ c=max(c,dfs(v)); } } return c+1; } int main(){ int a,b; cin>>n; while(cin>>a>>b){ g[a][b]=1; } cout<<dfs(1); return 0; }
双指针模板
for(int i=1,j=1;i<=n;i++){ while(j<=m&&xxx) j++; }
-
通过的题目
- P1
- P2
- P5
- P6
- P7
- P8
- P9
- P10
- P11
- P12
- P13
- P14
- P15
- P16
- P18
- P19
- P20
- P21
- P22
- P23
- P24
- P25
- P26
- P27
- P28
- P29
- P30
- P31
- P32
- P33
- P34
- P35
- P36
- P37
- P38
- P39
- P40
- P41
- P42
- P43
- P44
- P45
- P46
- P47
- P48
- P49
- P50
- P52
- P53
- P54
- P55
- P56
- P57
- P58
- P59
- P60
- P61
- P62
- P64
- P65
- P66
- P67
- P68
- P69
- P70
- P71
- P72
- P73
- P74
- P77
- P80
- P82
- P83
- P85
- P86
- P88
- P89
- P90
- P91
- P92
- P93
- P94
- P95
- P96
- P98
- P99
- P100
- P101
- P108
- P109
- P110
- P113
- P115
- P118
- P119
- P120
- P121
- P127
- P129
- P130
- P137
- P148
- P149
- P152
- P154
- P155
- P158
- P166
- P167
- P168
- P169
- P175
- P180
- P181
- P182
- P183
- P184
- P188
- P190
- P191
- P220
- P221
- P224
- P231
- P241
- P243
- P244
- P246
- P249
- P253
- P258
- P259
- P260
- P264
- P267
- P268
- P273
- P276
- P277
- P282
- P283
- P284
- P294
- P296
- P297
- P298
- P299
- P300
- P301
- P302
- P304
- P306
- P307
- P308
- P309
- P310
- P314
- P317
- P319
- P320
- P321
- P326
- P328
- P334
- P335
- P337
- P338
- P342
- P345
- P348
- P355
- P360
- P385
- P387
- P388
- P389
- P390
- P391
- P402
- P405
- P410
- P413
- P414
- P415
- P416
- P417
- P419
- P423
- P431
- P432
- P436
- P444
- P456
- P458
- P459
- P460
- P461
- P464
- P466
- P487
- P488
- P489
- P491
- P495
- P496
- P502
- P505
- P506
- P508
- P510
- P511
- P512
- P514
- P517
- P533
- P541
- P550
- P555
- P561
- P562
- P593
- P594
- P595
- P596
- P597
- P598
- P599
- P600
- P602
- P603
- P604
- P605
- P606
- P607
- P608
- P609
- P610
- P611
- P612
- P613
- P614
- P615
- P616
- P617
- P618
- P619
- P620
- P621
- P622
- P623
- P624
- P625
- P626
- P627
- P628
- P629
- P630
- P631
- P632
- P633
- P634
- P635
- P636
- P637
- P638
- P639
- P640
- P641
- P642
- P643
- P644
- P645
- P652
- P653
- P654
- P655
- P656
- P657
- P658
- P659
- P661
- P663
- P664
- P665
- P666
- P667
- P668
- P669
- P670
- P671
- P672
- P673
- P674
- P675
- P676
- P677
- P680
- P682
- P683
- P684
- P692
- P693
- P694
- P695
- P696
- P697
- P698
- P699
- P700
- P701
- P702
- P703
- P704
- P705
- P706
- P707
- P708
- P709
- P710
- P711
- P712
- P713
- P714
- P715
- P716
- P717
- P718
- P719
- P720
- P722
- P729
- P731
- P732
- P733
- P737
- P738
- P739
- P740
- P741
- P742
- P743
- P744
- P745
- P748
- P760
- P761
- P768
- P769
- P773
- P778
- P779
- P780
- P781
- P782
- P783
- P784
- P786
- P787
- P800
- P804
- P805
- P808
- P809
- P821
- P824
- P828
- P829
- P832
- P841
- P842
- P856
- P857
- P859
- P862
- P863
- P866
- P867
- P868
- P876
- P877
- P878
- P895
- P904
- P905
- P913
- P949
- P954
- P955
- P956
- P958
- P959
- P960
- P961
- P962
- P964
- P965
- P966
- P967
- P968
- P969
- P970
- P971
- P972
- P975
- P976
- P979
- P980
- P982
- P983
- P984
- P993
- P1009
- P1010
- P1011
- P1012
- P1020
- P1024
- P1034
- P1036
- P1037
- P1057
- P1058
- P1064
- P1077
- P1085
- P1091
- P1092
- P1110
- P1114
- P1123
- P1127
- P1128
- P1132
- P1137
- P1143
- P1153
- P1157
- P1158
- P1160
- P1161
- P1162
- P1163
- P1164
- P1166
- P1178
- P1179
- P1180
- P1200
- P1307
- P1599
- P1740
- P1775
- P1865
- P1866
- P1868
- P1876
- P1888
- P1898
- P1899
- P1900
- P1901
- P1902
- P1923
- P1932
- P1933
- P1934
- P1938
- P1939
- P1940
- P1941
- P1965
- P1966
- P1967
- P1968
- P1970
- P1977
- P1978
- P1983
- P1997
- P2001
- P2002
- P2003
- P2005
- P2007
- P2009
- P2010
- P2011
- P2012
- P2013
- P2014
- P2015
- P2017
- P2018
- P2019
- P2020
- P2022
- P2023
- P2024
- P2027
- P2028
- P2035
- P2037
- P2038
- P2039
- P2043
- P2044
- P2045
- P2059
- P2078
- P2113
- P2130
- P2161
- P2201
- P2206
- P2209
- P2214
- P2221
- P2233
- P2234
- P2235
- P2236
- P2252
- P2260
- P2261
- P2268
- P2269
- P2270
- P2273
- P2274
- P2276
- P2277
- P2281
- P2286
- P2306
- P2307
- P2349
- P2351
- P2352
- P2356
- P2358
- P2360
- P2380
- P2407
- P2420
- P2636
- P2637
- P2640
- P2641
- P2642
- P2646
- P2651
- P2652
- P2666
- P2668
- P2684
- P2701
- P2708
- P2709
- P2710
- P2711
- P2715
- P2717
- P2732
- P2734
- P2735
- P2756
- P2762
- P2772
- P2814
- P2820
- P2834
- P2843
- P2852
- P2859
- P2860
- P2861
- P2894
- P2895
- P2896
- P2900
- P2904
- P2906
- P2907
- P2926
- P2927
- P2943
- P2945
- P2958
- P2967
- P3952
-
最近活动
- 2024年8月31日月末测试(C2025届&C2026届) OI
- 2024年8月普及组初赛模拟题 OI
- C2025届2024年2月18日知识巩固赛 乐多
- C2025届2024年2月8日新春赛 乐多
- C2026届2024年1月31日新年赛~Happy New Year OI
- C2025届2024年1月30日欢乐赛~Happy OI
- 7.dfs 作业
- C2026届2024年1月27日-寒假集训 作业
- C2025届2024年1月27日-寒假集训 作业
- C2025届2023年12月31日元旦跨年赛 OI
- C2026届2023年12月分支结构练习 作业
- C2026届2023年12月顺序结构练习 作业
- 6.栈_队列 作业
- 5.二分 作业
- C2026届2023年11月练习 作业
- C2025届2023年11-12月练习 作业
- C2025届2023年11月18日练习_排序 作业
- 教师练题之一维数组 作业
- 教师练题之循环 作业
- C2025届2023年10月20日练习_STL 作业
- C2025届2023年国庆练习(20231003) IOI
- C2025届2023年国庆练习(20231005) OI
- 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届暑期二阶上练习题(20230730) OI
- C2025届普及组二阶(上)练习(20230725) OI
- C2025届普及组一阶测试(校本部20230718) OI
- C2025届普及组一阶总复习(20230715) 作业
- C2025届普及组一阶测试(20230715) OI
- C2025届普及组一阶中期测试(20230605) OI
- C2025届循环结构练习3周六班(20230521) 作业
- C2025届循环结构练习2周六班(20230516) 作业
- C2025届循环结构练习1周六班(20230504) 作业
- C2025届选择结构练习周六班(20230413) 作业
题目标签
- 基础语法
- 122
- 分支问题
- 110
- 基础问题
- 73
- 简单循环
- 72
- 字符串
- 38
- 数组问题
- 37
- 顺序结构
- 36
- 普及组
- 30
- 嵌套循环
- 28
- 入门
- 23
- 需要找规律的循环
- 22
- 递归
- 21
- noip
- 21
- 结构体
- 17
- 一维数组
- 16
- 文件重定向
- 16
- 二维数组
- 16
- 搜索
- 16
- 数论
- 15
- 素数判定
- 15