-
个人简介
怒斥一,二名
Welcome to PhigrOS , Friday night Funkin and minecraft
-O2 -std=c++14 -static
我去!那么多模板呢? 哦~在这儿!
快点击下方链接去看stone9070分享的算法模版吧!
快速传送~http://xx.ncyzedu.cn:4326/pdfbrowser/web/viewer.html?file=/downloads/knowledge_list/算法模板.pdf
堆(可用于树)
priority_queue<int>q;//默认大顶堆 priority_queue<int,vector<int>,less<int>>q;//小顶堆 priority_queue<int,vector<int>,greater<int>>q;//大顶堆 q.push(x) //入堆 q.pop() //出堆 q.top() //堆顶 q.size() //元素数量
树形背包(理解版)
#include<iostream> #include<vector> using namespace std; struct Thing//定义一个物品结构体包括物品属性体积和价值 { int vi; int wi; }; /*定义以下全局变量*/ vector< vector<int> >tree;//定义一个二维数组存储各个节点的子节点信息 vector<Thing>things; //定义物品数组存储物品的信息 int N,V;//定义物品的数量和背包的体积 int ans[110][110]; //定义二维数组存储答案ans[i][j]表示在选节点i且体积不超过j的前提下所能得到的最大价值 void dfs(int Node) {/*此函数的功能是在得到一个节点后我们要把在选这个节点的情况下 的每一体积下的最大值都求出来并存入ans数组中 */ if(things[Node].vi <= V)//先判断背包能否放下该节点代表的物品如果可以则进入判断 { if(tree[Node].size()==0||things[Node].vi == V) {/*判断如果该节点没有子节点或其代表的物品体积恰好等于背包体积 在这两种情况下都不必再去考虑该节点的子节点怎么选择直接赋值*/ for(int i=things[Node].vi;i<=V;i++) {/*将大于或等于该物品的各个体积全赋为该物品的价值 并将其他体积全赋值为0这里因为ans为全局变量所以 各点本身就以赋初值为0在这里就不再进行这一操作*/ ans[Node][i]=things[Node].wi; } } else//否则我们需要考虑其子节点的选择情况 { for(int k=0;k<tree[Node].size();k++)//我们要遍历各个子节点 { dfs(tree[Node][k]);//首先我们求出选这个子节点的情况下各体积下的最优解 for(int i=V-things[Node].vi;i>=0;i--) {/*我们开始求选当前节点的情况下各体积下的最优解 我们的体积从V-things[Node].vi开始到0因为我们 确定了选当前物品所以要为他留出空间,体积从大 到小是因为和01背包一样子节点的每种体积至多可以选一遍*/ for(int j=0;j<=i;j++)//当前0到i这个范围就是这个子节点以下所能占用的体积我们要从这些体积中选出最优的那个体积 ans[Node][i] = max(ans[Node][i],ans[Node][i-j]+ans[tree[Node][k]][j]); /*状态转移我们要用在不选、以及分别从这个子节点以下选总体积为1、2……i的物品中 选择一个最佳决策,即比较当前价值和选不同体积下的价值分别作比较*/ } } for(int i=V;i>=things[Node].vi;i--)//最后我们要将我们的根节点的价值加入即开始我们为之空出的体积 {//在这个体积以上的全部加上这个节点代表的物品的价值 ans[Node][i] = ans[Node][i-things[Node].vi] + things[Node].wi; } for(int i = 0;i < things[Node].vi;i++ ) {/*这个体积以下的代表这个节点不能选这个节点不能选那么他所有的子节点也不能选所以全部赋初值为0 这里需要赋值是因为我们在上面的求大体积最优解的时候用到了这块体积我们已经为他们赋上值了 它们已经不是0了所以这里的赋0不能省*/ ans[Node][i]=0; } } } } int main() { int root; //定义一个变量一会储存根节点 cin>>N>>V; //输入物品数和背包体积 tree.resize(N);//开辟空间一个数组储存各节点的子节点信息从而储存整棵树的结点关系 for(int i=0;i<N;i++)//遍历输入物品信息 { int v,w,f; cin>>v>>w>>f; things.push_back({v,w});//将物品信息放入物品数组things if(f==-1)//检查该节点的父节点是哪一个如果它是父节点则记录它 { root=i; } else//如果不是父节点在在其父节点代表的一维数组中存入该节点 { tree[f-1].push_back(i);//我们的节点下标从0到n-1输入的父节点是1到n所以让输入的f减去1即我们要找的父节点 } } dfs(root);//从根节点调用递归函数 cout<<ans[root][V]<<endl;//输出最终结果 return 0; } //https://zhuanlan.zhihu.com/p/648341058
线段树
初段
//P1313 区间和 #include<bits/stdc++.h> using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const long long maxn=1e6+10; long long n,sum[maxn<<2],q; //依照题意非子节点赋值 void Pushup(long long rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1]; } //建树 void build(long long l,long long r,long long rt){//l区间左边界 ,r区间右边界 ,rt此时节点编号 //sum[rt] if(l==r){//判断-如果是叶子节点,赋值sum[rt] scanf("%lld",&sum[rt]); return;//因为是叶子节点,所以没有子节点 } long long m=(l+r)>>1;//中点 //lson:l,m,rt<<1,rson:l,m,rt<<1|1 build(lson);//建左子结点 build(rson);//建右子结点 Pushup(rt);//放入sum[rt]的值 } //依照题意更新 void update(long long L,long long R,long long v,long long l,long long r,long long rt){//L目标区间左边界,R标目区间右边界,v更新值 if(l==r){ sum[rt]+=v; return; } long long m=(l+r)>>1;//二分查找 --| if(L<=m)update(L,R,v,lson);// |左端 if(m<R)update(L,R,v,rson);// <-|右端 Pushup(rt);//更新此节点 } //依照题意查询 long long query(long long L,long long R,long long l,long long r,long long rt){//L目标区间左边界,R标目区间右边界,v更新值 if(L<=l&&r<=R){ return sum[rt]; } long long m=(l+r)>>1,res=0;//二分查找 if(L<=m)res+=query(L,R,lson);//左端 if(m<R)res+=query(L,R,rson);//右端 return res;//返回答案 } int main(){ scanf("%lld%lld",&n,&q); build(1,n,1);//从根节点rt=1开始建树 long long op,a,b; while(q--){ scanf("%lld%lld%lld",&op,&a,&b); if(op==1){ update(a,a,b,1,n,1); }else{ printf("%lld\n",query(a,b,1,n,1)); } } return 0; }
lazy优化
//P1313 区间和 #include<bits/stdc++.h> using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const long long maxn=1e6+10; long long n,sum[maxn<<2],lazy[maxn<<2],q; //依照题意非子节点赋值 void Pushup(long long rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1]; } //建树 void build(long long l,long long r,long long rt){//l区间左边界 ,r区间右边界 ,rt此时节点编号 if(l==r){//判断-如果是叶子节点,赋值sum[rt] scanf("%lld",&sum[rt]); return;//因为是叶子节点,所以没有子节点 } long long m=(l+r)>>1;//中点 //lson:l,m,rt<<1,rson:l,m,rt<<1|1 build(lson);//建左子结点 build(rson);//建右子结点 Pushup(rt);//放入sum[rt]的值 } //为sum[rt]标记并改变其值 void addlazy(long long l,long long r,long long rt,long long v){ lazy[rt]+=v;//其以下的叶子结点标记值位v sum[rt]+=v*(r-l+1);//其本身的值加上其以下的叶子结点所改变的总和(v*r-l+1) } //下放标记(lazy) void Pushdown(long long l,long long r,long long rt,long long m){ if(lazy[rt]==0) return; //lson:l,m,rt<<1,rson:l,m,rt<<1|1 addlazy(lson,lazy[rt]);//为左儿子标记并使其本身的值加上其以下的叶子结点所改变的总和 addlazy(rson,lazy[rt]);//为左儿子标记并使其本身的值加上其以下的叶子结点所改变的总和 lazy[rt]=0;//消除标记 } //依照题意更新(lazy) void update(long long L,long long R,long long v,long long l,long long r,long long rt){//L目标区间左边界,R标目区间右边界,v更新值 if(L<=l&&r<=R){//确定符合条件的区间 addlazy(l,r,rt,v);//在这一区间内在sum[rt]放下lazy标记,标记值为v return; } long long m=(l+r)>>1;//二分 Pushdown(l,r,rt,m); if(L<=m)update(L,R,v,lson); if(m<R)update(L,R,v,rson); Pushup(rt);//更新此节点 } //依照题意查询 long long query(long long L,long long R,long long l,long long r,long long rt){//L:目标区间左边界,R:标目区间右边界,v:更新值 if(L<=l&&r<=R){//如果现在的区间就在目标区间内 return sum[rt];//返回其值 } long long m=(l+r)>>1,res=0;//二分查找 Pushdown(l,r,rt,m); if(L<=m)res+=query(L,R,lson);//左端 if(m<R)res+=query(L,R,rson);//右端 Pushup(rt);//更新此节点,可要可不要 return res;//返回答案 } int main(){ scanf("%lld%lld",&n,&q); build(1,n,1);//从根节点rt=1开始建树 long long op,a,b; while(q--){ scanf("%lld%lld%lld",&op,&a,&b); if(op==1){ update(a,a,b,1,n,1); }else{ printf("%lld\n",query(a,b,1,n,1)); } } return 0; }
-
通过的题目
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 136
- 137
- 139
- 141
- 143
- 144
- 145
- 146
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 174
- 175
- 178
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 204
- 205
- 206
- 208
- 211
- 212
- 213
- 214
- 216
- 217
- 218
- 219
- 220
- 221
- 223
- 224
- 225
- 226
- 227
- 228
- 231
- 232
- 236
- 238
- 242
- 243
- 246
- 247
- 248
- 255
- 256
- 259
- 266
- 267
- 268
- 270
- 272
- 273
- 274
- 275
- 276
- 277
- 280
- 282
- 283
- 284
- 285
- 286
- 287
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 325
- 326
- 327
- 328
- 329
- 330
- 334
- 335
- 337
- 338
- 339
- 340
- 342
- 344
- 345
- 348
- 349
- 350
- 351
- 355
- 356
- 360
- 368
- 372
- 377
- 380
- 381
- 384
- 385
- 387
- 388
- 390
- 391
- 394
- 396
- 397
- 398
- 399
- 400
- 402
- 403
- 404
- 405
- 406
- 407
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 436
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 458
- 459
- 460
- 461
- 462
- 464
- 465
- 466
- 467
- 468
- 470
- 471
- 472
- 473
- 474
- 477
- 481
- 482
- 483
- 486
- 487
- 488
- 489
- 490
- 493
- 494
- 495
- 496
- 499
- 502
- 503
- 504
- 505
- 506
- 508
- 509
- 510
- 511
- 512
- 514
- 515
- 516
- 517
- 518
- 522
- 533
- 535
- 539
- 541
- 555
- 557
- 561
- 562
- 578
- 579
- 580
- 586
- 591
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 661
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 680
- 682
- 683
- 684
- 685
- 687
- 690
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 727
- 729
- 730
- 731
- 732
- 733
- 734
- 736
- 737
- 738
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 748
- 749
- 750
- 756
- 758
- 760
- 761
- 768
- 769
- 773
- 774
- 775
- 776
- 779
- 780
- 781
- 782
- 785
- 786
- 787
- 790
- 791
- 794
- 795
- 797
- 798
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 817
- 821
- 822
- 824
- 826
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 837
- 841
- 842
- 845
- 848
- 856
- 857
- 858
- 859
- 862
- 863
- 866
- 867
- 868
- 871
- 872
- 876
- 877
- 878
- 879
- 880
- 884
- 885
- 887
- 889
- 890
- 893
- 894
- 895
- 896
- 901
- 902
- 903
- 904
- 905
- 913
- 917
- 918
- 925
- 926
- 930
- 931
- 941
- 949
- 952
- 954
- 955
- 956
- 958
- 959
- 960
- 961
- 962
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 991
- 992
- 993
- 994
- 1006
- 1008
- 1009
- 1010
- 1014
- 1015
- 1016
- 1020
- 1021
- 1024
- 1025
- 1027
- 1040
- 1043
- 1044
- 1045
- 1047
- 1048
- 1049
- 1056
- 1057
- 1058
- 1062
- 1064
- 1071
- 1074
- 1076
- 1077
- 1084
- 1092
- 1094
- 1102
- 1107
- 1110
- 1114
- 1115
- 1117
- 1122
- 1127
- 1128
- 1137
- 1138
- 1139
- 1153
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1166
- 1168
- 1169
- 1176
- 1178
- 1179
- 1180
- 1181
- 1182
- 1200
- 1207
- 1209
- 1301
- 1303
- 1307
- 1313
- 1314
- 1364
- 1380
- 1384
- 1548
- 1554
- 1564
- 1568
- 1574
- 1575
- 1599
- 1666
- 1728
- 1743
- 1756
- 1798
- 1861
- 1865
- 1866
- 1868
- 1870
- 1876
- 1877
- 1888
- 1895
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1910
- 1913
- 1914
- 1918
- 1923
- 1926
- 1930
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1987
- 1988
- 1997
- 2001
- 2002
- 2003
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2019
- 2020
- 2023
- 2024
- 2025
- 2027
- 2031
- 2032
- 2033
- 2035
- 2037
- 2038
- 2039
- 2043
- 2044
- 2045
- 2059
- 2078
- 2079
- 2081
- 2082
- 2104
- 2105
- 2106
- 2107
- 2108
- 2113
- 2114
- 2130
- 2137
- 2140
- 2143
- 2144
- 2146
- 2149
- 2161
- 2162
- 2169
- 2209
- 2213
- 2214
- 2228
- 2233
- 2234
- 2235
- 2236
- 2237
- 2241
- 2248
- 2250
- 2252
- 2253
- 2256
- 2260
- 2261
- 2266
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2281
- 2293
- 2302
- 2304
- 2306
- 2307
- 2308
- 2349
- 2350
- 2351
- 2352
- 2353
- 2356
- 2360
- 2376
- 2385
- 2402
- 2407
- 2420
- 2446
- 2465
- 2477
- 2502
- 2569
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2646
- 2651
- 2652
- 2664
- 2666
- 2668
- 2678
- 2682
- 2684
- 2715
- 2717
- 2719
- 2740
- 2746
- 2750
- 2752
- 2759
- 2763
- 2810
- 2812
- 2813
- 2814
- 2815
- 2816
- 2820
- 2821
- 2822
- 2834
- 2841
- 2842
- 2843
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2858
- 2859
- 2860
- 2861
- 2872
- 2873
- 2888
- 2894
- 2895
- 2896
- 2900
- 2906
- 2907
- 2908
- 2909
- 2912
- 2913
- 2914
- 2916
- 2917
- 2920
- 2926
- 2927
- 2931
- 2932
- 2935
- 2937
- 2942
- 2943
- 2945
- 2947
- 2958
- 2967
- 2979
- 2983
- 2984
- 2987
- 2988
- 2990
- 2996
- 2999
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3039
- 3042
- 3044
- 3048
- 3050
- 3058
- 3071
- 3072
- 3091
- 3101
- 3102
- 3103
- 3122
- 3124
- 3153
- 3156
- 3170
- 3177
- 3202
- 3205
- 3206
- 3207
- 3208
- 3251
- 3261
- 3268
- 3281
- 3286
- 3305
- 3412
- 3465
- 3529
- 3566
- 3602
- 3606
- 3615
- 3616
- 3619
- 3623
- 3624
- 3650
- 3651
- 3667
- 3677
- 3680
- 3692
- 3707
- 3708
- 3711
- 3712
- 3713
- 3714
- 3721
- 3749
- 3948
- 3952
- 3956
- 4026
- 4027
- 4028
- 4030
- 4031
- 4032
- 4034
- 4037
- 4038
- 4039
-
最近活动
- 2024年国庆C2025&G2027届赛前训练 IOI
- 2024年国庆C2025&G2027届常规训练 IOI
- 2024年8月31日月末测试(C2025届&C2026届) OI
- 2024年8月普及组初赛模拟题 OI
- C2024&C2025届2024年暑假知识巩固赛 乐多
- 2024年暑假高温测试 IOI
- 2024年暑假集训测试(20240721) OI
- 2024年7月3日C2025届周末测试 乐多
- 2024年6月5日~初二~为高考加油哦 乐多
- 教师基础语法练习 作业
- 2024年4月30日~假期快乐~clone 作业
- 2024年5月2日~主打一个随心 IOI
- 2024年4月30日~假期快乐~ IOI
- 图论基础 作业
- 20240404_速度赛 作业
- 搜索剪枝 作业
- 语法基础_数组 作业
- 搜索基础 作业
- C2025届2024年3月8日练习赛 乐多
- 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 作业
- C2026届2024年1月27日-寒假集训 作业
- C2025届2024年1月27日-寒假集训 作业
- C2026届2023年12月31日元旦跨年赛 OI
- 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 作业
- C2024届2023年10月19日复赛前练习 OI
- 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
- C2025届2023年暑期练习 作业
- C2025届暑期二阶上练习题(20230730) OI
- C2025届普及组二阶(上)练习(20230725) OI
- C2024届二阶(下)测试题(20230723) OI
- C2025届普及组一阶测试(校本部20230718) OI
- C2024届二阶(下)练习题(20230717)【模拟,DFS】 IOI
- C2025届普及组一阶总复习(20230715) 作业
- C2025届普及组一阶测试(20230715) OI
- C2025届普及组一阶基础知识测试(20230704) IOI
- C2025届普及组一阶基础知识测试(20230610) OI
- C2025届普及组一阶中期测试(20230605) OI
- C2025届循环结构练习3周日班(20230521) 作业
- C2025届循环结构练习2周日班(20230516) 作业
- C2025届循环结构练习1周日班(20230504) 作业
- C2024届五一练习(2023429) 作业
- C2025届选择结构练习周日班(20230413) 作业
题目标签
- 基础语法
- 294
- 分支问题
- 114
- 数组问题
- 108
- 字符串
- 91
- 简单循环
- 82
- 基础问题
- 79
- 普及组
- 65
- 二维数组
- 51
- noip
- 49
- 顺序
- 45
- 动态规划
- 45
- 递归
- 44
- 其他
- 40
- dp
- 39
- 搜索
- 38
- 结构体
- 38
- 数据结构
- 37
- 顺序结构
- 36
- 嵌套循环
- 36
- 一维数组
- 35