WFOJ 算法基础 - 训练题单

目录
├── 01 枚举模拟 (共 25 题)
├── 02 高精运算 (共 12 题)
├── 03 排序算法 (共 15 题)
├── 04 贪心策略 (共 22 题)
├── 05 递推策略 (共 21 题)
├── 06 递归分治 (共 25 题)
├── 07 二分算法 (共 18 题)
├── 08 深搜回溯 (共 42 题)
├── 09 队列广搜 (共 25 题)
├── 10 队列与栈 (共 30 题)
├── 11 树的概念 (共 25 题)
├── 12 图的概念 (共 36 题)
├── 13 背包动规 (共 25 题)
├── 14 线性动规 (共 40 题)
├── 15 区间动规 (共 10 题)
├── 16 STL回顾 (共 10 题)
├── 17 数学知识 (共 3 题)
├── 18 赛前集训 (共 7 题)

01 枚举模拟 (共 25 题)

题目编号 题目名称 通过 提交
WFOJ1786 【入门】判断素数 通过 提交
WFOJ1802 【入门】求三个数的最大数 通过 提交
WFOJ1803 【入门】求三个数的大小顺序 通过 提交
WFOJ2283 骑士的金币(coin) 通过 提交
WFOJ2233 【入门】校门外的树 通过 提交
WFOJ2417 【基础】公交换乘 通过 提交
WFOJ2981 回文字符串(palindrome) 通过 提交
WFOJ2982 克隆机(clone) 通过 提交
WFOJ2200 【基础】龙虎斗 通过 提交
WFOJ3156 小教官 通过 提交
WFOJ3157 守望者的逃离 通过 提交
WFOJ3158 投票游戏 vote 通过 提交
WFOJ3159 字符串的展开 通过 提交
WFOJ3160 小猫的鱼 通过 提交
WFOJ3161 直播获奖 通过 提交
WFOJ1751 一维前缀和 通过 提交
WFOJ1752 二维前缀和 通过 提交
WFOJ1753 一维差分 通过 提交
WFOJ1754 二维差分 通过 提交
WFOJ2983 代价(cost) 通过 提交
WFOJ2958 双指针【第一次出现的字符】 通过 提交
WFOJ2957 双指针【两数之和】 通过 提交
WFOJ2960 集合前N个元素 通过 提交
WFOJ2629 丑数 通过 提交
WFOJ1755 判断回文串 通过 提交

02 高精运算 (共 12 题)

题目编号 题目名称 通过 提交
WFOJ2031 【基础】高精度加法 通过 提交
WFOJ2032 【基础】高精度减法 通过 提交
WFOJ2427 【基础】高精度减法2 通过 提交
WFOJ2428 【基础】高精度减法3 通过 提交
WFOJ2049 【基础】高精度乘单精度 通过 提交
WFOJ2043 【基础】求2的n次方 通过 提交
WFOJ2044 【基础】求2+2*2+2*2*2+…+2*2*2*….*2 通过 提交
WFOJ2059 【基础】求1!+2!+3!+4!+...+n! 通过 提交
WFOJ2605 【提高】破译密码 通过 提交
WFOJ2172 【基础】棋盘里的麦子? 通过 提交
WFOJ2048 【基础】计算N的阶乘 通过 提交
WFOJ2429 【提高】高精度减法4 通过 提交

03 排序算法 (共 15 题)

题目编号 题目名称 通过 提交
WFOJ1725 选择排序 通过 提交
WFOJ2882 选择排序(普通版) 通过 提交
WFOJ2883 选择排序(简单版) 通过 提交
WFOJ2884 选择排序(高级版) 通过 提交
WFOJ1727 冒泡排序 通过 提交
WFOJ1728 插入排序 通过 提交
WFOJ1773 数组元素的排序 通过 提交
WFOJ2714 士兵站队问题(sol) 通过 提交
WFOJ2715 第K小整数 通过 提交
WFOJ1929 数字和排序 通过 提交
WFOJ2253 坐标排序 通过 提交
WFOJ2266 数组排序 通过 提交
WFOJ2703 奖学金(排序)    通过 提交
WFOJ2704 统计数字(排序) 通过 提交
WFOJ3179 钓友排序4 通过 提交

