快捷键

切换暗色模式 CtrlD
搜索 CtrlK
关闭弹窗 Esc
返回顶部 Ctrl
快捷键面板 Ctrl/
C++信息学奥赛打字闯关
首页 闯关训练 段位系统 题库中心
技术博客 新闻资讯
排行榜 信奥社区 成就殿堂 在线留言 AI助手
对标 CSP-J/S 2025/2026 考纲

C++ 题库中心

逐字符检测 · 实时反馈 · 涵盖 CSP-J/S 全部知识点

0
全部题目
0
入门
0
基础
0
中档
0
提高
0
真题冲刺
清除
75 道题目 已筛选
提高

最小编辑距离

动态规划DP

#include <iostream> #include <string> using namespace std; int main() { string s1, s2; cin >> s1 >> s2; int...
19行 7分0秒 编辑距离,DP,
提高

Floyd多源最短路

图论

#include <iostream> using namespace std; int main() { int n, m, dis[105][105]; cin >> n >> m; for (int i=1;...
22行 8分0秒 Floyd,多源
提高

拓扑排序(Kahn BFS)

图论

#include <iostream> #include <vector> #include <queue> using namespace std; int main() { int n, m, indeg[1005]={0};...
22行 7分0秒 拓扑排序,DAG
提高

SPFA最短路径

图论

#include <iostream> #include <vector> #include <queue> using namespace std; struct Edge { int to, w; }; vector<Edge> g[...
28行 8分0秒 SPFA,最短路
提高

二叉树的三种遍历

树结构

#include <iostream> using namespace std; struct Node { char val; int l, r; }; Node tree[30]; void preorder(int u) { ...
31行 8分0秒 二叉树,遍历,前
提高

树的高度/深度

树结构

#include <iostream> #include <vector> using namespace std; vector<int> g[1005]; int dfs(int u, int p) { int h = 0;...
17行 6分0秒 树,深度,DFS
提高

手动实现大根堆

树结构

#include <iostream> using namespace std; int heap[1005], sz=0; void push(int x) { heap[++sz]=x; int i=sz; ...
30行 8分0秒 堆,完全二叉树,
提高

树的直径(最长路径)

树结构

#include <iostream> #include <vector> using namespace std; vector<int> g[100005]; int ans = 0; int dfs(int u, int p) {...
23行 7分0秒 树的直径,最长路
提高

欧拉线性筛

基础数论

#include <iostream> using namespace std; int main() { int n, prime[100005], cnt=0; bool vis[100005]={false}; ...
16行 6分0秒 线性筛,欧拉筛,
提高

乘法逆元(费马小定理+快速幂)

基础数论

#include <iostream> using namespace std; const int MOD = 1e9 + 7; long long qpow(long long a, long long b) { long ...
16行 7分0秒 乘法逆元,费马小
提高

欧拉函数 φ(n)

基础数论

#include <iostream> using namespace std; int phi(int n) { int ans = n; for (int i=2; i*i<=n; i++) { if ...
17行 6分0秒 欧拉函数,互质,
提高

快速排序手写实现

排序进阶

#include <iostream> using namespace std; void qsort(int a[], int l, int r) { if (l>=r) return; int i=l, j=r, pi...
22行 7分0秒 快速排序,手写,
提高

归并排序手写实现

排序进阶

#include <iostream> using namespace std; int a[1005], tmp[1005]; void mergeSort(int l, int r) { if (l>=r) return; ...
22行 7分0秒 归并排序,手写,
提高

反向并查集(删边→加边)

并查集

#include <iostream> #include <vector> using namespace std; int fa[100005]; int find(int x) { return fa[x]==x?x:fa[x]=fi...
30行 8分0秒 反向并查集,删除
提高

Kruskal最小生成树

最小生成树

#include <iostream> #include <algorithm> using namespace std; struct Edge { int u, v, w; }; Edge edges[200005]; int fa[...
22行 7分0秒 Kruskal,
提高

Prim最小生成树

最小生成树

#include <iostream> #include <vector> #include <queue> using namespace std; struct Edge { int to, w; }; vector<Edge> g[...
25行 8分0秒 Prim,MST
提高

次小生成树

最小生成树

#include <iostream> #include <algorithm> using namespace std; struct Edge { int u, v, w; bool used; }; Edge edges[20000...
28行 8分0秒 次小生成树,Kr
提高

Dijkstra堆优化单源最短路

最短路径进阶

#include <iostream> #include <vector> #include <queue> using namespace std; struct Edge { int to, w; }; vector<Edge> g[...
27行 8分0秒 Dijkstra
提高

Bellman-Ford负环检测

最短路径进阶

#include <iostream> #include <vector> using namespace std; struct Edge { int u, v, w; }; vector<Edge> edges; int dis[10...
24行 7分0秒 Bellman-
提高

线段树区间查询

线段树

#include <iostream> using namespace std; long long tree[400005]; int a[100005]; void build(int u, int l, int r) { ...
22行 8分0秒 线段树,区间查询
提高

线段树单点修改

线段树

#include <iostream> using namespace std; long long tree[400005]; int a[100005]; void build(int u, int l, int r) { ...
22行 8分0秒 线段树,单点修改
提高

字符串哈希

字符串哈希与KMP

#include <iostream> #include <string> using namespace std; typedef unsigned long long ull; const ull BASE = 131; ull h[...
20行 7分0秒 字符串哈希,自然
提高

KMP模式匹配

字符串哈希与KMP

#include <iostream> #include <string> using namespace std; int nxt[100005]; void getNext(string p) { int m=p.lengt...
22行 8分0秒 KMP,模式匹配
提高

单调栈——下一个更大元素

单调栈与单调队列

#include <iostream> #include <stack> using namespace std; int main() { int n, a[100005], ans[100005]; cin >> n;...
15行 7分0秒 单调栈,下一个更
1 2 3 4
在线

给管理员留言

每条留言老师都会认真阅读并回复

📚 课程咨询 🔧 技术求助 💡 建议反馈 🤝 合作联系

留言发送成功!

您的留言已送达管理员后台

追踪码(请保存以便查询回复)
------