Acwing基础课刷题

news/2024/7/19 9:28:10 标签: 爬虫, 动态规划, 算法

第一讲 基础算法

快速排序88

(AcWing) (785). 快速排序

(AcWing) (786). 第(k)个数

归并排序

(AcWing) (787). 归并排序

(AcWing) (788). 逆序对的数量

二分

(AcWing) (789). 数的范围

(AcWing) (790). 数的三次方根

高精度

(AcWing) (791). 高精度加法

(AcWing) (792). 高精度减法

(AcWing) (793). 高精度乘法

(AcWing) (794). 高精度除法

前缀和与差分

(AcWin)g (795). 前缀和

(AcWing) (796). 子矩阵的和

(AcWing) (797). 差分

(AcWing) (798). 差分矩阵

双指针算法

(AcWing) (799). 最长连续不重复子序列

(AcWing) (800). 数组元素的目标和

(AcWing) (2816). 判断子序列

位运算

(AcWing) (801). 二进制中(1)的个数

离散化

(AcWing) (802). 区间和

区间合并

(AcWing) (803). 区间合并

第二讲 数据结构

单链表

(AcWing) (826). 单链表

双链表

(AcWing) (827). 双链表

(AcWing) (828). 模拟栈

(AcWing) (3302). 表达式求值

队列

(AcWing) (829). 模拟队列

单调栈

(AcWing) (830). 单调栈

单调队列

(AcWing) (154). 滑动窗口

KMP

(AcWing) (831). (KMP)字符串

Trie

(AcWing) (835). (Trie)字符串统计

(AcWing) (143). 最大异或对

并查集

(AcWing) (836). 合并集合

(AcWing) (837). 连通块中点的数量

(AcWing) (240). 食物链

(AcWing) (838). 堆排序

(AcWing) (839). 模拟堆

哈希表

(AcWing) (840). 模拟散列表

(AcWing) (841). 字符串哈希

第三讲 搜索与图论

DFS

(AcWing) (842). 排列数字

(AcWing) (843). (n)-皇后问题

BFS

(AcWing) (844). 走迷宫

(AcWing) (845). 八数码

树与图的深度优先遍历

(AcWing) (846). 树的重心

树与图的广度优先遍历

(AcWing) (847). 图中点的层次

拓扑排序

(AcWing) (848). 有向图的拓扑序列

Dijkstra

(AcWing) (849). (Dijkstra)求最短路(I)

(AcWing) (850). (Dijkstra)求最短路(II)

bellman-ford

(AcWing) (853). 有边数限制的最短路

spfa

(AcWing) (851). (spfa)求最短路

(AcWing) (852). (spfa)判断负环

Floyd

(AcWing) (854). (Floyd)求最短路

Prim

(AcWing) (858). (Prim)算法求最小生成树

Kruskal

(AcWing) (859). (Kruskal)算法求最小生成树

染色法判定二分图

(AcWing) (860). 染色法判定二分图

匈牙利算法[月佬算法]

(AcWing) (861). 二分图的最大匹配

第四讲 数学知识

质数

(AcWing) (866). 试除法判定质数

(AcWing) (867). 分解质因数

(AcWing) (868). 筛质数

约数

(AcWing) (869). 试除法求约数

(AcWing) (870). 约数个数

(AcWing) (871). 约数之和

(AcWing) (872). 最大公约数

欧拉函数

(AcWing) (873). 欧拉函数

(AcWing) (874). 筛法求欧拉函数

快速幂

(AcWing) (875). 快速幂

(AcWing) (876). 快速幂求逆元

扩展欧几里得算法

(AcWing) (877). 扩展欧几里得算法

(AcWing) (878). 线性同余方程

中国剩余定理

(AcWing) (204). 表达整数的奇怪方式

高斯消元

(AcWing) (883). 高斯消元解线性方程组

(AcWing) (884). 高斯消元解异或线性方程组

求组合数

(AcWing) (885). 求组合数 I

(AcWing) (886). 求组合数 II

(AcWing) (887). 求组合数 III

(AcWing) (888). 求组合数 IV