04 贪心策略 (共 22 题)

题目编号 题目名称 通过 提交
WFOJ2136 【基础】删数问题 通过 提交
WFOJ2089 【例题】需要安排几位师傅加工零件? 通过 提交
WFOJ2219 【入门】淘淘捡西瓜 通过 提交
WFOJ2247 【基础】纪念品分组 通过 提交
WFOJ2926 【例题】排队接水 通过 提交
WFOJ1991 【基础】排队打水问题 通过 提交
WFOJ2314 【基础】任务调度 通过 提交
WFOJ1992 【提高】拦截导弹的系统数量求解 通过 提交
WFOJ2135 【基础】活动选择 通过 提交
WFOJ2176 【基础】切割绳子 通过 提交
WFOJ2757 田忌赛马 通过 提交
WFOJ2927 公路(road) 通过 提交
WFOJ2930 寻找平面上的极大点 通过 提交
WFOJ2671 排座椅 通过 提交
WFOJ1998 过河的最短时间 通过 提交
WFOJ2134 均分纸牌 通过 提交
WFOJ3180 猫的鱼塘 通过 提交
WFOJ3181 独木舟上的旅行 通过 提交
WFOJ3182 删除数字 通过 提交
WFOJ3183 喷水装置 通过 提交
WFOJ3184 果冻豆 通过 提交
WFOJ3185 运输 通过 提交

05 递推策略 (共 21 题)

题目编号 题目名称 通过 提交
WFOJ2132 【例题】Pell数列 通过 提交
WFOJ2946 斐波那契数 通过 提交
WFOJ1845 猴子吃桃子 通过 提交
WFOJ1908 数列求和 通过 提交
WFOJ2001 【例题】兔子繁殖 通过 提交
WFOJ3147 昆虫繁殖 通过 提交
WFOJ2698 【例题】走楼梯 通过 提交
WFOJ2130 骨牌铺方格 通过 提交
WFOJ3049 分梨 通过 提交
WFOJ2133 平面分割<2> 通过 提交
WFOJ3188 【例题】松鼠吃果子 通过 提交
WFOJ3189 【例题】邮票问题 通过 提交
WFOJ3190 王小二切饼 通过 提交
WFOJ2127 棋盘格数 通过 提交
WFOJ2267 约瑟夫(最后一个人) 通过 提交
WFOJ2128 位数问题 通过 提交
WFOJ2061 【例题】摘花生问题 通过 提交
WFOJ1979 【例题】数塔问题 通过 提交
WFOJ1987 过河卒 通过 提交
WFOJ2131 蜜蜂路线 通过 提交
WFOJ3187 统计方案 通过 提交

06 递归分治 (共 25 题)

题目编号 题目名称 通过 提交
WFOJ1765 【例题】编程求解1+2+3+...+n 通过 提交
WFOJ2569 【例题】阿克曼(Ackmann)函数 通过 提交
WFOJ1985 【例题】汉诺塔 通过 提交
WFOJ1841 求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值。 通过 提交
WFOJ2973 括弧匹配检验 通过 提交
WFOJ1871 正整数N转换成一个二进制数 通过 提交
WFOJ2004 角谷猜想 通过 提交
WFOJ2028 爱因斯坦的数学题 通过 提交
WFOJ1986 汉诺塔的移动次数 通过 提交
WFOJ2711 黑白棋子的移动 通过 提交
WFOJ1851 【例题】求两个自然数M和N的最大公约数 通过 提交
WFOJ1850 两个自然数M和N的最小公倍数 通过 提交
WFOJ2098 土地分割 通过 提交
WFOJ2024 韩信点兵 通过 提交
WFOJ2277 【例题】数根 通过 提交
WFOJ2325 加数 通过 提交
WFOJ2137 【例题】摘花生路径 通过 提交
WFOJ2173 数塔路径 通过 提交
WFOJ2175 【例题】快速幂 通过 提交
WFOJ2702 取余运算mod 通过 提交
WFOJ2705 麦森数 通过 提交
WFOJ2706 循环比赛日程表 通过 提交
WFOJ1726 【例题】数列排序 通过 提交
WFOJ2713 求逆序对个数 通过 提交
WFOJ2697 车厢重组 通过 提交

