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

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

更新时间: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++语言

 第一章 C++语言入门 

第二章 顺序结构程序设计 

第三章 程序的控制结构 

第四章 循环结构的程序设计 

第五章 数 组 

第六章 函数

基础(二) 基础算法

 第一章 高精度计算 

 第二章 数据排序

第三章 递推算法

第四章 递归算法

第五章 搜索与回溯算法

第六章  贪心算法

第七章 分治算法

第八章 广度优先搜索算法

第九章 动态规划算法

基础(三) 数据结构

二、算法提高篇

三、高手训练

四、官方真题


一、语言及算法基础篇

基础(一) C++语言

 第一章 C++语言入门 

题号题目名称
1000入门测试题目
1001Hello,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等差数列末项计算
1036A×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机器翻译
1402Vigenère密码
1403素数对
1404我家的门牌号
1405质数的和与积
1406单词替换
1407笨小猴
1408素数回文数的个数
1409判决素数个数
1410最大质因子序列
1411区间内的真素数
1412二进制分类
1413确定进制

第二节 递归算法

题号题目名称
1158求1+2+3+...
1159斐波那契数列
1160倒序数
1161转进制
1162字符串逆序
1163阿克曼(Ackmann)函数
1164digit函数
1165Hermite多项式
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)
1189Pell数列
1190上台阶
1191流感传染
1192放苹果
1193吃糖果
1194移动路线
1195判断整除
1196踩方格
1197山区建小学

第四章 递归算法

题号题目名称
1315【例4.5】集合的划分
1316【例4.6】数的计数(Noip2001)
1198逆波兰表达式
1199全排列
1200分解因数
1201菲波那契数列
1202Pell数列
1203扩号匹配问题
1204爬楼梯
1205汉诺塔问题
1206放苹果
1207求最大公约数问题
12082的幂次方表示
1209分数求和
1210因子分解
1211判断元素是否存在

第五章 搜索与回溯算法

题号题目名称
1317【例5.2】组合的输出
1318【例5.3】自然数的拆分
1212LETTERS
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】整数区间
1223An Easy Problem
1224最大子矩阵
1225金银岛
1226装箱问题
1227Ride to Office
1228书架
1229电池的寿命
1230寻找平面上的极大点
1231最小新整数
1232Crossing River
1233接水问题

第七章 分治算法

题号题目名称
1325【例7.4】 循环比赛日程表
1326【例7.5】 取余运算(mod)
1327【例7.6】黑白棋子的移动
1328【例7.7】光荣的梦想
12342011
1235输出前k大的数
1236区间合并
1237求排列的逆序数
1238一元三次方程求解
1239统计数字
1240查找最接近的元素
1241二分法求函数的零点
1242网线主管
1243月度开销
1244和为给定数
1245不重复地输出数
1246膨胀的木棍
1247河中跳房子

第八章 广度优先搜索算法

题号题目名称
1329【例8.2】细胞
1330【例8.3】最少步数
1248Dungeon Master
1249Lake Counting
1250The Castle
1251仙岛求药
1252走迷宫
1253抓住那头牛
1254走出迷宫
1255迷宫问题
1256献给阿尔吉侬的花束
1257Knight 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买书
1294Charm 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数的划分
1305Maximum sum
1306最长公共子上升序列

 

 

基础(三) 数据结构

二、算法提高篇

三、高手训练

四、官方真题

 

 

  • 29
    点赞
  • 188
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值