Acwing算法基础课+CSP部分题解

本文讲述了如何为蓝桥杯PythonA组和CSP(3月或6月)比赛准备,通过跟随Acwing的算法基础课视频,结合洛谷和蓝桥杯题单,以及CSP真题前几道进行练习,涉及数据结构、搜索算法、数学基础知识等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Acwing算法基础课:

Acwing
章节类型题解难度
第1章:基础算法快速排序785容易
快速排序786容易
归并排序787容易
归并排序之求逆序对数量788一般
整数二分789容易
浮点数二分790容易
高精度加法791容易
高精度减法792容易
高精度乘法793容易
高精度除法794容易
前缀和795容易
子矩阵的和796容易
一维差分797容易
二维差分798容易
双指针之最长不重复子序列799一般
双指针之数组元素的目标和800容易
二进制中1的个数801容易
离散化之区间和802较难
区间合并803容易
第2章:数据结构单链表之静态826容易
双链表之静态827容易
模拟栈828容易
栈之表达式求值3302一般
模拟队列829容易
单调栈830较难
单调队列154较难
KMP831较难
Trie之字符串统计835容易
Trie之最大异或对143一般
并查集之合并集合836容易
并查集之连通块中点的数量837容易
并查集之食物链240困难
堆排序838容易
模拟堆839较难
哈希——模拟散列表840容易
哈希——字符串散列841一般
STLSTL
第3章:搜索与图论DFS——全排列842容易
DFS——n皇后843一般
BFS——走迷宫844容易
BFS——八数码845较难
树与图的深度优先遍历(DFS)——树的重心846较难
树与图的广度优先遍历(BFS)——最短距离847容易
树与图的广度优先遍历(BFS)——拓扑序列848容易
树与图的广度优先遍历(Dijkstra1)——求最短路(稠密图)849容易
树与图的广度优先遍历(Dijkstra2)——求最短路(稀疏图)850容易
bellman-ford——求带负权边的最短路853容易
SPFA——求最短路851容易
SPFA——判断负环852容易
Floyd——多源最短路径854容易
最小生成树——朴素Prim858容易
最小生成树——Kruskal859容易
二分图的判定——染色法860容易
二分图的最大匹配数——匈牙利861容易
第4章:数学知识试除法判定质数866容易
分解质因数867容易
筛质数868容易
试除法求约数869容易
约数个数870容易
约数之和871容易
最大公约数872容易
欧拉函数873容易
筛法求欧拉函数874容易
快速幂875容易
快速幂求逆元876容易
拓展欧几里得877容易
线性同余方程878容易
中国剩余定理——表达整数的奇怪方式204容易
高斯消元——解线性方程组883容易
高斯消元——解异或线性方程组884容易
求组合数Ⅰ885容易
求组合数Ⅱ886容易
求组合数Ⅲ887容易
求组合数Ⅳ888容易
卡特兰数——满足条件的01序列889容易
容斥原理——能被整除的数890容易
博弈论——Nim游戏891容易
博弈论——台阶_Nim游戏892容易
博弈论——集合_Nim游戏893一般
博弈论——拆分_Nim游戏894一般
第5章:动态规划背包问题——01背包01背包简单
背包问题——完全背包完全背包简单
背包问题——多重背包问题1多重背包1简单
背包问题——多重背包问题2多重背包2一般
背包问题——分组背包问题分组背包一般
线性DP——数字三角形898容易
线性DP——最长上升子序列1895容易
线性DP——最长上升子序列2896一般
线性DP——最长公共子序列897一般
线性DP——最短编辑距离902一般
线性DP——编辑距离899一般
区间DP——石子合并282一般
线计数类DP——整数划分900较难
数位统计DP——计数问题338较难
状态压缩DP——蒙德里安的梦想291困难
状态压缩DP——最短Hamilton路径91较难
树形DP——没有上司的舞会285容易
记忆化搜索——滑雪901容易
第6章:贪心区间问题——区间选点905容易
区间问题——最大不相交区间数量908容易
区间问题——区间分组906一般
区间问题——区间覆盖907一般
Huffman树——合并果子148简单
排序不等式——排队打水913简单
绝对值不等式——货仓选址104简单
推公式——刷杂技的牛125一般

CSP:

CSP(T1~T3)
题目编号类型题解难度
2024-2-1循环词频统计简单
2024-2-2STL、交并集相似度计算简单
2024-2-3高斯消元解线性方程组化学方程式配平较难
2024-2-4递归、双向链表、unordered_map十滴水一般
2024-2-5暴力(25分)文件夹合并困难
2023-12-1循环、排序仓库规划容易
2023-12-2质因数分解因子化简容易
2023-12-3大模拟、dfs树上搜索较难
2023-12-4暴力(35分)暴力较难
2023-12-5暴力(10分)彩色路径困难
2023-9-1循环坐标变换(一)容易
2023-9-2前缀和、前缀积坐标变换(二)一般
2023-9-3多项式加减乘、后缀表达式梯度求解较难
2023-5-1映射重复局面容易
2023-5-2矩阵乘法矩阵运算容易
2023-5-3大模拟、位运算解压缩较难
2023-3-1循环田地丈量容易
2023-3-2贪心、二分垦田计划容易
2023-3-3大模拟、位运算、递归LDAP较难
2022-12-1循环现值计算容易
2022-12-2dfs、拓扑排序训练计划容易
2022-12-3大模拟、矩阵输入JPEG 解码一般
2022-9-1循环如此编码容易
2022-9-20-1背包如此包邮?一般
2022-9-3大模拟防疫大数据较难
《C++编程实例100篇》是一本深入实践、极具价值的编程教程,它针对C++编程语言提供了丰富的实例,旨在帮助读者更好地理解和掌握C++的各项特性与编程技巧。这本书的经典之处在于它将理论与实践相结合,通过100个精心设计的编程实例,覆盖了C++的各个核心领域,包括基础语法、面向对象编程、模板、异常处理、STL(标准模板库)等。 我们来探讨C++的基础语法。C++是C语言的增强版,它保留了C语言的高效性和灵活性,并引入了类、对象和继承等面向对象编程概念。基础语法包括变量声明、数据类型、运算符、控制结构(如if语句、for循环、while循环)、函数的定义和调用等。在实例中,你可能会遇到如何编写简单的程序,如计算两个数的和,或者实现一个简单的猜数字游戏。 C++的面向对象编程是其一大特色。通过类和对象,你可以构建复杂的软件系统。类是对象的蓝图,它定义了对象的属性和行为。实例化一个类,就是创建一个具体的对象。继承允许你创建新的类,这些类从现有的类派生,共享其属性和方法,同时可以添加新的功能。多态性是面向对象的另一个关键特性,它使得不同类型的对象可以对同一消息作出不同的响应。这些概念在实例中会以各种形式展现,例如设计一个图形界面的类层次,或实现一个简单的模拟游戏。 接下来是模板,C++的模板功能让代码更加通用,可以处理不同类型的数据。模板分为函数模板和类模板,前者可以创建泛型函数,后者可以创建泛型类。通过模板,你可以编写出高效且灵活的代码,比如实现一个通用的排序算法。 异常处理是C++中用于处理程序运行时错误的机制。当程序出现异常情况时,可以抛出一个异常,然后在适当的点捕获并处理这个异常。这使得代码能够优雅地处理错误,而不是让程序崩溃。实例中可能会有涉及文件操作或网络通信时可能出现的异常处理示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值