07 二分算法 (共 18 题)

题目编号 题目名称 通过 提交
WFOJ3200 二分的模板 通过 提交
WFOJ2376 【入门】二分查找左侧边界 通过 提交
WFOJ2377 【入门】二分查找右侧边界 通过 提交
WFOJ2378 【入门】二分查找满足条件的数 通过 提交
WFOJ2380 【基础】同时出现的数 通过 提交
WFOJ2381 【基础】最满意的方案 通过 提交
WFOJ2384 最少的修改次数 通过 提交
WFOJ1999 【入门】二分查找 通过 提交
WFOJ2710 方程f(x)的根 通过 提交
WFOJ3202 膨胀的木棍 通过 提交
WFOJ2324 【提高】买木头 通过 提交
WFOJ2390 【基础】伐木工 通过 提交
WFOJ2391 【提高】跳石头 通过 提交
WFOJ2392 【基础】愤怒的奶牛 通过 提交
WFOJ2394 鱼塘标识4 通过 提交
WFOJ2398 【提高】防御迷阵 通过 提交
WFOJ3046 装果子 通过 提交

08 深搜回溯 (共 42 题)

题目编号 题目名称 通过 提交
WFOJ2146 【提高】奶牛和草丛 通过 提交
WFOJ2193 【基础】迷宫出口 通过 提交
WFOJ2197 【基础】数池塘(四方向) 通过 提交
WFOJ2198 【基础】数池塘(八方向) 通过 提交
WFOJ2675 【基础】填涂颜色 通过 提交
WFOJ2379 【入门】红与黑 通过 提交
WFOJ2389 【入门】有多少细胞 通过 提交
WFOJ2195 【基础】走出迷宫的最少步数 通过 提交
WFOJ2196 【基础】走出迷宫的最少步数2 通过 提交
WFOJ2174 【提高】迷宫的路径? 通过 提交
WFOJ2194 【基础】迷宫的第一条出路 通过 提交
WFOJ2613 【基础】迷宫的所有路径 通过 提交
WFOJ2071 【基础】全排列的结果 通过 提交
WFOJ2070 数的计数 通过 提交
WFOJ2121 【提高】素数环 通过 提交
WFOJ2124 【基础】n个数取出r个数排列 通过 提交
WFOJ2202 【提高】素数环2 通过 提交
WFOJ2465 【基础】简单单词接龙 通过 提交
WFOJ2529 【入门】全部排列问题 通过 提交
WFOJ2559 【递归】n个数的全排列 通过 提交
WFOJ2142 【提高】素数分解 通过 提交
WFOJ2143 【提高】小X学游泳 通过 提交
WFOJ2144 【例题】方格取数 通过 提交
WFOJ2385 自然数的拆分方案总数 通过 提交
WFOJ2203 【提高】卫星照片 通过 提交
WFOJ3148 N皇后问题 通过 提交
WFOJ3149 算24点 通过 提交
WFOJ3150 【搜索基础】N皇后问题 通过 提交
WFOJ3151 【搜索基础】子集和问题 通过 提交
WFOJ3152 【搜索基础】装载问题 通过 提交
WFOJ3153 整数的划分(Noip2001) 通过 提交
WFOJ3154 小猫算数 通过 提交
WFOJ3155 【搜索与回溯】试卷批分 通过 提交
WFOJ1758 八皇后 通过 提交

09 队列广搜 (共 25 题)

