欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!
专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。
适合人群:
- 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
- 希望系统学习C++/Python编程的初学者
- 想要提升算法与编程能力的编程爱好者
之前跟着洛谷官方推荐的精选题目单,一道一道练习,过程中踩了不少坑,也总结了一些常见的解法和技巧。
如果你也在刷这个题单,或者刚好卡在某道题上,希望这份整理能帮你快速找到参考,少走点弯路~
当然,如果发现哪里有错误或者更好的解法,也欢迎在评论区指出来,一起交流进步!
祝大家刷题顺利,早日AC~ 🎯
目录
【入门 1】顺序
- B2002 Hello,World!
- B2025 输出字符菱形
- P1000 超级玛丽游戏
- P1001 A+B Problem
- B2005 字符三角形
- P5703 苹果采购
- P5704 字母转换
- P5705 数字反转
- P5706 再分肥宅水
- P5708 三角形面积
- P5707 上学迟到
- B2029 大象喝水
- P1425 小鱼的游泳时间
- P1421 小玉买文具
- P3954 [NOIP 2017 普及组] 成绩
【入门 2】分支结构
- P2433 小学数学 N 合一
- P5709 苹果和虫子
- P5710 数的性质
- P5711 闰年判断
- P5712 Apples
- P5713 洛谷团队系统
- P5714 肥胖问题
- P5715 三位数排序
- P5716 月份天数
- P1085 [NOIP 2004 普及组] 不高兴的津津
- P1909 [NOIP 2016 普及组] 买铅笔
- P5717 三角形分类
- P1422 小玉家的电费
- P1424 小鱼的航程(改进版)
- P1888 三角函数
- P1046 [NOIP 2005 普及组] 陶陶摘苹果
- P4414 ABC
- P1055 [NOIP 2008 普及组] ISBN 号码
【入门 3】循环结构
- P5718 找最小值
- P5719 分类平均
- P5720 一尺之棰
- P5721 数字直角三角形
- P1009 阶乘之和
- P1980 [NOIP 2013 普及组] 计数问题
- P1035 [NOIP 2002 普及组] 级数求和
- P2669 [NOIP 2015 普及组] 金币
- P5722 数列求和
- P5723 质数口袋
- P1217 回文质数
- P1423 小玉在游泳
- P1307 [NOIP 2011 普及组] 数字反转
- P1720 月落乌啼算钱
- P5724 求极差
- P1420 最长连号
- P1075 [NOIP 2012 普及组] 质因数分解
- P5725 求三角形
- P5726 打分
- P4956 Davor
- P1089 津津的储蓄计划
【入门 4】数组
- P1428 小鱼比可爱
- P1427 小鱼的数字游戏
- P5727 冰雹猜想
- P1047 [NOIP 2005 普及组] 校门外的树
- P5728 旗鼓相当的对手
- P5729 工艺品制作
- P2550 彩票摇奖
- P2615 [NOIP 2015 提高组] 神奇的幻方
- P5730 显示屏
- P1554 梦中的统计
- P2141 [NOIP 2014 普及组] 珠心算测验
- P1614 爱与愁的心痛
- P2911 Bovine Bones
- P1161 开灯
- P5731 蛇形方阵
- P5732 杨辉三角
- P1789 插火把
- P1319 压缩技术
- P1320 压缩技术(续集版)
- P1205 方块转换
【入门 5】字符串
- P5733 自动修正
- P1914 小书童——凯撒密码
- P1125 笨小猴
- P1957 口算练习题
- P5015 [NOIP 2018 普及组] 标题统计
- P5734 文字处理软件
- P1308 [NOIP 2011 普及组] 统计单词数
- P1765 手机
- P3741 小果的键盘
- P1321 单词覆盖还原
- P1553 数字反转(升级版)
- P1603 斯诺登的密码
- P1200 你的飞碟在这儿
- P1597 语句解析
- P1598 垂直柱状图
【入门 6】函数与结构体
- P5735 距离函数
- P5736 质数筛
- P5737 闰年展示
- P5738 歌唱比赛
- P5739 计算阶乘
- P5461 赦免战俘
- P5740 最厉害的学生
- P5741 旗鼓相当的对手(加强版)
- P5742 评等级
- P1304 哥德巴赫猜想
- P2415 集合求和
- P5743 猴子吃桃
- P5744 培训
【算法 1-1】模拟与高精度
- P1042 [NOIP 2003 普及组] 乒乓球
- P2670 [NOIP 2015 普及组] 扫雷游戏
- P1563 [NOIP 2016 提高组] 玩具谜题
- P1601 A+B Problem(高精)
- P1303 A*B Problem
- P4924 [1007] 魔法少女小Scarlet
- P1328 [NOIP 2014 提高组] 生活大爆炸版石头剪刀布
- P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two
- P1067 [NOIP 2009 普及组] 多项式输出
- P1098 [NOIP 2007 提高组] 字符串的展开
- P1065 [NOIP 2006 提高组] 作业调度方案
- P1786 帮贡排序
- P1591 阶乘数码
- P1249 最大乘积
- P1045 [NOIP 2003 普及组] 麦森数
【算法 1-2】 排序
- P1271 【深基9.例1】选举学生会
- P1177 【模板】排序
- P1923 【深基9.例4】求第 k 小的数
- P1059 [NOIP 2006 普及组] 明明的随机数
- P1093 [NOIP 2007 普及组] 奖学金
- P1781 宇宙总统
- P2676 [USACO07DEC] Bookshelf B
- P1116 车厢重组
- P1152 欢乐的跳
- P1068 [NOIP 2009 普及组] 分数线划定
- P5143 攀爬者
- P1104 生日
【算法 1-3】暴力枚举
- P2241 统计方形(数据加强版)
- P2089 烤鸡
- P1618 三连击(升级版)
- P1036 [NOIP 2002 普及组] 选数
- P1157 组合的输出
- P1706 全排列问题
- P1088 [NOIP 2004 普及组] 火星人
- P3392 涂条纹
- P3654 First Step
- P1149 火柴棒等式
- P3799 小 Y 拼木棒
- P2392 kkksc03考前临时抱佛脚
- P2036 PERKET
【算法 1-4】递推与递归
- P1255 数楼梯
- P1002 [NOIP 2002 普及组] 过河卒
- P1044 [NOIP 2003 普及组] 栈
- P1028 [NOIP 2001 普及组] 数的计算
- P1464 Function
- P1928 外星密码
- P2437 蜜蜂路线
- P1164 小A点菜
- P1990 覆盖墙壁
- P3612 Secret Cow Code
- P1259 黑白棋子的移动
- P1010 幂次方
- P1228 地毯填补问题
- P1498 南蛮图腾
【算法1-5】贪心
- P2240 部分背包问题
- P1223 排队接水
- P1803 线段覆盖
- P1090 合并果子
- P3817 小A的糖果
- P1106 删数问题
- P1478 陶陶摘苹果(升级版)
- P5019 [NOIP 2018 提高组] 铺设道路
- P1208 混合牛奶
- P1094 [NOIP 2007 普及组] 纪念品分组
- P4995 跳跳
- P4447 分组
- P1080 国王游戏
- P1012 [NOIP 1998 提高组] 拼数
【算法 1-6】二分查找与二分答案
- P2249 查找
- P1102 A-B 数对
- P1873 砍树
- P1024 一元三次方程求解
- P1678 烦恼的高考志愿
- P2440 木材加工
- P2678 [NOIP 2015 提高组] 跳石头
- P3853 路标设置
- P1182 数列分段
- P1163 银行贷款
- P3743 kotori的设备
【算法 1-7】搜索
- P1219 八皇后
- P1443 马的遍历
- P1135 奇怪的电梯
- P2895 流星雨
- P1433 吃奶酪
- P1605 迷宫
- P1019 [NOIP 2000 提高组] 单词接龙
- P1101 单词方阵
- P2404 自然数的拆分问题
- P1596 Lake Counting
- P1162 填图颜色
- P1032 字串变换
- P1825 Corn Maze
【数据结构 1-1】线性表
- P3156 询问学号
- P3613 寄包柜
- P1449 后缀表达式
- P1996 约瑟夫问题
- P1160 队列安排
- P1540 机器翻译
- P2058 [NOIP 2016 普及组] 海港
- P1241 括号系列
- P4387 验证栈序列
- P2234 营业额统计
【数据结构1-2】二叉树
- P4715 淘汰赛
- P4913 二叉树深度
- P1827 [USACO3.4] 美国血统 American Heritage
- P5076 普通二叉树(简化版)
- P1364 医院设置
- P1229 遍历问题
- P1305 新二叉树
- P1030 [NOIP 2001 普及组] 求先序排列
- P3884 二叉树问题
- P1185 绘制二叉树
【数据结构1-3】集合
- P1551 亲戚
- P1536 村村通
- P3370 【模板】字符串哈希
- P3405 [USACO16DEC] Cities and States S
- P5250 【深基17.例5】木材仓库
- P5266 【深基17.例6】学籍管理
- P1102 A-B 数对
- P1918 保龄球
- P1525 [NOIP 2010 提高组] 关押罪犯
- P1621 集合
- P1892 [BalticOI 2003] 团伙
- P1955 [NOI2015] 程序自动分析
- P4305 [JLOI2011] 不重复数字
- P3879 [TJOI2010] 阅读理解
- P2814 家谱
【数据结构1-4】图的基本应用
- P5318 查找文献
- P3916 图的遍历
- P1113 杂务
- P4017 最大食物链计数
- P1807 最长路
- P1127 词链
- P2853 Cow Picnic
- P1363 幻想迷宫
- P1347 排序
- P1983 [NOIP 2013 普及组] 车站分级
【数学1】基础数学问题
- P1143 进制转换
- P1469 找筷子
- P1100 高低位交换
- P1017 [NOIP 2000 提高组] 进制转换
- P1866 编号
- P2822 [NOIP 2016 提高组] 组合数问题
- P2789 直线交点数
- P3913 车的攻击
- P2638 安全系统
- P1246 编码
- P2926 Patting Heads
- P3383 线性筛素数
- P1835 素数密度
- P1029 [NOIP 2001 普及组] 最大公约数和最小公倍数问题
- P1072 [NOIP 2009 提高组] Hankson 的趣味题
- P1069 [NOIP 2009 普及组] 细胞分裂
- P1572 计算分数
- P4057 晨跑
- P1414 又是毕业季II
- P2651 添加括号III
- P3601 签到题
- P1403 约数研究
- P1593 因子和
【算法2-1】前缀和、差分与离散化
- P8218 【深进1.例1】求区间和
- P1719 最大加权矩形
- P1314 [NOIP 2011 提高组] 聪明的质监员
- P2367 语文成绩
- P3397 地毯
- P1496 火烧赤壁
- P1884 [USACO12FEB] Overplanting S
- P2004 领地选择
- P3017 Brownie Slicing
- P3406 海底高铁
- P1083 [NOIP 2012 提高组] 借教室
- P2882 Face The Right Way
- P4552 [Poetize6] IncDec Sequence
- P3029 [USACO11NOV] Cow Lineup S
- P1904 天际线
- P4375 Out of Sorts
- P5937 Parity Game
【算法2-2】常见优化技巧
- P1102 A-B 数对
- P1638 逛画展
- P1115 最大子段和
- P7072 [CSP-J2020] 直播获奖
- P2671 [NOIP 2015 普及组] 求和
- P4147 玉蟾宫
- P2866 Bad Hair Day
- P1950 长方形
- P2032 扫描
- P2216 理想的正方形
- P4653 Sure Bet
- P3143 Diamond Collector
- P7910 [CSP-J 2021] 插入排序
- P1578 奶牛浴场
- P3467 PLA-Postering
- P1886 单调队列
- P2880 Balanced Lineup
- P1714 切蛋糕
- P1725 琪露诺
【算法2-3】分治与倍增
- P1908 逆序对
- P1966 [NOIP 2013 提高组] 火柴排队
- P1226 【模板】快速幂
- P1115 最大子段和
- P2880 Balanced Lineup
- P7167 Fountain
- P2415 集合求和
- P1257 平面上的最接近点对
- P2345 MooFest
- P3509 ZAB-Frog
- P3517 WYK-Plot
- P4155 国旗计划
- P1816 忠诚
- P6648 Triangle: The Data Structure
- P7562 Event Hopping 2
【算法2-4】字符串
- P3375 【模板】KMP
- P4391 [BalticOI 2009] Radio Transmission 无线传输
- P1481 魔族密码
- P2580 于是他错误的点名开始了
- P4551 最长异或路径
- P5283 异或粽子
- P1470 [USACO2.3] 最长前缀 Longest Prefix
- CF25E Test
- P3435 OKR-Periods of Words
- P2375 动物园
- P2922 Secret Message
- P4735 最大异或和
- P4592 异或
- P3369 普通平衡树
- P6824 「EZEC-4」可乐
【算法2-5】进阶搜索
- P1036 [NOIP 2002 普及组] 选数
- P1433 吃奶酪
- P1120 [CERC 1995] 小木棍
- P1763 埃及分数
- CF525E Anya and Cubes
- P1379 八数码难题
- P5507 机关
- P2324 [SCOI2005] 骑士精神
- P1074 [NOIP 2009 提高组] 靶形数独
- P1312 [NOIP 2011 提高组] Mayan 游戏
- P3959 宝藏
- P2960 Invasion of the Milkweed
- CF912E Prime Gift
- P4799 [CEOI 2015] 世界冰球锦标赛 (Day2)
- P1078 文化之旅(待补充)
【数据结构2-1】二叉堆与树状数组
- P3378 【模板】堆
- P1801 黑匣子
- P1090 合并果子
- P2168 荷马史诗
- P2827 蚯蚓
- P1168 中位数
- P2085 最小函数值
- P1631 序列合并
- P4053 [JSOI2007] 建筑抢修
- P1878 舞蹈课
- P2251 质量检测
- P3374 【模板】树状数组 1
- P3368 【模板】树状数组 2
- P1908 逆序对
- P5677 [GZOI2017] 配对统计
- P1966 [NOIP 2013 提高组] 火柴排队
- P2161 [SHOI2009] 会场预约
【数据结构2-2】线段树
- P3372 【模板】线段树 1
- P3870 开关
- P1438 无聊的数列
- P1253 扶苏的问题
- P3373 线段树2
- P4513 小白逛公园
- P1908 逆序对
- P1816 忠诚
- P1471 方差
- P6492 STEP
- P1637 三元上升子序列
- P1558 色板游戏
- P5522 棠梨煎雪
- P4145 上帝造题的七分钟2
- P2572 序列操作
- CF19D Points
【图论2-1】树
- P5908 猫猫和企鹅
- P1099 [NOIP 2007 提高组] 树网的核
- P1395 会议
- P3379 最近公共祖先(LCA)
- P3128 [USACO15DEC] Max Flow P
- P3384 重链剖分
- P3038 Grass Planting
- P3976 旅游
- P2052 道路修建
- P5666 树的重心
- P5588 小猪佩奇爬树
- P5536 核心城市
- P5836 Milk Visits
- P1351 [NOIP 2014 提高组] 联合权值
- P4408 逃学的小孩
- P3398 仓鼠找sugar
- P2680 运输计划
- P1600 [NOIP 2016 提高组] 天天爱跑步
- P3178 树上操作
- P4116 Qtree3
- P3313 旅行
【图论2-2】最短路
- P4779 【模板】单源最短路径(标准版)
- P4568 飞行路线
- P3385 【模板】负环
- P5960 【模板】差分约束
- P2865 Roadblocks
- P2910 [USACO08OPEN] Clear And Present Danger S
- B3611 传递闭包
- P1144 最短路计数
- P1875 佳佳的魔法药水
- P1462 通往奥格瑞玛的道路
- P1073 [NOIP 2009 提高组] 最优贸易
- P1993 小K的农场
- P3275 糖果
- P6464 传送门
- P3403 跳楼机
- P1119 灾后重建
- P1037 [NOIP 2002 普及组] 产生数
- P2419 Cow Contest
- P2047 [NOI2007] 社交网络
【图论2-3】最小生成树
- P3366 【模板】最小生成树
- P1194 买礼物
- P4180 严格次小生成树
- P1396 营救
- P1195 口袋的天空
- P1550 Watering Hole
- P1967 [NOIP 2013 提高组] 货车运输
- P2700 逐个击破
- CF1245D Shichikuji and Power Grid
- P3623 免费道路
- CF1120D Power Tree
【图论2-4】连通性问题
- P1656 炸铁路
- P2860 Redundant Paths
- P3388 【模板】割点(割顶)
- P4630 铁人两项
- P2863 [USACO06JAN] The Cow Prom S
- P3387 【模板】缩点
- P4782 2-SAT
- CF1000E We Need More Bosses
- P3469 BLO-Blockade
- P4606 战略游戏
- CF487E Tourists
- P1262 间谍网络
- P2341 受欢迎的牛
- P5025 炸弹
- P3825 游戏
- P4819 杀人游戏
- P7737 庆典
【动态规划1】动态规划的引入
- P1216 [IOI 1994] 数字三角形 Number Triangles
- P1048 [NOIP 2005 普及组] 采药
- P2196 [NOIP 1996 提高组] 挖地雷
- P1434 滑雪
- P4017 最大食物链计数
- P1115 最大子段和
- P1802 5 倍经验日
- P1002 [NOIP 2002 普及组] 过河卒
- P1049 [NOIP 2001 普及组] 装箱问题
- P1616 疯狂的采药
- P1164 小A点菜
- P1077 摆花
- P3842 线段
- P1064 [NOIP 2006 提高组] 金明的预算方案
- P2392 kkksc03考前临时抱佛脚
【动态规划2】线性状态动态规划
- P1020 [NOIP 1999 提高组] 导弹拦截
- P2285 [HNOI2004] 打鼹鼠
- P1725 琪露诺
- P4933 大师
- P1874 快速求和
- P2758 编辑距离
- P1439 两个排列的最长公共子序列
- P2679 [NOIP 2015 提高组] 子串
- P1004 [NOIP 2000 提高组] 方格取数
- P1091 [NOIP 2004 提高组] 合唱队形
- P1854 花店橱窗布置
- P1833 樱花
- P2340 Cow Exhibition
- P1541 [NOIP 2010 提高组] 乌龟棋
- P4310 绝世好题
- P3147 262144
【动态规划3】区间与环形动态规划
- P1435 [IOI 2000] 回文字串
- P1775 石子合并(弱化版)
- CF607B Zuma
- P3205 合唱队
- P1880 [NOI1995] 石子合并
- P1140 相似基因
- P4170 涂色
- P4290 玩具取名
- P1063 [NOIP 2006 提高组] 能量项链
- P1070 [NOIP 2009 普及组] 道路游戏
- P4342 Polygon
- P1220 关路灯
【动态规划4】树与图上的动态规划
- P1352 没有上司的舞会
- P2015 二叉苹果树
- P2014 [CTSC1997] 选课
- P1613 跑路
- P6772 美食家
- P4316 绿豆蛙的归宿
- P2656 采蘑菇
- P1040 [NOIP 2003 提高组] 加分二叉树
- P1122 最大子树和
- P2016 战略游戏
- P2585 三色二叉树
- P1273 有线电视网
- P2515 软件安装
- P2986 Great Cow Gathering
- P3953 逛公园
- P7077 函数调用
- P7516 图函数
【动态规划5】状态压缩动态规划
- P1896 [SCOI2005] 互不侵犯
- P2622 关灯问题II
- CF11D A Simple Task
- P3959 宝藏
- P4484 最长上升子序列
- P4363 一双木棋
- P1357 花园
- P1450 [HAOI2008] 硬币购物
- P3694 邦邦的大合唱站队
- P1441 砝码称重
- P1879 [USACO06NOV] Corn Fields G
- P2704 [NOI2001] 炮兵阵地
- P2831 愤怒的小鸟
- P4045 密码
- AT_agc012_e Camel and Oases
- P5369 最大前缀和
- P2761 软件补丁问题
- P2473 奖励关
- P2167 Bill的挑战
【数学2-1】进阶数论
- P1516 青蛙的约会
- P4942 小凯的数字
- P3811 模意义下的乘法逆元
- P1495 中国剩余定理(CRT)
- P3861 拆分
- P5091 【模板】扩展欧拉定理
- P2568 GCD
- P2303 Longge的问题
- P1082 [NOIP 2012 提高组] 同余方程
- P4549 裴蜀定理
- P2421 荒岛野人
- P2613 有理数取余
- CF757B Bash’s Big Day
- CF776B Sherlock and his girlfirend
- P2152 SuperGCD
- CF632D Longest Subsequence
- CF582A GCD Table
- CF687B Remainders Game
- P2261 余数求和
- P2158 仪仗队
- P6583 回首过去
- P4139 上帝与集合的正确用法
【数学2-2】组合数学与计数
- P3197 [HNOI2008] 越狱
- P5664 Emiya家今天的饭
- P1287 盒子与球
- P5520 [yLOI2019] 青原樱
- P4071 [SDOI2016] 排列计数
- P1313 [NOIP 2011 提高组] 计算系数
- CF1332E Height All the Same
- P1044 [NOIP 2003 普及组] 栈
- P2567 幸运数字
- P5505 分特产
- P3223 排队
- P2822 [NOIP 2016 提高组] 组合数问题
- P3214 卡农
- P2532 树屋阶梯
- P3200 有趣的数列
- CF1278F Cards
- P3228 数列
- CF961G Partitions
【数学2-3】概率与统计
- P2719 搞笑世界杯
- P1654 OSU!
- CF280C Game on Tree
- P1365 WJMZBMR打osu!
- P4316 绿豆蛙的归宿
- P1297 单选错位
- P2111 考场奇遇
- P1850 换教室
【数学2-4】基础线性代数
- P1962 斐波那契数列
- P2455 线性方程组
- P2520 向量
- P1349 广义斐波那契数列
- P1939 矩阵加速(数列)
- P2447 外星千足虫
- P7112 行列式求值
- P3216 数学作业
- P4910 帕秋莉的手环
- P2151 HH去散步
- P4035 球形空间产生器
- P2973 Driving Out the Piggies
【数据结构2-3】线段树的进阶用法
- P3834 可持久化线段树2
- P4587 神秘数
- P3380 树套树
- P3810 三维偏序(陌上花开)
- P4093 序列
- P3157 动态逆序对
- P3293 美味
- CF960F Pathwalks
- P2617 Dynamic Rankings
- P3168 任务查询系统
- P2839 middle
- P4602 混合果汁
- P5445 路灯
【动态规划6】动态规划的设计与优化
- P2513 逆序对数列
- CF708E Student’s Camp
- P3800 Power收集
- CF833B The Bakery
- P5785 任务安排
- P3648 序列分割
- P4027 货币兑换
- AT_ARC081_d Flip and Rectangles
- P5464 缩小社交圈
- P4099 SAO
- P3572 PTA-Little Bird
- P2254 瑰丽华尔兹
- P2569 股票交易
- P1973 NOI嘉年华
- P5504 柠檬
- P1912 诗人小G
- P3195 玩具装箱
- P5468 回家路线
- AT_arc066_d Contest with Drinks Hard