(AcWing) (889). 满足条件的01序列

容斥原理

(AcWing) (890). 能被整除的数

博弈论

(AcWing) (891). (Nim) 游戏

(AcWing) (892). 台阶-(Nim)游戏

(AcWing) (893). 集合-(Nim)游戏

(AcWing) (894). 拆分-(Nim)游戏

第五讲 动态规划

背包问题

(AcWing) (2. 01)背包问题

(AcWing) (3). 完全背包问题

(AcWing) (4). 多重背包问题

(AcWing) (5). 多重背包问题 II

(AcWing) (9). 分组背包问题

线性DP

(AcWing) (898). 数字三角形

(AcWing) (895). 最长上升子序列

(AcWing) (896). 最长上升子序列 II

(AcWing) (897). 最长公共子序列

(AcWing) (902). 最短编辑距离

(AcWing) (899). 编辑距离

区间DP

(AcWing) (282). 石子合并

计数类DP

(AcWing) (900). 整数划分

数位统计DP

(AcWing) (338). 计数问题

状态压缩DP

(AcWing) (291). 蒙德里安的梦想

(AcWing) (91). 最短(Hamilton)路径

树形DP

(AcWing) (1049). 大盗阿福 [没有上司的舞会 引入题]

(AcWing) (285). 没有上司的舞会

记忆化搜索

(AcWing) (901). 滑雪

第六讲 贪心

区间问题


(AcWing) (905). 区间选点

思路:尽可能让选择的点跨更多的区间。

(AcWing) (908). 最大不相交区间数量

思路:最大不相交区间数量与区间选点是一样的代码,因为如果某些线段有公共的点,那么它们只能取一个,换句话说,就是有距离无交叉的区间个数。


(AcWing) (906). 区间分组

(AcWing) (907). 区间覆盖

Huffman树

(AcWing) (148). 合并果子

排序不等式

(AcWing) (913). 排队打水

绝对值不等式

(AcWing) (104). 货仓选址

推公式

(AcWing) (114) 国王游戏

(AcWing) (125). 耍杂技的牛


http://www.niftyadmin.cn/n/864678.html

相关文章

力扣刷题指南

链表 计算表达式 二叉树 树的搜索 双指针 动态规划

LeetCode——计算表达式

224. 基本计算器 - 力扣(LeetCode) 【进阶补充】双栈解决通用「表达式计算」问题 class Solution { public:void replace(string &s){int pos s.find(" ");while(pos ! -1){s.replace(pos, 1, "");pos s.find(" "…

树的搜索——leetcode

74. 搜索二维矩阵 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int n matrix.size(), m matrix[0].size();int x 0, y m - 1;while(true){if(x > n || y < 0) r…

二叉树——leetcode

宫水三叶 230. 二叉搜索树中第K小的元素 - 力扣&#xff08;LeetCode&#xff09; 二叉搜索树的中序遍历是有序的&#xff0c;因此我们只需要对二叉搜索树执行中序遍历&#xff0c;并返回第 k 小的值即可。 class Solution { public:int ans -1;int cnt 0;int kthSmallest(T…

双指针——leetcode

15. 三数之和 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {sort(nums.begin(), nums.end());int n nums.size();vector<vector<int>>ans;for(int i 0; i < n;…

滑动窗口——leetcode

30. 串联所有单词的子串 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:unordered_map<string, int> mp;vector<int> findSubstring(string s, vector<string>& words) {//单词长度相同int n s.size();int m words[0].size();int …

动态规划——leetcode

记忆化搜索 688. 骑士在棋盘上的概率 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:double ans1 0;double ans2 0;int dx[8] {1, 1, -1, -1, 2, 2, -2, -2};int dy[8] {2, -2, 2, -2, 1, -1, 1, -1};double mp[26][26][110];//从x&#xff0c;y&…

dfs和bfs——leetcode

797. 所有可能的路径 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<vector<int>> ans;vector<int> stk;void dfs(vector<vector<int>>& graph, int x, int n) {if (x n) {ans.push_back(stk);return;}for (aut…