题目编号 题目名称 通过 提交
WFOJ2193 【基础】迷宫出口 通过 提交
WFOJ2197 【基础】数池塘(四方向) 通过 提交
WFOJ2206 【提高】泉水 通过 提交
WFOJ2625 【入门】快乐的马里奥 通过 提交
WFOJ2379 【入门】红与黑 通过 提交
WFOJ2389 【入门】有多少细胞 通过 提交
WFOJ2195 【基础】走出迷宫的最少步数 通过 提交
WFOJ2196 【基础】走出迷宫的最少步数2 通过 提交
WFOJ2201 【基础】骑士巡游 通过 提交
WFOJ2204 【提高】骑士牛 通过 提交
WFOJ2304 【提高】小 X 学游泳(swim) 通过 提交
WFOJ2382 【入门】采药的最短路径 通过 提交
WFOJ2383 【入门】骑士的拯救行动 通过 提交
WFOJ2123 【基础】卒的遍历 通过 提交
WFOJ2125 【提高】马的遍历 通过 提交
WFOJ2205 【提高】走出迷宫的最短路径 通过 提交
WFOJ2692 【基础】奇怪的电梯 通过 提交
WFOJ2207 【提高】最小拐弯路径 通过 提交
WFOJ2675 【基础】填涂颜色 通过 提交
WFOJ2676 【提高】01迷宫 通过 提交
WFOJ2395 【基础】拯救指挥部 通过 提交
WFOJ3101 黑白图像[入门经典] 通过 提交

10 队列与栈 (共 30 题)

题目编号 题目名称 通过 提交
WFOJ2962 队列基本操作 通过 提交
WFOJ2963 周末舞会 通过 提交
WFOJ3133 约瑟夫环问题 通过 提交
WFOJ2961 机器翻译 通过 提交
WFOJ2632 黑盒子 通过 提交
WFOJ2626 合并果子 通过 提交
WFOJ2627 懒羊羊吃草 通过 提交
WFOJ2629 丑数 通过 提交
WFOJ2631 飞船赛 通过 提交
WFOJ2663 双向队列 通过 提交
WFOJ2646 滑动窗口 通过 提交
WFOJ2647 刷广告 通过 提交
WFOJ3034 良好的感觉 通过 提交
WFOJ2966 栈的使用 通过 提交
WFOJ2964 出栈合法性 通过 提交
WFOJ2967 栈的操作I 通过 提交
WFOJ2973 括弧匹配检验 通过 提交
WFOJ2974 字符串匹配问题 通过 提交
WFOJ2976 后缀表达式求值 通过 提交
WFOJ2665 火车编组 通过 提交
WFOJ2975 中缀转后缀 通过 提交
WFOJ2977 中缀表达式求值 通过 提交
WFOJ2978 栈实现表达式求值 通过 提交
WFOJ2290 小X与队列 通过 提交
WFOJ2968 双栈排序 通过 提交
WFOJ2959 吃早饭 eat 通过 提交
WFOJ2970 使用栈实现进制转换 通过 提交
WFOJ2971 回文问题 通过 提交
WFOJ2972 选择客栈 通过 提交

11 树的概念 (共 25 题)

题目编号 题目名称 通过 提交
WFOJ3084 找树根和孩子 通过 提交
WFOJ3085 单词查找树 通过 提交
WFOJ3031 树的高度 通过 提交
WFOJ2722 已知中序与层序,求先序 通过 提交
WFOJ3087 已知先序和中序,求后序 通过 提交
WFOJ2723 已知先序和中序,求节点数 通过 提交
WFOJ3027 先序遍历二叉树 通过 提交
WFOJ3028 后序遍历二叉树 通过 提交
WFOJ3029 中序遍历二叉树 通过 提交
WFOJ3032 二叉树的创建与遍历 通过 提交
WFOJ3088 二叉树的遍历 通过 提交
WFOJ3030 判断完全二叉树 通过 提交
WFOJ3024 完全二叉树查找 通过 提交
WFOJ3025 二叉排序树 通过 提交
WFOJ3026 二叉搜索树 通过 提交
WFOJ2717 FBI树(fbi) 通过 提交
WFOJ3089 扩展二叉树 通过 提交
WFOJ2720 查找二叉树 通过 提交
WFOJ2719 对称二叉树 通过 提交
WFOJ3033 礼物 通过 提交
WFOJ3086 医院设置 通过 提交
WFOJ3083 NOIP2011普及组第4题 表达式的值 通过 提交
WFOJ3090 [CSP-J 2022] 逻辑表达式 通过 提交
WFOJ3002 Haffman编码 通过 提交
WFOJ2993 哈夫曼树 通过 提交

