百练OJ 刷题目录:算法设计 (共 13 大类 + 150+ 道题)
本文提供了一份详尽的程序设计与算法学习目录,涵盖了从简单计算题到复杂算法问题的各类题目,如数制转换、字符串处理、日期时间处理等,适合不同水平的学习者进行自我提升。
说明:
百练OJ是北京大学相关课程的教学平台,郭炜老师在中国大学MOOC上开设了这门课程,名为程序设计与算法,参考教材为《程序设计导引及在线实践(第2版)》和《算法基础与在线实践》。
这里先将这两本书上的例题和练习题汇总成这篇目录,以供刷题参考,后面会慢慢补充题解。
更多参考:百练数据结构与算法
📘 百炼 OJ 全目录(含题号与链接 · 完整版)
一、简单计算题
| 题号 | 题目名称 | 百炼链接 |
|---|---|---|
| 2750 / 3237 | 鸡兔同笼 | http://bailian.openjudge.cn/practice/2750 |
| 1657 | 棋盘上的距离 | http://bailian.openjudge.cn/practice/1657 |
| 2808 | 校门外的树 | http://bailian.openjudge.cn/practice/2808 |
| 2801 | 填词 | http://bailian.openjudge.cn/practice/2801 |
| 1017 | 装箱问题 | http://bailian.openjudge.cn/practice/1017 |
| 2714 | 平均年龄 | http://bailian.openjudge.cn/practice/2714 |
| 2796 | 数字求和 | http://bailian.openjudge.cn/practice/2796 |
| 2807 | 两倍 | http://bailian.openjudge.cn/practice/2807 |
| 2713 | 肿瘤面积 | http://bailian.openjudge.cn/practice/2713 |
| 2677 | 肿瘤检测 | http://bailian.openjudge.cn/practice/2677 |
| 2800 | 垂直直方图 | http://bailian.openjudge.cn/practice/2800 |
| 2715 | 谁拿了最多的奖学金 | http://bailian.openjudge.cn/practice/2715 |
| 2767 | 简单密码 | http://bailian.openjudge.cn/practice/2767 |
| 2680 | 化验诊断 | http://bailian.openjudge.cn/practice/2680 |
| 2818 | 密码 | http://bailian.openjudge.cn/practice/2818 |
二、数制转换问题
| 题号 | 题目名称 | 链接 |
|---|---|---|
| 2972 | 相邻数字的基数等比:确定进制 | http://bailian.openjudge.cn/practice/2972 |
| 2973 | Skew 数 | http://bailian.openjudge.cn/practice/2973 |
| 2734 | 十进制到八进制 | http://bailian.openjudge.cn/practice/2734 |
| 2735 | 八进制到十进制 | http://bailian.openjudge.cn/practice/2735 |
| 2798 | 二进制到十六进制 | http://bailian.openjudge.cn/practice/2798 |
| 2765 | 八进制小数 | http://bailian.openjudge.cn/practice/2765 |
三、字符串处理
| 题号 | 题目名称 | 链接 |
|---|---|---|
| 2742 | 统计字符串 | http://bailian.openjudge.cn/practice/2742 |
| 2974 | 487-3279 | http://bailian.openjudge.cn/practice/2974 |
| 2744 | 子串 | http://bailian.openjudge.cn/practice/2744 |
| 2975 | Caesar 密码 | http://bailian.openjudge.cn/practice/2975 |
| 2743 | 字符串判等 | http://bailian.openjudge.cn/practice/2743 |
| 2976 | All in All | http://bailian.openjudge.cn/practice/2976 |
| 2818 | 密码 | http://bailian.openjudge.cn/practice/2818 |
| 2819 | W 密码 | http://bailian.openjudge.cn/practice/2819 |
| 2820 | 古代密码 | http://bailian.openjudge.cn/practice/2820 |
| 2804 | 词典 | http://bailian.openjudge.cn/practice/2804 |
| 2797 | 最短前缀 | http://bailian.openjudge.cn/practice/2797 |
| 2799 | 浮点数格式 | http://bailian.openjudge.cn/practice/2799 |
四、日期与时间处理
| 题号 | 题目名称 | 链接 |
|---|---|---|
| 2733 | 判断闰年 | http://bailian.openjudge.cn/practice/2733 |
| 2712 | 细菌繁殖 | http://bailian.openjudge.cn/practice/2712 |
| 2964 | 日历问题 | http://bailian.openjudge.cn/practice/2964 |
| 2965 | 玛雅历 | http://bailian.openjudge.cn/practice/2965 |
| 2966 | 时区转换 | http://bailian.openjudge.cn/practice/2966 |
| 2723 | 不吉利的日期 | http://bailian.openjudge.cn/practice/2723 |
| 2967 | 特殊日历计算 | http://bailian.openjudge.cn/practice/2967 |
五、模拟
| 题号 | 名称 | 链接 |
|---|---|---|
| 2746 | 约瑟夫问题 | http://bailian.openjudge.cn/practice/2746 |
| 2950 | 花生问题 | http://bailian.openjudge.cn/practice/2950 |
| 2745 | 显示器 | http://bailian.openjudge.cn/practice/2745 |
| 1833 | 排列 | http://bailian.openjudge.cn/practice/1833 |
| 1835 | 宇航员 | http://bailian.openjudge.cn/practice/1835 |
| 2764 | 树根 | http://bailian.openjudge.cn/practice/2764 |
| 2785 | 武林 | http://bailian.openjudge.cn/practice/2785 |
| 2952 | 循环数 | http://bailian.openjudge.cn/practice/2952 |
六、高精度计算
| 题号 | 名称 | 链接 |
|---|---|---|
| 2981 | 大整数加法 | http://bailian.openjudge.cn/practice/2981 |
| 2980 | 大整数乘法 | http://bailian.openjudge.cn/practice/2980 |
| 2737 | 大整数除法 | http://bailian.openjudge.cn/practice/2737 |
| 2706 | 麦森数 | http://bailian.openjudge.cn/practice/2706 |
| 2809 | 2 的 N 次方 | http://bailian.openjudge.cn/practice/2809 |
| 2738 | 浮点数加法 | http://bailian.openjudge.cn/practice/2738 |
| 2793 | 孙子问题 | http://bailian.openjudge.cn/practice/2793 |
| 2951 | 浮点数幂 | http://bailian.openjudge.cn/practice/2951 |
七、枚举
| 题号 | 名称 | 链接 |
|---|---|---|
| 2977 / 4148 | 生理周期 | http://bailian.openjudge.cn/practice/2977 |
| 2692 | 称硬币 / 假币 | http://bailian.openjudge.cn/practice/2692 |
| 2810 | 完美立方 | http://bailian.openjudge.cn/practice/2810 |
| 2811 | 熄灯问题 | http://bailian.openjudge.cn/practice/2811 |
| 2812 | 讨厌的青蛙 | http://bailian.openjudge.cn/practice/2812 |
| 2739 | 计算对数 | http://bailian.openjudge.cn/practice/2739 |
| 2747 | 数字方格 | http://bailian.openjudge.cn/practice/2747 |
| 2813 | 画家问题 | http://bailian.openjudge.cn/practice/2813 |
| 1183 | 反正切函数应用 | http://bailian.openjudge.cn/practice/1183 |
| 2814 | 拨钟问题 | http://bailian.openjudge.cn/practice/2814 |
| 4146 | 数字三元组 | http://bailian.openjudge.cn/practice/4146 |
| 4138 | 质数和与积 | http://bailian.openjudge.cn/practice/4138 |
| 4139 | 不定方程 | http://bailian.openjudge.cn/practice/4139 |
| 4141 | 砝码称重 | http://bailian.openjudge.cn/practice/4141 |
| 4133 | 垃圾炸弹 | http://bailian.openjudge.cn/practice/4133 |
八、递归
| 题号 | 名称 | 链接 |
|---|---|---|
| 4147 | 汉诺塔 | http://bailian.openjudge.cn/practice/4147 |
| 2748 | 全排列 | http://bailian.openjudge.cn/practice/2748 |
| 2802 | 小游戏 | http://bailian.openjudge.cn/practice/2802 |
| 1191 | 棋盘分割 | http://bailian.openjudge.cn/practice/1191 |
| 2754 | 八皇后 | http://bailian.openjudge.cn/practice/2754 |
| 2694 | 逆波兰表达式 | http://bailian.openjudge.cn/practice/2694 |
| 4132 | 四则运算表达式求值 | http://bailian.openjudge.cn/practice/4132 |
| 1664 | 放苹果 | http://bailian.openjudge.cn/practice/1664 |
| 4117 | 整数划分 | http://bailian.openjudge.cn/practice/4117 |
| 2775 | 文件结构图 | http://bailian.openjudge.cn/practice/2775 |
| 2787 | 算24 | http://bailian.openjudge.cn/practice/2787 |
| 2816 | 红与黑 | http://bailian.openjudge.cn/practice/2816 |
| 2756 | 二叉树 | http://bailian.openjudge.cn/practice/2756 |
| 2753 | 斐波那契 | http://bailian.openjudge.cn/practice/2753 |
| 3248 | 最大公约数 | http://bailian.openjudge.cn/practice/3248 |
| 2749 | 分解因数 | http://bailian.openjudge.cn/practice/2749 |
| 3704 | 括号匹配 | http://bailian.openjudge.cn/practice/3704 |
| 2790 | 迷宫 | http://bailian.openjudge.cn/practice/2790 |
| 2803 | 碎纸机 | http://bailian.openjudge.cn/practice/2803 |
九、二分查找
| 题号 | 名称 | 链接 |
|---|---|---|
| 4140 | 方程求解 | http://bailian.openjudge.cn/practice/4140 |
| 2503 | 在线翻译 | http://bailian.openjudge.cn/practice/2503 |
| 3441 | 四个数和为零 | http://bailian.openjudge.cn/practice/3441 |
| 2456 | 疯牛 | http://bailian.openjudge.cn/practice/2456 |
| 1905 | 弯曲木杆 | http://bailian.openjudge.cn/practice/1905 |
| 4145 | 放弃考试 | http://bailian.openjudge.cn/practice/4145 |
| 4134 | 查找最接近元素 | http://bailian.openjudge.cn/practice/4134 |
| 4142 | 函数零点 | http://bailian.openjudge.cn/practice/4142 |
| 4143 | 和为给定数 | http://bailian.openjudge.cn/practice/4143 |
| 4135 | 月度开销 | http://bailian.openjudge.cn/practice/4135 |
| 4136 | 矩形分割 | http://bailian.openjudge.cn/practice/4136 |
十、贪心算法
| 题号 | 名称 | 链接 |
|---|---|---|
| 4110 | 圣诞老人的礼物 | http://bailian.openjudge.cn/practice/4110 |
| 3468 | 电池寿命 | http://bailian.openjudge.cn/practice/3468 |
| 1328 | 建立雷达 | http://bailian.openjudge.cn/practice/1328 |
| 2287 | 田忌赛马 | http://bailian.openjudge.cn/practice/2287 |
| 1042 | 钓鱼 | http://bailian.openjudge.cn/practice/1042 |
| 4144 | 畜栏保留 | http://bailian.openjudge.cn/practice/4144 |
| 2795 | 金银岛 | http://bailian.openjudge.cn/practice/2795 |
| 2797 | 最短前缀 | http://bailian.openjudge.cn/practice/2797 |
| 3406 | 书架 | http://bailian.openjudge.cn/practice/3406 |
| 4137 | 最小新整数 | http://bailian.openjudge.cn/practice/4137 |
| 4005 | 拼点游戏 | http://bailian.openjudge.cn/practice/4005 |
十一、动态规划
| 题号 | 名称 | 链接 |
|---|---|---|
| 2760 / 1163 | 数字三角形 | http://bailian.openjudge.cn/practice/2760 |
| 2757 / 2533 | LIS 最长上升子序列 | http://bailian.openjudge.cn/practice/2757 |
| 1661 | Help Jimmy | http://bailian.openjudge.cn/practice/1661 |
| 2806 / 1458 | LCS 最长公共子序列 | http://bailian.openjudge.cn/practice/2806 |
| 4131 | 神奇口袋 | http://bailian.openjudge.cn/practice/4131 |
| 1088 | 滑雪 | http://bailian.openjudge.cn/practice/1088 |
| 2373 | 灌溉草场 | http://bailian.openjudge.cn/practice/2373 |
| 1390 | 方盒游戏 | http://bailian.openjudge.cn/practice/1390 |
| 1037 | 美妙栅栏 | http://bailian.openjudge.cn/practice/1037 |
| 4118 | 开餐馆 | http://bailian.openjudge.cn/practice/4118 |
| 1745 | 序列可分 | http://bailian.openjudge.cn/practice/1745 |
| 4119 | 复杂整数划分 | http://bailian.openjudge.cn/practice/4119 |
| 4120 | 硬币 | http://bailian.openjudge.cn/practice/4120 |
| 4102 | 宠物小精灵 | http://bailian.openjudge.cn/practice/4102 |
| 4121 | 股票买卖 | http://bailian.openjudge.cn/practice/4121 |
| 4122 | 切割回文 | http://bailian.openjudge.cn/practice/4122 |
十二、深度优先搜索 DFS
| 题号 | 名称 | 链接 |
|---|---|---|
| 2815 | 城堡问题 | http://bailian.openjudge.cn/practice/2815 |
| 1724 | ROADS | http://bailian.openjudge.cn/practice/1724 |
| 1190 | 生日蛋糕 | http://bailian.openjudge.cn/practice/1190 |
| 1011 | Sticks | http://bailian.openjudge.cn/practice/1011 |
| 4103 | 踩方格 | http://bailian.openjudge.cn/practice/4103 |
| 1321 | 棋盘问题 | http://bailian.openjudge.cn/practice/1321 |
| 4123 | 马走日 | http://bailian.openjudge.cn/practice/4123 |
| 4124 | 海贼王大航路 | http://bailian.openjudge.cn/practice/4124 |
| 4126 | DNA | http://bailian.openjudge.cn/practice/4126 |
十三、广度优先搜索 BFS
| 题号 | 名称 | 链接 |
|---|---|---|
| 4001 | Catch that Cow | http://bailian.openjudge.cn/practice/4001 |
| 4116 | 拯救行动 | http://bailian.openjudge.cn/practice/4116 |
| 4115 | 鸣人与佐助 | http://bailian.openjudge.cn/practice/4115 |
| 1077 | 八数码 | http://bailian.openjudge.cn/practice/1077 |
| 4127 | 迷宫问题 | http://bailian.openjudge.cn/practice/4127 |
| 4128 | 单词序列 | http://bailian.openjudge.cn/practice/4128 |
| 4129 | 变换的迷宫 | http://bailian.openjudge.cn/practice/4129 |
| 1753 | Flip Game | http://bailian.openjudge.cn/practice/1753 |
| 4130 | Saving That Monk | http://bailian.openjudge.cn/practice/4130 |
| 1729 | Jack and Jill | http://bailian.openjudge.cn/practice/1729 |

浙公网安备 33010602011771号