你将学到的
  • 枚举
  • 字符及字符串处理
  • 高精度计算
  • 贪心算法
  • 排序和检索
  • 模拟
  • 时间和日期处理
  • 分治、动态规划
  • 搜索算法
  • 数论基础
课程内容
收起内容
  共365个章节
第1章 程序设计竞赛与在线程序实践
共25个章节
1.1节 程序设计竞赛
视频 1 程序设计竞赛
视频 2 大学生程序设计竞赛
视频 3 大学生程序设计竞赛的评判原理
视频 4 蓝桥杯大赛
1.2节 在线程序实践
视频 5 在线程序实践
1.3节 程序设计竞赛题目特点
视频 6 程序设计竞赛题目特点
编程 1 例1.1 海狸(单个测试数据版)
视频 7 例1.1 海狸(单个测试数据版)
编程 2 例1.2 海狸(Beavergnaw)
视频 8 例1.2 海狸(Beavergnaw)
1.4节 程序设计竞赛题目解析
编程 3 例1.3 数字阶梯(Number Steps)
视频 9 例1.3 数字阶梯(Number Steps)
编程 4 例1.4 假票(Fake Tickets)
视频 10 例1.4 假票(Fake Tickets)
编程 5 例1.5 纸牌(Deck)
视频 11 例1.5 纸牌(Deck)
编程 6 例1.6 特殊的四位数(Specialized Four-Digit Numbers)
视频 12 例1.6 特殊的四位数(Specialized Four-Digit Numbers)
编程 7 例1.7 一个数学难题(A Mathematical Curiosity)
视频 13 例1.7 一个数学难题(A Mathematical Curiosity)
编程 8 练习1.1 二进制数(Binary Numbers)
编程 9 练习1.2 完数(Perfection)
编程 10 练习1.3 求三角形外接圆周长(The Circumference of the Circle)
编程 11 练习1.4 根据公式计算e (u Calculate e)
1.5节 实践进阶:基本的输入输出的处理
视频 14 实践进阶:基本的输入输出的处理
第2章 枚举
共26个章节
2.1节 枚举算法及例题解析
视频 15 枚举算法思想
视频 16 枚举算法实现要点
编程 12 例2.1 假银币(Counterfeit Dollar)
视频 17 例2.1 假银币(Counterfeit Dollar)
编程 13 例2.2 关灯游戏增强版(Extended Lights Out)
视频 18 例2.2 关灯游戏增强版(Extended Lights Out)
编程 14 例2.3 自我数(Self Numbers)
视频 19 例2.3 自我数(Self Numbers)
编程 15 练习2.1 围住多边形的边(Frame Polygonal Line)
编程 16 练习2.2 假币(False Coin)
编程 17 练习2.3 积木(Blocks)
2.2节 歌德巴赫猜想
编程 18 例2.4 验证歌德巴赫猜想
视频 20 例2.4 验证歌德巴赫猜想
编程 19 例2.5 歌德巴赫猜想(Goldbach's Conjecture)
视频 21 例2.5 歌德巴赫猜想(Goldbach's Conjecture)
编程 20 练习2.4 我的猜想
编程 21 练习2.5 歌德巴赫猜想2(Goldbach's Conjecture)
2.3节 尺取法及应用
编程 22 例2.6 子序列(Subsequence)
视频 23 例2.6 子序列(Subsequence)
编程 23 例2.7 日志统计(2018年第9届蓝桥杯省赛)
视频 24 例2.7 日志统计
编程 24 练习2.6 杰西卡的阅读问题(Jessica's Reading Problem)
编程 25 练习2.7 Bound Found
编程 26 练习2.8 连续质数的和(Sum of Consecutive Prime Numbers)
2.4节 实践进阶:算法及算法复杂度
视频 25 实践进阶:算法及算法复杂度
第3章 模拟
共31个章节
3.1节 模拟方法及例题解析
视频 26 模拟方法及实现要点
编程 27 例3.1 醉酒的狱卒(The Drunk Jailer)
视频 27 例3.1 醉酒的狱卒(The Drunk Jailer)
编程 28 例3.2 爬动的蠕虫(Climbing Worm)
视频 28 例3.2 爬动的蠕虫(Climbing Worm)
编程 29 例3.3 遍历迷宫(Maze Traversal)
视频 29 例3.3 遍历迷宫(Maze Traversal)
编程 30 练习3.1 货币兑换(Currency Exchange)
编程 31 练习3.2 古怪的钟(Weird Clock)
编程 32 练习3.3 金币(Gold Coins)
3.2节 模拟约瑟夫环
编程 33 例3.4 出列游戏
视频 30 例3.4 出列游戏
编程 34 例3.5 网络拥堵解决方案(Eeny Meeny Moo)
视频 31 例3.5 网络拥堵解决方案(Eeny Meeny Moo)
编程 35 练习3.4 约瑟夫环问题(Joseph)
编程 36 练习3.5 另一个约瑟夫环问题(Yet Another Josephus Problem)
3.3节 游戏的模拟
编程 37 例3.6 三子棋游戏(Tic Tac Toe)
视频 32 例3.6 三子棋游戏(Tic Tac Toe)
编程 38 例3.7 扫雷游戏(Mine Sweeper)
视频 33 例3.7 扫雷游戏(Mine Sweeper)
视频 34 例3.8 弹球游戏(Linear Pachinko)
编程 39 例3.8 弹球游戏(Linear Pachinko)
编程 40 练习3.6 汉诺塔(Hanoi Tower)
编程 41 练习3.7 石头、剪刀、布(Rock, Scissors, Paper)
编程 42 练习3.8 贪吃蛇游戏(The Worm Turns)
3.4节 实践进阶:程序测试
视频 35 实践进阶:程序测试1
视频 36 实践进阶:程序测试2
视频 37 实践进阶:程序测试3
视频 38 实践进阶:程序测试4
视频 39 实践进阶:程序测试5
视频 40 实践进阶:程序测试7
第4章 字符及字符串处理
共51个章节
4.1节 字符转换与编码问题
视频 41 第4章 字符及字符串处理
编程 43 例4.1 曾经最难的题目(the hardest problem ever)
视频 42 例4.1 曾经最难的题目(the hardest problem ever)
编程 44 例4.2 打字纠错(WERTYU)
视频 43 例4.2 打字纠错(WERTYU)
编程 45 例4.3 Soundex编码(Soundex)
视频 44 例4.3 Soundex编码(Soundex)
编程 46 例4.4 圆括号编码(Parencodings)
视频 45 例4.4 圆括号编码(Parencodings)
编程 47 练习4.1 置换加密法(Substitution Cypher)
编程 48 练习4.2 Quicksum校验和(Quicksum)
编程 49 练习4.3 字符宽度编码(Run Length Encoding)
编程 50 练习4.4 摩尔斯编码(P,MTHBGWB)
4.2节 回文的判断与处理
编程 51 例4.5 回文的判断
视频 46 例4.5 回文的判断
编程 52 例4.6 构造回文
视频 47 例4.6 构造回文
编程 53 例4.7 镜像回文(Palindromes)
视频 48 例4.7 镜像回文(Palindromes)
编程 54 练习4.5 添加后缀构成回文(Suffidromes)
4.3节 子串处理
编程 55 例4.8 字符串的幂(Power Strings)
视频 49 例4.8 字符串的幂(Power Strings)
编程 56 例4.9 字符串包含问题(All in All)
视频 50 例4.9 字符串包含问题(All in All)
编程 57 练习4.6 令人惊讶的字符串(Surprising Strings)
4.4节 模式匹配问题及KMP算法
视频 51 字符串的模式匹配问题
视频 52 朴素的模式匹配算法
编程 58 例4.10 朴素的模式匹配算法
视频 53 例4.10 朴素的模式匹配算法
视频 54 KMP算法的思想及实现
编程 59 例4.11 KMP算法的实现
视频 55 例4.11 KMP算法的实现
视频 56 求模板串P的前缀函数
视频 57 模板串P的前缀函数求解的实现
视频 58 KMP算法的另一种描述
编程 60 例4.12 马龙的字符串(Marlon's String)
视频 59 例4.12 马龙的字符串(Marlon's String)
编程 61 例4.13 模糊匹配
视频 60 例4.13 模糊匹配
编程 62 练习4.7 Oulipo
编程 63 练习4.8 Knuth-Morris-Pratt Algorithm(KMP算法)
4.5节 其他竞赛题目解析
编程 64 例4.14 数字字符
视频 61 例4.14 数字字符
编程 65 例4.15 英语数字翻译(English-Number Translator)
视频 62 例4.15 英语数字翻译(English-Number Translator)
编程 66 练习4.9 LC显示器(LC-Display)
编程 67 练习4.10 单词逆序(Word Reversal)
编程 68 练习4.11 多项式表示问题(Polynomial Showdown)
4.6节 实践进阶:特殊的输入输出的处理
视频 63 实践进阶:特殊的输入输出的处理
视频 64 实践进阶:特殊的输入的处理
视频 65 实践进阶:特殊的输出的处理
第5章 时间和日期的处理
共35个章节
5.1节 相关问题
视频 67 星期数计算
视频 69 日期合法性判定
视频 71 时间表示及转换
5.2节 例题解析
编程 69 例5.1 今天是几号(What Day Is It?)
视频 72 例5.1 今天是几号(What Day Is It?)
编程 70 例5.2 五一假期(May Day Holiday)
视频 73 例5.2 五一假期(May Day Holiday)
编程 71 例5.3 相隔天数
视频 74 例5.3 相隔天数
编程 72 例5.4 日历(Calendar)
视频 75 例5.4 日历(Calendar)
编程 73 例5.5 日期问题(2017年第8届蓝桥杯省赛)
视频 76 例5.5 日期问题
编程 74 例5.6 电影系列题目之《先知》
视频 77 例5.6 电影系列题目之《先知》
编程 75 例5.7 玛雅历(Maya Calendar)
视频 78 例5.7 玛雅历(Maya Calendar)
编程 76 例5.8 干支纪年法
视频 79 例5.8 干支纪年法
编程 77 例5.9 公制时间(Metric Time)
视频 80 例5.9 公制时间(Metric Time)
编程 78 例5.10 通话时间
视频 81 例5.10 通话时间
编程 79 练习5.1 幸运周(The Lucky Week)
编程 80 练习5.2 黑色星期五
编程 81 练习5.3 一年中的第几天
编程 82 练习5.4 星期六
编程 83 练习5.5 时间日期格式转换
编程 84 练习5.6 有多少个9(How Many Nines)
5.3节 实践进阶:程序调试
视频 83 调试步骤和方法
第6章 高精度计算
共36个章节
6.1节 基础知识
编程 85 例6.1 回文数(Palindrom Numbers)
视频 87 例6.1 回文数(Palindrom Numbers)
视频 88 用字符型数组或整型数组实现算术运算
编程 86 例6.2 初等算术(Primary Arithmetic)
视频 89 例6.2 初等算术(Primary Arithmetic)
编程 87 练习6.1 设计计算器(Basically Speaking)
编程 88 练习6.2 进制转换(Number Base Conversion)
编程 89 练习6.3 Wacmian数(Wacmian Numbers)
6.2节 高精度计算原理及实现要点
视频 90 高精度计算原理
视频 91 高精度计算的基本思路
编程 90 例6.3 Skew二进制(Skew Binary)
视频 92 例6.3 skew二进制(Skew Binary)
视频 93 高精度计算要点
编程 91 练习6.4 位运算
编程 92 练习6.5 各位和
6.3节 高精度数的基本运算
编程 93 例6.4 整数探究(Integer Inquiry)
视频 94 例6.4 整数探究(Integer Inquiry)
视频 95 高精度数的乘法
编程 94 例6.5 高精度数的乘法
视频 96 例6.5 高精度数的乘法
视频 97 高精度数的除法
编程 95 例6.6 八进制小数(Octal Fractions)
视频 98 例6.6 八进制小数(Octal Fractions)
编程 96 练习6.6 火星上的加法(Martian Addition)
编程 97 练习6.7 总和(Total Amount)
编程 98 练习6.8 余数(Basic Remains)
编程 99 练习6.9 Fibonacci数判定
6.4节 其他高精度题目解析
编程 100 例6.7 Fibonacci数(Fibonacci Numbers)
视频 99 例6.7 Fibonacci数(Fibonacci Numbers)
编程 101 例6.8 颠倒数的和(Adding Reversed Numbers)
视频 100 例6.8 颠倒数的和(Adding Reversed Numbers)
编程 102 练习6.10 有多少个Fibonacci数(How Many Fibs?)
编程 103 练习6.11 数字变换(Computer Transformation)
6.5节 实践进阶:代码优化
视频 101 实践进阶:代码优化
第7章 递归、分治、动态规划与贪心
共50个章节
7.1节 将较大规模问题降为较小规模问题
视频 102 第7章-递归、分治、动态规划与贪心
视频 104 求Fibonacci数列
7.2节 递归算法及例题解析
视频 105 递归算法思想及存在的问题
编程 104 例7.1 整数划分问题
视频 106 例7.1 整数划分问题
编程 105 例7.2 另一个Fibonacci数列(Fibonacci Again)
视频 107 例7.2 另一个Fibonacci数列(Fibonacci Again)
编程 106 例7.3 分形(Fractal)
视频 108 例7.3 分形(Fractal)
编程 107 练习7.1 偶数的划分1(划分成偶数)
编程 108 练习7.2 偶数的划分2(划分成奇数)
编程 109 练习7.3 奇数的划分
编程 110 练习7.4 幸存者游戏(Recursive Survival)
编程 111 练习7.5 抽签(Lot)
7.3节 分治算法及例题解析
视频 109 分治算法的思想
视频 110 例7.4 棋盘覆盖问题
编程 112 例7.5 阿尔法编码(Alphacode)
视频 111 例7.5 阿尔法编码(Alphacode)
编程 113 例7.6 Fibonacci
视频 112 例7.6 Fibonacci
编程 114 练习7.6 Quoit Design
编程 115 练习7.7 居民集会(2015年第6届蓝桥杯全国总决赛)
7.4节 动态规划算法及例题解析
视频 113 动态规划算法的思想
编程 116 例7.7 矩阵连乘问题
视频 114 例7.7 矩阵连乘问题
视频 115 动态规划算法的基本要素
视频 116 备忘录方法
编程 117 例7.8 单调回文分解(Unimodal Palindromic Decompositions)
视频 117 例7.8 单调回文分解(Unimodal Palindromic Decompositions)
编程 118 例7.9 回文串(Palindromes)
视频 118 例7.9 回文串(Palindromes)
编程 119 练习7.8 柱状图中的最大矩形(Largest Rectangle in a Histogram)
编程 120 练习7.9 恐怖的集合(Terrible Sets)
编程 121 练习7.10 波动数列(2014年第5届蓝桥杯省赛)
7.5节 贪心算法及例题解析
视频 119 贪心算法的思想
编程 122 例7.10 活动安排问题
视频 120 例7.10 活动安排问题
视频 121 关于活动安排问题的进一步讨论
视频 122 贪心算法的基本要素
视频 123 贪心算法和动态规划算法的差异
编程 123 例7.11 背包问题
视频 124 例7.11 背包问题
编程 124 例7.12 过桥(Bridge)
视频 125 例7.12 过桥(Bridge)
编程 125 练习7.11 看电影
编程 126 练习7.12 Stripies
编程 127 练习7.13 乘积最大(2018年第9届蓝桥杯省赛)
7.6节 实践进阶:函数及递归函数设计
视频 126 实践进阶:递归函数的设计和调用
视频 127 实践进阶:函数的设计
第8章 搜索
共33个章节
8.1节 深度优先搜索
视频 128 深度优先搜索的思想
编程 128 例8.1 骨头的诱惑(Tempter of the Bone)
视频 129 例8.1 骨头的诱惑(Tempter of the Bone)
编程 129 例8.2 最大的泡泡串
视频 130 例8.2 最大的泡泡串
编程 130 练习8.1 图形周长(Image Perimeters)
编程 131 练习8.2 泡泡龙游戏(Bubble Shooter)
编程 132 练习8.3 火力配置网络(Fire Net)
8.2节 用深度优先搜索求解排列组合问题
视频 131 用深度优先搜索求解排列组合问题
编程 133 例8.3 素数环问题(Prime Ring Problem)
视频 132 例8.3 素数环问题(Prime Ring Problem)
编程 134 例8.4 保险箱解密高手(Safecracker)
视频 133 例8.4 保险箱解密高手(Safecracker)
编程 135 例8.5 方形硬币(Square Coins)
视频 134 例8.5 方形硬币(Square Coins)
编程 136 例8.6 求和(Sum It Up)
视频 135 例8.6 求和(Sum It Up)
编程 137 例8.7 正方形(Square)
视频 136 例8.7 正方形(Square)
编程 138 练习8.4 字母排列(Anagram)
编程 139 练习8.5 抽奖游戏(Lotto)
编程 140 练习8.6 分配大理石(Dividing)
8.3节 广度优先搜索
视频 137 广度优先搜索的思想.
编程 141 例8.8 马走日
视频 138 例8.8 马走日
编程 142 例8.9 翻木块游戏
视频 139 例8.9 翻木块游戏
编程 143 练习8.7 奇特的迷宫
编程 144 练习8.8 营救(Rescue)
编程 145 练习8.9 送情报
编程 146 练习8.10 电影系列题目之《遇见未来》
8.4节 实践进阶:搜索技巧
视频 140 深度优先搜索技巧
视频 141 广度优先搜索技巧
第9章 排序及检索
共43个章节
9.1节 排序及排序函数的使用
视频 142 排序及排序算法
视频 143 排序的应用
视频 144 排序函数qsort的用法
视频 145 排序函数sort的用法
编程 147 例9.1 快乐的蠕虫(The Happy Worm)
视频 146 例9.1 快乐的蠕虫(The Happy Worm)
编程 148 练习9.1 修建新的库房(Building a New Depot)
编程 149 练习9.2 单词重组(Word Amalgamation)
编程 150 练习9.3 英文姓名排序
9.2节 排序题目解析
编程 151 例9.2 花生(The Peanuts)
视频 147 例9.2 花生(The Peanuts)
编程 152 例9.3 Unix操作系统的ls命令(Unix ls)
视频 148 例9.3 Unix操作系统的ls命令(Unix ls)
编程 153 例9.4 混乱排序(Scramble Sort)
视频 149 例9.4 混乱排序(Scramble Sort)
编程 154 练习9.4 古老的密码(Ancient Cipher)
编程 155 练习9.5 DNA排序(DNA Sorting)
编程 156 练习9.6 体重排序(Does This Make Me Look Fat?)
编程 157 练习9.7 简单排序
9.3节 二分法思想及二分检索
视频 150 二分法的思想
视频 151 二分检索法及应用
编程 158 例9.5 赌徒(Gamblers)
视频 152 例9.5 赌徒(Gamblers)
编程 159 例9.6 复合单词(Compound Words)
视频 153 例9.6 复合单词(Compound Words)
编程 160 练习9.8 棍子的膨胀(Expanding Rods)
9.4节 实践进阶:标准模板库及常用数据结构的使用
视频 154 数据结构基本概念
视频 156 向量(vector)
编程 161 例9.7 括号串匹配
视频 158 例9.7 括号串匹配
编程 162 例9.8 奇特的火车站
视频 159 例9.8 奇特的火车站
视频 160 队列(queue)
编程 163 例9.9 特殊的数据结构
视频 161 例9.9 特殊的数据结构
视频 162 优先级队列(priority_queue)
编程 164 例9.10 优先级队列
视频 163 例9.10 优先级队列
编程 165 练习9.9 简单的表达式运算
编程 166 练习9.10 超市购物车
第10章 数论基础
共35个章节
10.1节 符号说明
视频 165 第10章 数论基础
10.2节 整除理论
视频 167 自然数与整数
视频 169 例10.1 筛选法求素数
视频 171 带余数除法与辗转相除法
编程 167 例10.2 求最大公约数
视频 172 例10.2 求最大公约数
视频 173 最大公约数理论
视频 174 算术基本定理
视频 175 符号[x],n!的分解式
视频 176 π(x)与欧拉函数
编程 168 例10.3 Relatives
视频 177 例10.3 Relatives
编程 169 练习10.1 欧几里德最差序列
编程 170 练习10.2 欧几里得游戏(Euclid's Game)
编程 171 练习10.3 求一组数的最大公约数
编程 172 练习10.4 N!的质因子分解
10.3节 同余理论
编程 173 例10.4 各位数码全为1的数(Ones)
视频 179 例10.4 各位数码全为1的数(Ones)
视频 181 同余类与剩余类
编程 174 例10.5 韩信点兵
视频 183 例10.5 韩信点兵
编程 175 练习10.5 Niven数(Niven Numbers)
编程 176 练习10.6 C循环(C Looooops)
编程 177 练习10.7 人体生理周期调节(Biorhythms)
10.4节 素数相关问题
编程 178 例10.6 半素数(Semi-Prime)
视频 185 例10.6 半素数(Semi-Prime)
10.5节 实践进阶:程序设计竞赛技巧
视频 186 实践进阶:程序设计竞赛技巧
课程教师

王桂平 重庆交通大学 共发布过 8 门课程

博士/副教授/硕导,重庆交通大学信息科学与工程学院副系主任,主要研究领域为大数据和图计算,有近20年的程序设计类竞赛指导经历,指导的学生获得国家级奖60余项、省级奖400余项,发表论文50余篇,著有《程序设计方法及算法导引》、《图论算法理论、实现及应用》等。

查看老师的所有课程 >
开通会员,即刻开始学习
加入社群
加入编程交流社群