信息学奥赛一本通超详细题解,动画图文题解

内容来源于微信公众号:大神编程。已经过原文作者授权。

更新时间:2020-7-5

现在题解不再按顺序更新了,随意更新,部分基础算法题已更新。

个人感言:从未见过如此详细的题解,动画、图文结合,适合任何水平的选手。尤其是特别适合自学的。有这么详细的题解,就算没有老师也没问题。甚至比我以前的老师讲的都详细。

为什么要转载:

  • 动画、图文结合。
  • 我看了部分文章,一些我觉得很简单的题,但从中学到了以前没有学过的知识点和细节,重点是从中学习别人思维方式。
  • 让更多的同学能学到更多的知识。

前几天跟官方客服套出了官方的QQ群:893157498

这是我建的QQ群:795233394
欢迎各位志同道合的同学们^_^

已更新的题目颜色是蓝色,点击相应的题目名称即可查看该题的详细题解。

根据章节分类,一般按照该分类的方法解题。例如for循环一节,就会用for循环的方法解题。

因NOI系列赛事将不再支持Pascal和C语言,只支持C++,所以所有题解不会使用Pascal,而使用C/C++。使用C语言是为了让部分学C语言的同学有所适应,并且部分题解会使用C/C++,主要让学C语言的同学可以对比两者,有利于由C转C++。不过后面或许不再使用C语言,只使用C++。

 

一、语言及算法基础篇

基础(一) 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 最长公共子上升序列

 

 

基础(三) 数据结构

二、算法提高篇

三、高手训练

四、官方真题

 

 

你可能感兴趣的:(C++,信息学奥赛,数据结构和算法)