12 图的概念 (共 36 题)

题目编号 题目名称 通过 提交
WFOJ3097 图的遍历—深搜 通过 提交
WFOJ3098 图的遍历—广搜 通过 提交
WFOJ3099 图的深搜 通过 提交
WFOJ3100 图的广搜 通过 提交
WFOJ2991 连通图判断 通过 提交
WFOJ2989 求联通分支数 通过 提交
WFOJ3091 网络寻路 通过 提交
WFOJ3011 珍珠BEAD 通过 提交
WFOJ3102 城市之战 通过 提交
WFOJ3103 微博转发 通过 提交
WFOJ3104 头目 通过 提交
WFOJ3092 危险系数 通过 提交
WFOJ3105 判断可达性 通过 提交
WFOJ3106 从起始点到目标点的最短步数 通过 提交
WFOJ3000 确定比赛名次 通过 提交
WFOJ3107 哥尼斯堡七桥(一笔画问题) 通过 提交
WFOJ3012 铲雪车(一笔画问题) 通过 提交
WFOJ3019 骑马修栅栏(一笔画问题) 通过 提交
WFOJ2996 单源最短路 通过 提交
WFOJ3020 最短路径(单源最短路) 通过 提交
WFOJ3015 热浪(单源最短路) 通过 提交
WFOJ3014 最优乘车(单源最短路) 通过 提交
WFOJ3013 信使(单源最短路) 通过 提交
WFOJ3093 加工零件(单源最短路) 通过 提交
WFOJ2998 单源最短路与路径 通过 提交
WFOJ2999 最短路径与最小花费 通过 提交
WFOJ3095 最爱的城市(多源最短路) 通过 提交
WFOJ3096 关系推断(多源最短路) 通过 提交
WFOJ3021 烦人的幻灯片(slides) 通过 提交
WFOJ2990 畅通工程I (最小生成树) 通过 提交
WFOJ2994 畅通工程II(最小生成树) 通过 提交
WFOJ2995 畅通工程III(最小生成树) 通过 提交
WFOJ3005 局域网(最小生成树) 通过 提交
WFOJ3006 繁忙的都市(最小生成树) 通过 提交
WFOJ3008 联络员(最小生成树) 通过 提交
WFOJ3009 连接格点(最小生成树) 通过 提交

13 背包动规 (共 25 题)

题目编号 题目名称 通过 提交
WFOJ2045 【例题】01背包问题 通过 提交
WFOJ2652 采药 通过 提交
WFOJ3053 搬寝室 通过 提交
WFOJ3080 双十一活动 通过 提交
WFOJ3048 拔河 通过 提交
WFOJ2422 混合牛奶 Mixing Milk 通过 提交
WFOJ2604 购买贺年卡 通过 提交
WFOJ3060 积木城堡 通过 提交
WFOJ2370 【例题】多重背包 通过 提交
WFOJ2371 【例题】多重背包优化 通过 提交
WFOJ3055 麦香牛肉 通过 提交
WFOJ3058 摆花 通过 提交
WFOJ3082 庆功会 通过 提交
WFOJ2393 【例题】背包问题求方案数 通过 提交
WFOJ2367 钱币兑换 通过 提交
WFOJ2372 小明买书 通过 提交
WFOJ2373 开心的金明 通过 提交
WFOJ2374 砝码称重 通过 提交
WFOJ2386 数字的组合 通过 提交
WFOJ3130 【例题】完全背包问题 通过 提交
WFOJ2654 采灵芝 通过 提交
WFOJ3059 最小乘车费用 通过 提交
WFOJ2387 【例题】混合背包 通过 提交
WFOJ3131 【例题】二维费用背包问题 通过 提交
WFOJ2388 【例题】分组背包问题 通过 提交

14 线性动规 (共 40 题)

