代码编织梦想

动态规划 -爱代码爱编程

文章目录 1. 01 背包问题1.二维解决2. 一维优化 2. 完全背包问题1.暴力3 for.2. 二维优化3. 一维优化 3. 多重背包问题Ⅰ.1. 二维解决2. 一维优化 4. 多重背包

acwing847. 图中点的层次_图中点的层次acwing-爱代码爱编程

本题采用拉链法,哈希方式是int k->int v,k是点,v是另外一条点v对应的下标 add函数里面h[a]表示点a关联的另外一条点b在e中的下标 bfs函数里面j表示的也是下标,表示点t关联的下标, d数组表示点1

状态压缩、记忆化搜索-爱代码爱编程

291. 蒙德里安的梦想 - AcWing题库 求把 N×MN×M 的棋盘分割成若干个 1×21×2 的长方形,有多少种方案。 例如当 N=2,M=4N=2,M=4 时,共有 55 种方案。当 N=2,M=3N=2,M=3 时,共有 33 种方案。 如下图所示: 输入格式 输入包含多组测试用例。 每组测试用例占一行,包含两个整数 NN 

acwing 3193. isbn号码 模拟 13年12月ccf-爱代码爱编程

#include<iostream> using namespace std; int main() { string s;//保存ISBN 号码 cin >> s; int check = 0;// for(int i = 0, k = 1;k <= 9; i++){

acwing 3195. 有趣的数 枚举 组合计数 排列组合 13年12月ccf-爱代码爱编程

for (int i = 0; i < n; ++i) { for (int j = 0; j <= i; ++j) { if (!j) C[i][j] = 1; else C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]); } } C[n][m]; #include &l

acwing算法基础课笔记——树形dp:没有上司的舞会-爱代码爱编程

树形DP 1. 没有上司的舞会 题目 Ural大学有N名职员,编号为1~N。 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。 每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。 现在要

acwing 753. 平方矩阵 i 蛇形矩阵变形-爱代码爱编程

输入整数 N,输出一个 N阶的回字形二维数组。 数组的最外层为 1,次外层为 2,以此类推。 输入格式 输入包含多行,每行包含一个整数 N。 当输入行为 N=0时,表示输入结束,且该行无需作任何处理。 输出格式 对于每个输入整数 N,输出一个满足要求的 N阶二维数组。 每个数组占 N行,每行包含 N个用空格隔开的整数。 每个数组输出完毕后,

acwing贪心 905.区间选点-爱代码爱编程

给定 N𝑁 个闭区间 [ai,bi][𝑎𝑖,𝑏𝑖],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N𝑁,表示区间数。 接下来 N𝑁 行,每行包含两个整数 ai,bi𝑎𝑖,𝑏𝑖,表示一个区间的两个端点。 输出格式 输出一个整数,表示所需的点

acwing 3720. 数组重排(贪心)_字符串数组重排贪心-爱代码爱编程

题目:3720. 数组重排 题解:其实就是让一个降序(b),另外一个升序(a),看看a[i]+b[i]<=x。证明:如果b[i]和b[i+1]换一个位置,那么a[i+1]+b[i]是比原来的a[i+1]+b[i+

acwing 905. 区间选点 贪心_acwing905-爱代码爱编程

给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N,表示区间数。 接下来 N行,每行包含两个整数 ai,bi,表示一个区间的两个端点。 输出格式 输出一个整数,表示所需的点的最小数量。 数据范围 1≤N≤

哈希表入门练习题1_哈希表洛谷例题-爱代码爱编程

哈希表入门练习题 练习题1 P3370 【模板】字符串哈希 选自洛谷P3370 【模板】字符串哈希 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 如题,给定

acwing算法基础课笔记——哈希表_字符串哈希常用函数 acwing-爱代码爱编程

来自AcWing算法基础课第二章笔记。 欢迎访问我的个人网站: 我的个人网站 将不定时更新一些笔记。 哈希表 文章目录 哈希表存储结构——开放寻址法与拉链法模板题1 模拟散列表题目模板拉链法:开放寻址法:

链表——双向链表-爱代码爱编程

题目描述 实现一个双链表,双链表初始为空,支持 5 种操作: (1) 在最左侧插入一个数; (2) 在最右侧插入一个数; (3) 将第 k 个插入的数删除; (4) 在第 k 个插入的数左侧插入一个数; (5) 在第 k 个插入的数右侧插入一个数 现在要对该链表进行 M 次操作,进行完所有操作后,从左到右输出整个链表。 注意:题目中第 k 个插入的数并不

acwing 5400. 蜗牛 状态dp-爱代码爱编程

#include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N = 1e5 + 10, INF = 2e9; int x[N], a[N], b[N]; // a数组是传送前的

acwing算法基础课笔记——状态压缩dp:蒙德里安的梦想-爱代码爱编程

状态压缩DP 状态是整数,但把它看成二进制数,二进制中每一位是0或1表示不同的情况。 蒙德里安的梦想 291. 蒙德里安的梦想 - AcWing题库 题目 求把 N×M𝑁×𝑀 的棋盘分割成若干个 1×21×2 的长

acwing基础算法 798. 差分矩阵_给定一个 × n×m 的整数矩阵以及 q 个操作,每个操作包含五个整数-爱代码爱编程

输入一个 n𝑛 行 m𝑚 列的整数矩阵,再输入 q𝑞 个操作,每个操作包含五个整数 x1,y1,x2,y2,c𝑥1,𝑦1,𝑥2,𝑦2,𝑐,其中 (x1,y1)(𝑥1,𝑦1) 和 (x2,y2)(𝑥2,𝑦2) 表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上 c𝑐。 请你将进行完所有操作后的矩阵输出。 输入格式

acwing算法全总结——搜索与图论-爱代码爱编程

acwing算法全总结——搜索与图论 dfsbfs树与图的深度优先遍历树与图的广度优先遍历拓扑排序最短路问题dijkstra最短路bellman-ford最短路spfa最短路floyd最短路 最小生成树

acwing算法基础课学习笔记1-爱代码爱编程

想在这里分享一些AcWing算法基础课学习时的笔记。第一章一开始没有想到要做笔记,所以笔记很少~ 欢迎访问我的主页https://hjh645.github.io/ (>w<)~ 双指针算法 所有双指针算法都

acwing算法基础课笔记——记忆化搜索:滑雪_算法 滑雪-爱代码爱编程

记忆化搜索 1. 滑雪 题目 题目描述: 给定一个R行C列的矩阵,表示一个矩形网格滑雪场。 矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。 一个人从滑雪场中的某个区域内出发,每次可以向

acwing-爱代码爱编程

目录 一、序言 二、快速排序 1.介绍 2.思路 3.代码实现 三、归并排序 1.介绍 2.思路 3.代码实现 四、小结 一、序言 代码随想录训练营的第五天休息,所以今天总结一下常用的两个较为重要且容易遗忘的排序算法--快速排序和归并排序。 二、快速排序 1.介绍 快速排序的原理基于分治法的思想,通过递归地将一个数