-
个人简介
全平台肘击桑境阳,支持者复制红字挂主页
全平台肘击桑境阳,支持者复制红字挂主页
隽bro精选好题:
OJ:
洛谷:
- P1042 [NOIP2003 普及组] 乒乓球
- P2670 [NOIP2015 普及组] 扫雷游戏
- P1563 [NOIP2016 提高组] 玩具谜题
- P1601 A+B Problem(高精)
- P1303 A*B Problem
- P1009 [NOIP1998 普及组] 阶乘之和
- P4924 [1007] 魔法少女小Scarlet
- P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
- P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two
- P1067 [NOIP2009 普及组] 多项式输出
- P1098 [NOIP2007 提高组] 字符串的展开
- P1065 [NOIP2006 提高组] 作业调度方案
- P1786 帮贡排序
- P1591 阶乘数码
- P1249 最大乘积
- P1045 [NOIP2003 普及组] 麦森数
- P1714 切蛋糕
- P2629 好消息,坏消息
有需要可以Copy(主要方便我自己)
谢绝复制挂主页的
赖达元,卓骞佑等set & map
set<int> st; map<string,int> mp; mp[key] = value;//插入键值
随机数造数据
#include using namespace std; int main(){ freopen( "test.in" , "w" , stdout ); srand( int ( time ( 0 ) ) ); int n, m, p, a; n = rand() % 10000; m = rand() % 10000; cout << m << endl; cout << n << endl; while( m-- ){ p = rand() % 10000; a = rand() % 10000; cout << p << ' ' << a << endl; } fclose( stdout ); }
万能开头:
#include<bits/stdc++.h> using namespace std; int main(){}
关于vector:
vector<int> v;//创建一个空vector v.push_back(x)//向尾部增加一个元素x v.insert(pos,x)//向pos地址指向元素前增加一个元素x v[i]//访问第i位元素 v.pop_back()//删除向量中最后一个元素 v.clear()//清空向量中所有元素 v.empty()//判断向量是否为空 v.size()//返回向量中元素的个数 v.begin()//返回量头指针(迭代器),指向第一个元素 v.end()//返回量尾指针(迭代器),指向第一个元素+1位置 v.erase(v.begin()+i)//删除第i位位置的元素
全排列函数:
next_permutation(数组头地址,数组尾地址);//求下一个全排列 prev_permutation(数组头地址,数组尾地址);//求上一个全排列
排列数组(sort函数):
sort(a(begin),a(end)+size);//默认小到大 sort(a(begin),a(end)+size,greater<int>());//大到小 sort(a(begin),a(end)+size,less<int>());//小到大
与字符相关的函数
getchar()//输入单个字符 putchar()//输出单个字符 islower(x)//判断x是否为小写字母 isupper(x)//判断x是否为大写字母 isdigit(x)//判断x是否为数字 isalpha(x)//判断x是否为字母
builtin内建函数
__builtin_ffs(x)//返回x中最后一个为1的位是从后往前的第几位 __builtin_popcount(x)//x中1的个数 __builtin_ctz(x)//x末尾0的个数,x=0时结果未定义 __builtin_clz(x)//x前导0的个数,x=0时结果未定义 __builtin_parity(x)//x中1的奇偶性
二分查找核心代码
int dp[30000]; int n; int fun(int k){ int l=0,r=n-1,m=l+r/2; while(l<r){ if(k==dp[m]){ return m; }else if(k>dp[m]){ l=m+1; }else{ r=m-1; } } return -1; }
最大公因数(gcd)递归实现
int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); }
斐波那契数列
int dfs( int a ){ if( a == 1 || a == 2 ){ return 1; } return dfs( a - 1 ) + dfs( a - 2 ); }
评测状态
- Waiting 评测:评测请求正在等待被评测机抓取
- Fetched 评测:评测请求已被评测机抓取,正在准备开始评测
- Compiling 评测:正在编译中
- Judging 评测:编译成功,正在评测中
- Accepted 通过:程序输出完全正确
- Wrong Answer 不通过:程序输出与标准答案不一致(不包括行末空格以及文件末空行)
- Time Limit Exceeded 不通过:程序运行时间超过了题目限制
- Memory Limit Exceeded 不通过:程序运行内存空间超过了题目限制
- Runtime Error 不通过:程序运行时错误(如数组越界、被零除、运算溢出、栈溢出、无效指针等)
- Compile Error 不通过:编译失败
- System Error 错误:系统错误(如果您遇到此问题,请及时在讨论区进行反馈)
- Canceled 其他:评测被取消
- Unknown Error 其他:未知错误
- Ignored 其他:被忽略
广度优先搜索
#include <bits/stdc++.h> class Graph { public: Graph(int vertices); void addEdge(int v, int w); void BFS(int startVertex); private: int vertices; // 图的顶点数 std::vector<std::vector<int>> adjList; // 邻接表 }; Graph::Graph(int vertices) : vertices(vertices) { adjList.resize(vertices); } // 添加边 void Graph::addEdge(int v, int w) { adjList[v].push_back(w); // 将w添加到v的邻接表中 adjList[w].push_back(v); // 因为是无向图,反向添加 } // 广度优先搜索 void Graph::BFS(int startVertex) { std::vector<bool> visited(vertices, false); // 访问标记 std::queue<int> queue; // 使用队列存储要访问的节点 // 从起始节点开始 visited[startVertex] = true; // 标记为已访问 queue.push(startVertex); // 入队 while (!queue.empty()) { int currentVertex = queue.front(); // 获取队首元素 queue.pop(); // 出队 std::cout << currentVertex << " "; // 处理当前节点 // 将未访问的邻接节点入队 for (int neighbor : adjList[currentVertex]) { if (!visited[neighbor]) { visited[neighbor] = true; // 标记为已访问 queue.push(neighbor); // 入队 } } } } int main() { Graph graph(5); // 创建一个包含5个顶点的图 graph.addEdge(0, 1); graph.addEdge(0, 2); graph.addEdge(1, 3); graph.addEdge(1, 4); graph.addEdge(2, 4); std::cout << "广度优先搜索结果: "; graph.BFS(0); // 从顶点0开始BFS return 0; }
深度优先搜索框架
#include <bits/stdc++.h> class Graph { public: Graph(int vertices); void addEdge(int v, int w); void DFS(int startVertex); private: int vertices; // 图的顶点数 std::vector<std::vector<int>> adjList; // 邻接表 }; Graph::Graph(int vertices) : vertices(vertices) { adjList.resize(vertices); } // 添加边 void Graph::addEdge(int v, int w) { adjList[v].push_back(w); // 将w添加到v的邻接表中 adjList[w].push_back(v); // 因为是无向图,反向添加 } // 深度优先搜索 void Graph::DFS(int startVertex) { std::vector<bool> visited(vertices, false); // 访问标记 std::stack<int> stack; // 使用栈存储要访问的节点 // 从起始节点开始 stack.push(startVertex); while (!stack.empty()) { int currentVertex = stack.top(); // 访问栈顶元素 stack.pop(); if (!visited[currentVertex]) { std::cout << currentVertex << " "; // 处理当前节点 visited[currentVertex] = true; // 标记为已访问 } // 将未访问的邻接节点压入栈中 for (int neighbor : adjList[currentVertex]) { if (!visited[neighbor]) { stack.push(neighbor); } } } } int main() { Graph graph(5); // 创建一个包含5个顶点的图 graph.addEdge(0, 1); graph.addEdge(0, 2); graph.addEdge(1, 3); graph.addEdge(1, 4); graph.addEdge(2, 4); std::cout << "深度优先搜索结果: "; graph.DFS(0); // 从顶点0开始DFS return 0; }
深度优先搜索(递归版)
#include <bits/stdc++.h> class Graph { public: Graph(int vertices); void addEdge(int v, int w); void DFS(int startVertex); private: void DFSUtil(int v, std::vector<bool>& visited); int vertices; std::vector<std::vector<int>> adjList; }; Graph::Graph(int vertices) : vertices(vertices) { adjList.resize(vertices); } void Graph::addEdge(int v, int w) { adjList[v].push_back(w); adjList[w].push_back(v); } // 辅助函数用于递归DFS void Graph::DFSUtil(int v, std::vector<bool>& visited) { visited[v] = true; std::cout << v << " "; for (int neighbor : adjList[v]) { if (!visited[neighbor]) { DFSUtil(neighbor, visited); } } } // 主DFS函数 void Graph::DFS(int startVertex) { std::vector<bool> visited(vertices, false); DFSUtil(startVertex, visited); } int main() { Graph graph(5); graph.addEdge(0, 1); graph.addEdge(0, 2); graph.addEdge(1, 3); graph.addEdge(1, 4); graph.addEdge(2, 4); std::cout << "深度优先搜索结果: "; graph.DFS(0); return 0; }
我们的赞助商
-
通过的题目
- Y035
- Y036
- P16
- P18
- P19
- P20
- P21
- P22
- P24
- P25
- P26
- P27
- P29
- P31
- P32
- P33
- Y0401
- Y0402
- Y0403
- Y0501
- Y0502
- Y0503
- P40
- Y0601
- P42
- P43
- Y0602
- P45
- P46
- Y0701
- Y0702
- P49
- P50
- P51
- P52
- P53
- P54
- P55
- P56
- P57
- P58
- P60
- P61
- P62
- P64
- P65
- P66
- P67
- P69
- P70
- P71
- P72
- P74
- P77
- P78
- P79
- P80
- P81
- P82
- P83
- P84
- P85
- P86
- P87
- P88
- P90
- P91
- P93
- P95
- P97
- P98
- P100
- P101
- P102
- P103
- P104
- P105
- P107
- P110
- P112
- P113
- P114
- P115
- P116
- P119
- P121
- P122
- P131
- P140
- P143
- P151
- P171
- P173
- P174
- P175
- P176
- Y0404
- P194
- Y0603
- Y0405
- Y0703
- Y0604
- Y0504
- Y0605
- Y0505
- Y0406
- Y0606
- Y0704
- Y0705
- P234
- P236
- Y0706
- P240
- P242
- P243
- P245
- P247
- P249
- P250
- P251
- P252
- P253
- P255
- P256
- P258
- P259
- P260
- P263
- P264
- P267
- P269
- P270
- P271
- P273
- P275
- P277
- P278
- P279
- P281
- P283
- P284
- P286
- P289
- P290
- P293
- P295
- P297
- P299
- P302
- P304
- P305
- P307
- P308
- P310
- P312
- P317
- P318
- P319
- P320
- P321
- P328
- P330
- P336
- P337
- P338
- P343
- P347
- P351
- P357
- P358
- P363
- P364
- P365
- P369
- P370
- P372
- P375
- P376
- P377
- P378
- P379
- P381
- P382
- P383
- P384
- P386
- P388
- P393
- P397
- P400
- P401
- P420
- P425
- P426
- P431
- P432
- P435
- P439
- P440
- P443
- P444
- P467
- P488
- P122
- P629
- P631
- P637
- HS001
- HS002
- HS003
- HS004
- HS008
- HS011
- HS012
- GT012
- GT013
- P751
- P752
- P753
- P754
- P755
- P756
- P757
- P758
- P759
- P760
- P761
- P764
- P765
- P766
- P767
- P768
- P769
- P771
- P772
- P773
- P774
- P775
- P776
- P778
- P780
- P781
- P782
- P783
- P786
- P787
- P788
- P789
- P790
- P792
- P795
- P798
- P806
- P807
- P808
- P811
- P813
- P815
- P816
- P818
- P827
- P829
- P831
- P832
- P833
- P836
- P839
- P840
- P845
- P847
- P848
- P851
- P852
- P853
- P854
- P855
- P856
- P857
- P858
- P859
- P860
- P862
- P864
- P865
- P866
- P867
- P868
- P869
- P870
- P871
- P872
- P873
- P874
- P875
- P876
- P877
- P878
- P879
- P880
- P881
- P882
- P883
- P884
- P885
- P886
- P887
- P888
- P889
- P890
- P891
- P892
- P893
- P894
- P895
- P896
- P897
- P898
- P899
- P900
- P901
- P902
- P903
- P904
- P905
- P906
- P907
- P908
- P913
- P979
- P980
- P984
- P987
- P995
- P1008
- P1009
- P1017
- P1018
- P1033
- YBT1501
- YBT2451
- P1116
- K050301
- P1210
- P1212
- P1223
- P1224
- P1225
- P1226
- P1227
- P1229
- P1254
- P1256
- P1269
- P1276
- P1287
- P1288
- P1289
- P1290
- P1291
- P1292
- P1293
- P1294
- P1295
- P1296
- P1297
- P1298
- P1299
- P1300
- P1301
- P1302
- P1303
- P1304
- P1305
- P1306
- C1101
- P1308
- P1309
- P1310
- P1311
- P1312
- P1313
- P1314
- P1315
- P1316
- P1317
- P1318
- P1319
- P1320
- P1321
- P1322
- P1323
- P1324
- P1325
- P1326
- P1327
- P1328
- P1329
- P1330
- P1331
- P1332
- P1333
- P1334
- P1335
- P1336
- P1337
- P1338
- P1341
- C0710
- P1345
- P1347
- P1348
- P1349
- P1350
- P1355
- P1360
- P1363
- P1372
- P1386
- P1430
- P1445
- P1446
- P1449
- P1452
- P1453
- P1454
- P1455
- P1459
- P1461
- P1463
- P1466
- P1467
- P1474
- P1475
- P1477
- P1480
- P1482
- P1491
- P1495
- P1498
- P1500
- P1509
- P1522
- P1729
-
最近活动
- 阶段性测试+高阶 OI
- 2024 CPS第二轮 -练习卷005 IOI
- 2024 CPS第二轮 -练习卷004 IOI
- 2024 CPS第二轮 -练习卷003 IOI
- 2024 CPS第二轮 -练习卷002 IOI
- 2024 CPS第二轮 -练习卷001 IOI
- 2024 CPS第二轮-模拟赛第七天 OI
- 2024 CPS第二轮-模拟赛第六天 OI
- 2024 CPS第二轮-模拟赛第五天 OI
- 2024 CPS第二轮-模拟赛第四天 OI
- 2024 CPS第二轮-模拟赛第三天 OI
- 2024 CPS第二轮-模拟赛第二天 IOI
- 2024 CPS第二轮-模拟赛第一天 IOI
- 集训小测-20240727 OI
- 集训小测-20240726 OI
- 集训小测-20240725 OI
- 进阶-20240724 作业
- 进阶-20240723 作业
- 进阶-20240722 作业
- 2024-7-21 作业
- 0101-Hi Summer 信奥C++编程竞赛 ACM/ICPC
题目标签
- 一本通编程启蒙
- 202
- 小学生C++趣味编程
- 111
- 循环结构
- 101
- 来源
- 98
- 顺序结构
- 91
- 分支结构
- 83
- 基础语法
- 78
- 教学题-C语言习题
- 53
- 难度
- 30
- 函数
- 16
- 普及-
- 14
- 力扣
- 13
- 洛谷
- 12
- C程序设计
- 12
- 数组
- 11
- 多重循环
- 11
- 搜索
- 9
- 二维数组
- 9
- DFS
- 8
- 入门
- 8