题目编号 题目名称 通过 提交
WFOJ2698 【例题】走楼梯 通过 提交
WFOJ1979 【例题】数塔问题 通过 提交
WFOJ2524 前缀最大值 通过 提交
WFOJ2526 跳格子<1> 通过 提交
WFOJ2527 跳格子<2> 通过 提交
WFOJ2668 【例题】最长上升子序列(LIS) 通过 提交
WFOJ2464 【例题】最大部分和(连续部分和) 通过 提交
WFOJ2669 拦截导弹 通过 提交
WFOJ2384 最少的修改次数 通过 提交
WFOJ2040 合唱队形求解 通过 提交
WFOJ3052 猴子与香蕉 通过 提交
WFOJ3081 股票买卖 通过 提交
WFOJ3065 饥饿的牛 通过 提交
WFOJ3069 最大空闲时间 通过 提交
WFOJ2670 奶牛沙盘队 通过 提交
WFOJ2528 【例题】数轴取数 通过 提交
WFOJ3110 打家劫舍 通过 提交
WFOJ3062 筷子配对 通过 提交
WFOJ2144 【例题】方格取数 通过 提交
WFOJ3056 滑雪 通过 提交
WFOJ2313 房屋积水 通过 提交
WFOJ2141 【例题】机器分配 通过 提交
WFOJ3070 花店橱窗布置 通过 提交
WFOJ3072 最大乘积 通过 提交
WFOJ3061 书的复制 通过 提交
WFOJ3063 护卫队 通过 提交
WFOJ3074 飙车 通过 提交
WFOJ3076 马棚问题 通过 提交
WFOJ3078 盖房子 通过 提交
WFOJ3079 三人组舞 通过 提交
WFOJ2674 传球游戏 通过 提交
WFOJ3051 最大子阵和 通过 提交
WFOJ3075 邮局问题 通过 提交
WFOJ3201 钓鱼 通过 提交
WFOJ3050 【例题】最长公共子序列(LCS) 通过 提交
WFOJ3057 【例题】字符串编辑距离 通过 提交
WFOJ3073 回文词 通过 提交
WFOJ3064 胖男孩 通过 提交
WFOJ3054 传纸条(多维) 通过 提交
WFOJ2655 乌龟棋(多维) 通过 提交

15 区间动规 (共 10 题)

题目编号 题目名称 通过 提交
WFOJ3191 石子合并<1> 通过 提交
WFOJ3071 石子合并<2> 通过 提交
WFOJ3192 石子合并<3> 通过 提交
WFOJ3193 能量项链 通过 提交
WFOJ3194 凸多边形的三角剖分 通过 提交
WFOJ3195 乘积最大 通过 提交
WFOJ3196 字符串折叠 通过 提交
WFOJ3197 架设电话线 通过 提交
WFOJ3198 竞赛 通过 提交
WFOJ3199 低价回文 通过 提交

16 STL回顾 (共 10 题)

题目编号 题目名称 通过 提交
WFOJ3168 STL 容器介绍 通过 提交
WFOJ3169 vector 变长数组使用指南 通过 提交
WFOJ3170 stack 栈使用示例 通过 提交
WFOJ3171 queue 队列的使用示例 通过 提交
WFOJ3172 priority_queue 优先队列使用示例 通过 提交
WFOJ3173 deque 双端队列使用示例 通过 提交
WFOJ3174 set 集合用法示例 通过 提交
WFOJ3175 map 映射使用示例 通过 提交
WFOJ3176 STL 算法介绍 通过 提交
WFOJ3177 算法使用示例 通过 提交

17 数学知识 (共 3 题)

题目编号 题目名称 通过 提交
WFOJ3108 数学知识(无须提交) 通过 提交
WFOJ3178 筛法求素数 通过 提交
WFOJ3218 算法基础课相关代码模板 通过 提交

18 赛前集训 (共 7 题)

题目编号 题目名称 通过 提交
WFOJ3109 考前集训(无须作答) 通过 提交
WFOJ3162 赛前注意事项(无须作答) 通过 提交
WFOJ3163 2010-2022年 T1真题 通过 提交
WFOJ3164 2010-2022年 T2真题 通过 提交
WFOJ3165 2010-2022年 T3真题 通过 提交
WFOJ3166 2010-2022年 T4真题 通过 提交
WFOJ3167 历年真题知识汇总 通过 提交