信息学奥赛一本通超详细题解,动画图文题解
时间:2023-01-30 05:30:00
内容来自微信微信官方账号:大神编程。原作者授权。
更新时间:2020-11-5
基本算法问题现在开始更新。
个人感言:我从未见过如此详细的问题解决方案。动画和图片的结合适合任何级别的玩家。特别适合自学。如果你有这么详细的问题解决方案,即使没有老师,也没问题。甚至比我以前的老师更详细。
为何要转载:
- 动画、图文结合。
- 我读了一些文章,一些我认为很简单的问题,但我学到了我以前从未学过的知识点和细节,重点是学习别人的思维方式。
- 让更多的学生学到更多的知识。
官方的QQ群:893157498(已取消,有微信群)
这是我建的QQ群:795233394
欢迎志同道合的同学^_^
更新的主题颜色为蓝色,点击相应的主题名称查看问题的详细解决方案。
按章节分类,一般按分类方法解决问题。for循环一节,就会用for解决循环问题的方法。
因NOI系列赛事将不再支持Pascal和C语言,只支持C ,所以所有的问题都不会用Pascal,而使用C/C 。使用C语言是为了适应一些学习C语言的学生,并使用一些问题C/C ,学习C语言的学生可以比较两者,这有利于C转移C 。但以后可能不再使用C语言,只使用C语言C 。
目录
1.语言和算法的基本部分
基础(一) C 语言
第一章 C 语言入门
第二章 顺序结构程序设计
第三章 程序控制结构
第四章 循环结构的程序设计
第五章 数 组
第六章 函数
基础(二) 基础算法
第一章 高精度计算
第二章数据排序
第三章递推算法
第四章递归算法
第五章搜索和回溯算法
第六章 贪心算法
第七章分治算法
第八章广度优先搜索算法
第九章 动态规划算法
基础(三) 数据结构
二、算法改进
三、高手训练
四、官方真题
1.语言和算法的基本部分
基础(一) C 语言
第一章 C 语言入门
| 题号 | 题目名称 |
| 1000 | 入门试题 |
| 1001 | Hello,World! |
| 1002 | 输出第二个整数 |
| 1003 | 对齐输出 |
| 1004 | 字符三角形 |
| 1005 | 地球人口承载力估计 |
第二章 顺序结构程序设计
第一节 运算符和表达式
| 题号 | 题目名称 |
| 1006 | A+B问题 |
| 1007 | 计算(a+b)×c的值 |
| 1008 | 计算(a+b)/c的值 |
| 1009 | 带余除法 |
| 1010 | 计算分数的浮点数值 |
第二节 常量和变量
| 题号 | 题目名称 |
| 1011 | 甲流疫情死亡率 |
| 1012 | 计算多项式的值 |
| 1013 | 温度表达转化 |
| 1014 | 与圆相关的计算 |
| 1015 | 计算并联电阻的阻值 |
第三节 标准数据类型
| 题号 | 题目名称 |
| 1016 | 整型数据类型存储空间大小 |
| 1017 | 浮点型数据类型存储空间大小 |
| 1018 | 其他数据类型存储空间大小 |
| 1019 | 浮点数向零舍入 |
| 1020 | 打印ASCII码 |
| 1021 | 打印字符 |
| 1022 | 整型与布尔型的转换 |
| 1023 | Hello,World!的大小 |
第四节 数据输入输出
| 题号 | 题目名称 |
| 1024 | 保留3位小数的浮点数 |
| 1025 | 保留12位小数的浮点数 |
| 1026 | 空格分隔输出 |
| 1027 | 输出浮点数 |
| 1028 | 字符菱形 |
第五节 顺序结构实例
| 题号 | 题目名称 |
| 1029 | 计算浮点数相除的余 |
| 1030 | 计算球的体积 |
| 1031 | 反向输出一个三位数 |
| 1032 | 大象喝水 |
| 1033 | 计算线段长度 |
| 1034 | 计算三角形面积 |
| 1035 | 等差数列末项计算 |
| 1036 | A×B问题 |
| 1037 | 计算2的幂 |
| 1038 | 苹果和虫子 |
第三章 程序的控制结构
第一节 if选择结构
| 题号 | 题目名称 |
| 1039 | 判断数正负 |
| 1040 | 输出绝对值 |
| 1041 | 奇偶数判断 |
| 1042 | 奇偶ASCII值判断 |
| 1043 | 整数大小比较 |
| 1044 | 判断是否为两位数 |
| 1045 | 收集瓶盖赢大奖 |
| 1046 | 判断一个数能否同时被3和5整除 |
| 1047 | 判断能否被3,5,7整除 |
| 1048 | 有一门课不及格的学生 |
第二节 switch语句
| 题号 | 题目名称 |
| 1049 | 晶晶赴约会 |
| 1050 | 骑车与走路 |
| 1051 | 分段函数 |
| 1052 | 计算邮资 |
| 1053 | 最大数输出 |
| 1054 | 三角形判断 |
| 1055 | 判断闰年 |
| 1056 | 点和正方形的关系 |
| 1057 | 简单计算器 |
| 1058 | 求一元二次方程 |
第四章 循环结构的程序设计
第一节 for语句
| 题号 | 题目名称 |
| 1059 | 求平均年龄 |
| 1060 | 均值 |
| 1061 | 求整数的和与均值 |
| 1062 | 最高的分数 |
| 1063 | 最大跨度值 |
| 1064 | 奥运奖牌计数 |
| 1065 | 奇数求和 |
| 1066 | 满足条件的数累加 |
| 1067 | 整数的个数 |
| 1068 | 与指定数字相同的数的个数 |
| 1069 | 乘方计算 |
| 1070 | 人口增长 |
| 1071 | 菲波那契数 |
| 1072 | 鸡尾酒疗法 |
| 1073 | 救援 |
| 1074 | 津津的储蓄计划 |
| 1075 | 药房管理 |
| 1076 | 正常血压 |
| 1077 | 统计满足条件的4位数 |
| 1078 | 求分数序列和 |
| 1079 | 计算分数加减表达式的值 |
| 1080 | 余数相同问题 |
| 1081 | 分苹果 |
| 1082 | 求小数的某一位 |
| 1083 | 计算星期几 |
| 1084 | 幂的末尾 |
第二节 while语句
| 题号 | 题目名称 |
| 1085 | 球弹跳高度的计算 |
| 1086 | 角谷猜想 |
| 1087 | 级数求和 |
| 1088 | 分离整数的各个数 |
| 1089 | 数字反转 |
| 1090 | 含k个3的数 |
第三节 do-while语句
| 题号 | 题目名称 |
| 1085 | 球弹跳高度的计算 |
| 1086 | 角谷猜想 |
| 1087 | 级数求和 |
| 1088 | 分离整数的各个数 |
| 1089 | 数字反转 |
| 1090 | 含k个3的数 |
第四节 循环嵌套
| 题号 | 题目名称 |
| 1091 | 求阶乘的和 |
| 1092 | 求出e的值 |
| 1093 | 计算多项式的值 |
| 1094 | 与7无关的数 |
| 1095 | 数1的个数 |
| 1096 | 数字统计 |
| 1097 | 画矩形 |
| 1098 | 质因数分解 |
| 1099 | 第n小的质数 |
| 1100 | 金币 |
| 1101 | 不定方程求解 |
第五章 数 组
第一节 一维数组
| 题号 | 题目名称 |
| 1102 | 与指定数字相同的数的个数 |
| 1103 | 陶陶摘苹果 |
| 1104 | 计算书费 |
| 1105 | 数组逆序重存放 |
| 1106 | 年龄与疾病 |
| 1107 | 校门外的树 |
| 1108 | 向量点积计算 |
| 1109 | 开关灯 |
| 1110 | 查找特定的值 |
| 1111 | 不高兴的津津 |
| 1112 | 最大值和最小值的差 |
| 1113 | 不与最大数相同的数字之和 |
| 1114 | 白细胞计数 |
| 1115 | 直方图 |
| 1116 | 最长平台 |
| 1117 | 整数去重 |
| 1118 | 铺地毯 |
第二节 二维数组
| 题号 | 题目名称 |
| 1119 | 矩阵交换行 |
| 1120 | 同行列对角线的格 |
| 1121 | 计算矩阵边缘元素之和 |
| 1122 | 计算鞍点 |
| 1123 | 图像相似度 |
| 1124 | 矩阵加法 |
| 1125 | 矩阵乘法 |
| 1126 | 矩阵转置 |
| 1127 | 图像旋转 |
| 1128 | 图像模糊处理 |
第三节 字符类型和字符数组
| 题号 | 题目名称 |
| 1129 | 统计数字字符个数 |
| 1130 | 找第一个只出现一次的字符 |
| 1131 | 基因相关性 |
| 1132 | 石头剪子布 |
| 1133 | 输出亲朋字符串 |
| 1134 | 合法C标识符查 |
| 1135 | 配对碱基链 |
| 1136 | 密码翻译 |
| 1137 | 加密的病历单 |
| 1138 | 将字符串中的小写字母转换成大写字母 |
| 1139 | 整理药名 |
| 1140 | 验证子串 |
| 1141 | 删除单词后缀 |
| 1142 | 单词的长度 |
| 1143 | 最长最短单词 |
| 1144 | 单词翻转 |
| 1145 | 字符串p型编码 |
| 1146 | 判断字符串是否为回文 |
| 1147 | 最高分数的学生姓名 |
| 1148 | 连续出现的字符 |
| 1149 | 最长单词2 |
第六章 函数
第一节 函数
| 题号 | 题目名称 |
| 1150 | 求正整数2和n之间的完全数 |
| 1151 | 素数个数 |
| 1152 | 最大数max(x,y,z) |
| 1153 | 绝对素数 |
| 1154 | 亲和数 |
| 1155 | 回文三位数 |
| 1156 | 求π的值 |
| 1157 | 哥德巴赫猜想 |
| 1397 | 简单算术表达式求值 |
| 1398 | 短信计费 |
| 1399 | 甲流病人初筛 |
| 1400 | 统计单词数 |
| 1401 | 机器翻译 |
| 1402 | Vigenère密码 |
| 1403 | 素数对 |
| 1404 | 我家的门牌号 |
| 1405 | 质数的和与积 |
| 1406 | 单词替换 |
| 1407 | 笨小猴 |
| 1408 | 素数回文数的个数 |
| 1409 | 判决素数个数 |
| 1410 | 最大质因子序列 |
| 1411 | 区间内的真素数 |
| 1412 | 二进制分类 |
| 1413 | 确定进制 |
第二节 递归算法
| 题号 | 题目名称 |
| 1158 | 求1+2+3+... |
| 1159 | 斐波那契数列 |
| 1160 | 倒序数 |
| 1161 | 转进制 |
| 1162 | 字符串逆序 |
| 1163 | 阿克曼(Ackmann)函数 |
| 1164 | digit函数 |
| 1165 | Hermite多项式 |
| 1166 | 求f(x,n) |
| 1167 | 再求f(x,n) |
基础(二) 基础算法
第一章 高精度计算
| 题号 | 题目名称 |
| 1307 | 【例1.3】高精度乘法 |
| 1308 | 【例1.5】高精除 |
| 1309 | 【例1.6】回文数(Noip1999) |
| 1168 | 大整数加法 |
| 1169 | 大整数减法 |
| 1170 | 计算2的N次方 |
| 1171 | 大整数的因子 |
| 1172 | 求10000以内n的阶乘 |
| 1173 | 阶乘和 |
| 1174 | 大整数乘法 |
| 1175 | 除以13 |
第二章 数据排序
| 题号 | 题目名称 |
| 1310 | 【例2.2】车厢重组 |
| 1311 | 【例2.5】求逆序对 |
| 1176 | 谁考了第k名 |
| 1177 | 奇数单增序列 |
| 1178 | 成绩排序 |
| 1179 | 奖学金 |
| 1180 | 分数线划定 |
| 1181 | 整数奇偶排序 |
| 1182 | 合影效果 |
| 1183 | 病人排队 |
| 1184 | 明明的随机数 |
| 1185 | 单词排序 |
| 1186 | 出现次数超过一半的数 |
| 1187 | 统计字符数 |
第三章 递推算法
| 题号 | 题目名称 |
| 1312 | 【例3.4】昆虫繁殖 |
| 1313 | 【例3.5】位数问题 |
| 1314 | 【例3.6】过河卒(Noip2002) |
| 1188 | 菲波那契数列(2) |
| 1189 | Pell数列 |
| 1190 | 上台阶 |
| 1191 | 流感传染 |
| 1192 | 放苹果 |
| 1193 | 吃糖果 |
| 1194 | 移动路线 |
| 1195 | 判断整除 |
| 1196 | 踩方格 |
| 1197 | 山区建小学 |
第四章 递归算法
| 题号 | 题目名称 |
| 1315 | 【例4.5】集合的划分 |
| 1316 | 【例4.6】数的计数(Noip2001) |
| 1198 | 逆波兰表达式 |
| 1199 | 全排列 |
| 1200 | 分解因数 |
| 1201 | 菲波那契数列 |
| 1202 | Pell数列 |
| 1203 | 扩号匹配问题 |
| 1204 | 爬楼梯 |
| 1205 | 汉诺塔问题 |
| 1206 | 放苹果 |
| 1207 | 求最大公约数问题 |
| 1208 | 2的幂次方表示 |
| 1209 | 分数求和 |
| 1210 | 因子分解 |
| 1211 | 判断元素是否存在 |
第五章 搜索与回溯算法
| 题号 | 题目名称 |
| 1317 | 【例5.2】组合的输出 |
| 1318 | 【例5.3】自然数的拆分 |
| 1212 | LETTERS |
| 1213 | 八皇后问题 |
| 1214 | 八皇后 |
| 1215 | 迷宫 |
| 1216 | 红与黑 |
| 1217 | 棋盘问题 |
| 1218 | 取石子游戏 |
| 1219 | 马走日 |
| 1220 | 单词接龙 |
| 1221 | 分成互质组 |
| 1222 | 放苹果 |
第六章 贪心算法
| 题号 | 题目名称 |
| 1319 | 【例6.1】排队接水 |
| 1320 | 【例6.2】均分纸牌(Noip2002) |
| 1321 | 【例6.3】删数问题(Noip1994) |
| 1322 | 【例6.4】拦截导弹问题(Noip1999) |
| 1323 | 【例6.5】活动选择 |
| 1324 | 【例6.6】整数区间 |
| 1223 | An Easy Problem |
| 1224 | 最大子矩阵 |
| 1225 | 金银岛 |
| 1226 | 装箱问题 |
| 1227 | Ride to Office |
| 1228 | 书架 |
| 1229 | 电池的寿命 |
| 1230 | 寻找平面上的极大点 |
| 1231 | 最小新整数 |
| 1232 | Crossing River |
| 1233 | 接水问题 |
第七章 分治算法
| 题号 | 题目名称 |
| 1325 | 【例7.4】 循环比赛日程表 |
| 1326 | 【例7.5】 取余运算(mod) |
| 1327 | 【例7.6】黑白棋子的移动 |
| 1328 | 【例7.7】光荣的梦想 |
| 1234 | 2011 |
| 1235 | 输出前k大的数 |
| 1236 | 区间合并 |
| 1237 | 求排列的逆序数 |
| 1238 | 一元三次方程求解 |
| 1239 | 统计数字 |
| 1240 | 查找最接近的元素 |
| 1241 | 二分法求函数的零点 |
| 1242 | 网线主管 |
| 1243 | 月度开销 |
| 1244 | 和为给定数 |
| 1245 | 不重复地输出数 |
| 1246 | 膨胀的木棍 |
| 1247 | 河中跳房子 |
第八章 广度优先搜索算法
| 题号 | 题目名称 |
| 1329 | 【例8.2】细胞 |
| 1330 | 【例8.3】最少步数 |
| 1248 | Dungeon Master |
| 1249 | Lake Counting |
| 1250 | The Castle |
| 1251 | 仙岛求药 |
| 1252 | 走迷宫 |
| 1253 | 抓住那头牛 |
| 1254 | 走出迷宫 |
| 1255 | 迷宫问题 |
| 1256 | 献给阿尔吉侬的花束 |
| 1257 | Knight Moves |
第九章 动态规划算法
第一节 动态规划的基本模型
| 题号 | 题目名称 |
| 1258 | 【例9.2】数字金字塔 |
| 1259 | 【例9.3】求最长不下降序列 |
| 1260 | 【例9.4】拦截导弹(Noip1999) |
| 1261 | 【例9.5】城市交通路网 |
| 1262 | 【例9.6】挖地雷 |
| 1263 | 【例9.7】友好城市 |
| 1264 | 【例9.8】合唱队形 |
| 1265 | 【例9.9】最长公共子序列 |
| 1266 | 【例9.10】机器分配 |
| 1281 | 最长上升子序列 |
| 1282 | 最大子矩阵 |
| 1283 | 登山 |
| 1284 | 摘花生 |
| 1285 | 最大上升子序列和 |
| 1286 | 怪盗基德的滑翔翼 |
| 1287 | 最低通行费 |
| 1288 | 三角形最佳路径问题 |
| 1289 | 拦截导弹 |
第二节 背包问题
| 题号 | 题目名称 |
| 1267 | 【例9.11】01背包问题 |
| 1268 | 【例9.12】完全背包问题 |
| 1269 | 【例9.13】庆功会 |
| 1270 | 【例9.14】混合背包 |
| 1271 | 【例9.15】潜水员 |
| 1272 | 【例9.16】分组背包 |
| 1273 | 【例9.17】货币系统 |
| 1290 | 采药 |
| 1291 | 数字组合 |
| 1292 | 宠物小精灵之收服 |
| 1293 | 买书 |
| 1294 | Charm Bracelet |
| 1295 | 装箱问题 |
| 1296 | 开餐馆 |
第三节 动态规划经典题
| 题号 | 题目名称 |
| 1274 | 【例9.18】合并石子 |
| 1275 | 【例9.19】乘积最大 |
| 1276 | 【例9.20】编辑距离 |
| 1277 | 【例9.21】方格取数 |
| 1278 | 【例9.22】复制书稿(book) |
| 1279 | 【例9.23】橱窗布置(flower) |
| 1280 | 【例9.24】滑雪 |
| 1297 | 公共子序列 |
| 1298 | 计算字符串距离 |
| 1299 | 糖果 |
| 1300 | 鸡蛋的硬度 |
| 1301 | 大盗阿福 |
| 1302 | 股票买卖 |
| 1303 | 鸣人的影分身 |
| 1304 | 数的划分 |
| 1305 | Maximum sum |
| 1306 | 最长公共子上升序列 |
基础(三) 数据结构
二、算法提高篇
三、高手训练
四、官方真题

