05 2022 档案

摘要:qsort() qsort int ** int ** void * void * 阅读全文
posted @ 2022-05-31 22:33 光風霽月 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、内存区域 bss段 bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。 bss是英文Block Started by Symbol的简称。 bss段属于静态内存分配。 data段: 数据段(data segment)通常是指用来存放程序中已初始化的全局变量 阅读全文
posted @ 2022-05-31 21:51 光風霽月 阅读(52) 评论(0) 推荐(0) 编辑
摘要:知识点 1.系统态 即内核态,三种情况下(一般与硬件有关)会出现由用户态转为内核态,中断,异常,系统调用 2.柱面,磁头,扇区 -1 可以把下标规范成从0开始 3.CPU不能直接读取硬盘吗 不能,硬盘属于外储存器,CPU只能直接读取内储存器 中央处理器 CPU 只能直接访问储存在内存中的数据 阅读全文
posted @ 2022-05-28 18:43 光風霽月 阅读(288) 评论(0) 推荐(0) 编辑
摘要:计算n的阶乘结果末尾有几个零 int findzero(int x) { int ans=0; while(n>=4) //while(ans) { ans+=n/5; n/=5; } return ans; } 组合数与杨辉三角 (1)组合恒等式:C(n,m)=C(n-1,m-1)+C(n-1,m 阅读全文
posted @ 2022-05-17 19:53 光風霽月 阅读(20) 评论(0) 推荐(0) 编辑
摘要:G表示无向图,D表示有向图,G也可以泛指图 边与边相邻,点与点相邻,边与点相联(相连次数) (Vi,Vj)Vi为始点,Vj为终点 出度:有向边的始点;d+ 入度:有向边的终点;d- 图的同构 n阶无向完全图 n阶有向完全图 对于G,有V⊆V,E⊆E,称G为G的子图,G为G的母图 若V⊂V,E⊂E,G 阅读全文
posted @ 2022-05-17 19:49 光風霽月 阅读(549) 评论(0) 推荐(0) 编辑
摘要:巨人的肩膀 整理的易错点 ACM算法模板 收藏的网站 数据结构 数学结论 如果 a,b 均是正整数且互质,那么由 ax+by,x0,y0 不能凑出的最大数是 ababab 的约数,一定是 ab 的最大公约数的约数 区间 阅读全文
posted @ 2022-05-16 23:23 光風霽月 阅读(32) 评论(0) 推荐(0) 编辑
摘要:Floyd算法 简介 1.概念 Floyd 算法 是解决任意两点间的最短路径的一种算法 是一种插点算法 可以正确处理有向图或带负权非回路的最短路径算法 同时也被用于计算有向图的传递闭包 Floyd 时间复杂度为 (N3) 空间复杂度为 O(N2) 2.算法证明 可 阅读全文
posted @ 2022-05-12 17:32 光風霽月 阅读(45) 评论(0) 推荐(0) 编辑
摘要:引入 题目描述 经典应用:八皇后问题 dg和udg数组的解释 对角线 dg[u+i]dg[u+i],反对角线udg[nu+i]udg[nu+i]中的下标 u+inu+i 表示的是截距 下面分析中的 (x,y) 相当于上面的 (u,i) 反对角线 \( 阅读全文
posted @ 2022-05-11 09:44 光風霽月 阅读(83) 评论(0) 推荐(0) 编辑
摘要:线段树当中的几个重要操作 1.PushUp 上推操作:由子节点算父节点的信息 pushup 操作的目的是为了维护父子节点之间的逻辑关系。当我们递归建树时,对于每一个节点我们都需要遍历一遍,并且电脑中的递归实际意义是先向底层递归,然后从底层向上回溯,所以开始递归之后必然是先去整合子节点的信息 阅读全文
posted @ 2022-05-10 20:42 光風霽月 阅读(36) 评论(0) 推荐(0) 编辑
摘要:树状数组 简介 1.应用 1.单点修改区间查询 2.区间修改单点查询(差分) 3.区间修改区间查询(差分+公式) 总而言之,就是动态维护前缀和。 2.树状结构图 3.lowbit函数 我们知道,任何一个正整数都可以被表示成一个二进制数。如: (2)10=(10)2 $$(4){10}= 阅读全文
posted @ 2022-05-09 10:35 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
摘要:二分图 二分图考察的难点主要在于,首先得看出来考察的是二分图,其次要知道如何建图 二分图是一个无向图,二分图题目中一些概念: 最大边匹配:选出最多的边,使得这些边没有公共点 最小点覆盖:选出最少的点,使得图中每一条边都至少有一个顶点被选 最小路径覆盖:选出最少的互不相交(点不重复)的路径,将所有点覆 阅读全文
posted @ 2022-05-06 14:58 光風霽月 阅读(99) 评论(0) 推荐(0) 编辑
摘要:目录 模板 例题: 1.匹配字符串:831. KMP字符串 - AcWing题库 next数组具有周期性 2.next周期的应用:141. 周期 - AcWing题库 3.对字符串匹配过程的理解:159. 奶牛矩阵 - AcWing题库 4.将KMP算法匹配每次单个字符拓展到每次匹配一个串 + ne 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(63) 评论(0) 推荐(0) 编辑
摘要:题目引入:151. 表达式计算4 - AcWing题库 题目信息: 1.可能会出现负号 2.可能出现多余括号 3.其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方) 4.数据保证不会出现大于或等于2^31的答案。 思路: 1.建立两个栈,一... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(34) 评论(0) 推荐(0) 编辑
摘要:121. 赶牛入圈 - AcWing题库 做法1:双指针 AC代码 #include #include using namespace std;const int N = 510;pair a[N];int c, n;bool check(int no... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(23) 评论(0) 推荐(0) 编辑
摘要:目录​​​​​​​ 介绍: Trie树 例题: 例题一 : 例题二 : 例题三 : 介绍: Trie树 数据结构:可以高效的存储和查找字符串的 题目中需要用到Trie树时的关键词:全是大写字母,全是小写字母,全是数字,全是0/1 两个应用: 1.是否存在... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(28) 评论(0) 推荐(0) 编辑
摘要:题目引入:116. 飞行员兄弟 - AcWing题库 思考 1.题目大意 有一个 4 * 4 的矩阵,其中第 i 行第 j 列有一个门把手,门把手有两个状态,用 ‘+’ 表示门把手处于闭合状态 ,‘-’ 表示门把手处于打开状态 有一个操作:可以更改一... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(22) 评论(0) 推荐(0) 编辑
摘要:目录 思考 AC代码 二分模板 补充 题目引入:139. 回文子串的最大长度 - AcWing题库 思考 1.题目询问的是一个字符串当中长度最大的回文串,数据长度为十万,暴力枚举是肯定不行的 考虑用哈希算法完成,那么如何用哈希算法来证明一个字符串是... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(48) 评论(0) 推荐(0) 编辑
摘要:目录 字符串Hash入门 一个疑问 Hash算法自然溢出模板​​​​​​​ 一些解释: 思考 AC代码 附 例题引入:138. 兔子与兔子 - AcWing题库 字符串Hash入门 字符串Hash可以通俗的理解为,把一个字符串当中的每一个字符映... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(154) 评论(0) 推荐(0) 编辑
摘要:目录 模板 例题: 1.double二分 思路 2.二分插入排序 3.二分查找左右边界 模板 二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。 如何选择整数... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(232) 评论(0) 推荐(0) 编辑
摘要:题目链接:100. 增减序列 - AcWing题库 参考题解:AcWing 100. IncDec序列 - AcWing 思路 1.首先通过差分构造差分数组,要保证所有数都相同,就要确保差分数组从下标2到n的所有数组值等于0 2.通过贪心... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(20) 评论(0) 推荐(0) 编辑
摘要:离线操作:读入所有的操作数据,然后一次性处理。在线操作:每读入一个操作数据,就进行一次操作。 值得注意的是两者并不等价,有的时候,离线操作要比在线操作要快。 但是,离线操作的缺点也非常明显。那就是要占用一些额外的空间。 我们可以这样去理解。 我们的程序需要和输... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(69) 评论(0) 推荐(0) 编辑
摘要:目录 必要知识基础 引入 模板一(有重复元素,时间复杂度较高) 模板二(复杂度比上面那一种要优,但不能处理重复元素) 总得来说离散化有三步走战略: 例题:离散化+前缀和 必要知识基础 unique函数(C++):(15条消息) C++中的uniq... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(120) 评论(0) 推荐(0) 编辑
摘要:题目连接:P3383 【模板】线性筛素数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前提: prime number:素数 每一个合数都可以表示为若干个质数之积最小质因数 × 最大因数(非自己) = 这个合数” 想要快速地筛出... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
摘要:可持久化数组引入:P3919 【模板】可持久化线段树 1(可持久化数组) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 参考:P3919 【模板】可持久化线段树 1(可持久化数组) - 洛谷 | 计算机科学教育新生态 (luogu... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(18) 评论(0) 推荐(0) 编辑
摘要:参考文章:(13条消息) 线段树从零开始_岩之痕-CSDN博客 题目连接: P3372 【模板】线段树 1 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 进阶: (13条消息) 线段树详解 (原理,实现与应用)_岩之痕-C... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(21) 评论(0) 推荐(0) 编辑
摘要:目录 一.字符串排序 二.冒泡排序 三.快速排序(分治) 四.归并排序(分治) 一.字符串排序 例题:给出n个字符串,将每个字符串的大写字母修改成小写字母,小写字母修改成大写字母,然后按照字典序从小到大输出。 #include#include#... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(22) 评论(0) 推荐(0) 编辑
摘要:目录 一.顺序栈 二.链栈 一.顺序栈 #includeusing namespace std;#define maxn 50#define OK 1#define ERROR 0typedef struct{ int date[maxn]; int t... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(56) 评论(0) 推荐(0) 编辑
摘要:目录 一.顺序表 二.单链表 一.顺序表 #include#include#include#include#define ll long longusing namespace std;int len = 10;struct node{ string nu... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(49) 评论(0) 推荐(0) 编辑
摘要:一.高精度加法 #include using namespace std; const int MAXN = 200+4; //根据题目的最大值。+4为了防止A+B出现进位char s1[MAXN] = {};//存储字符串char s2[MAXN] = {}... 阅读全文
posted @ 2022-05-05 08:42 光風霽月 阅读(78) 评论(0) 推荐(0) 编辑
摘要:目录 数组模拟小根堆的形式 基本操作 更新函数的解释: 完全二叉树 堆排序(一般用于找最小值) 步骤解释:for(int i = n / 2; i >= 0; i -- ) down(i); 实现堆的增删改查操作 关于hp和ph数组的解释: 数组模拟小根堆的形式 一棵完全二叉树,父节点元素值小于等于 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(56) 评论(0) 推荐(0) 编辑
摘要:P1460 - [蓝桥杯2019初赛]糖果 - New Online Judge (ecustacm.cn) 题解参考:(9条消息) 蓝桥杯省赛[新手向题解] 2019 第十届 C/C++ A组 第九题 DP_weixin_33801856的博客-CSDN博客 #include <iostream> 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(21) 评论(0) 推荐(0) 编辑
摘要:并查集 + 哈希/离散化 237. 程序自动分析 - AcWing题库 思路: 由于本题数据范围太大,并查集的数组肯定装不下,所以要离散化 我们只需要判断不相等的情况,然后把相等的放入一个集合。或者只判断相等的情况,把不相等的放入一个集合 并查集的数据要开两倍,因为极端情况下,每个x和y都不相同 在 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(39) 评论(0) 推荐(0) 编辑
摘要:4313. 满二叉树等长路径 - AcWing题库 对于此类树的题目, 递归是一种很常用的方法。 我们从一般性的角度出发,并特殊化题目。 由于题目是个满二叉树,我们可以将整个二叉树看做一个只有三个节点的满二叉树(特殊化处理),即:根节点root,左子树节点Lroot,右子树节点Rroot。 这里的左 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(10) 评论(0) 推荐(0) 编辑
摘要:目录 介绍: 1.冲突 2.哈希函数 3.存储结构: 4.离散化: 5.基本操作:O(1) 应用: 一.拉链法 二.直接寻址法 介绍: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(27) 评论(0) 推荐(1) 编辑
摘要:3115. 疯狂的馒头 - AcWing题库 思路: 由于一个点最后的颜色取决于最后一次染色,那么我们可以倒着染色, 每染色一个点就将这个点删掉并记录颜色。 用ptr[i] 表示第i 个元素后面第一个未被覆盖的区间 当我们覆盖一个点i 的时候,... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(30) 评论(0) 推荐(0) 编辑
摘要:1 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(11) 评论(0) 推荐(0) 编辑
摘要:目录 DP 1、01背包+逆向 思路 1 、未优化空间做法MLE 2、优化空间做法AC 2、背包DP+去重 双指针+简单推式子 记忆化搜索 二叉树 1、二叉树搜索树 2、完全二叉树 图论 1、最短 DP 1、01背包+逆向 3-2 拼题A打卡奖励 (30... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1.最短路+DFS 1135. 新年好 - AcWing题库 思路: 题目让我们求起点1出发,途径2,3,4,5,6号点的最短路径。 由于我们无法在求单源最短路的过程中确定我们的最短路顺序,否则就无法保证最短路是最短的! 根据数据范围,我们可... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(21) 评论(0) 推荐(0) 编辑
摘要:920. 最优乘车 - AcWing题库 思路:只要两个点之间可达,距离就是1 每个车站到达后面的车站的距离都是1 那么1到达n的最短距离就是转车次数+1 由于距离都是1,可以用bfs求最短路 注意: 这里的车站是单程的 技巧: s... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(12) 评论(0) 推荐(0) 编辑
摘要:为什么BFS可以用来求权值为1的最短路? 由于我们知道Dijkstra算法肯定是正确的,那么我们可以通过证明bfs可以实现Dijkstra算法的功能,就证明了其正确性。 首先,我们知道Dijkstra算法的核心是每次从队列中取出一个最小的点,也就是小根堆的堆顶... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(16) 评论(0) 推荐(0) 编辑
摘要:介绍: 可以形象的理解为洪水覆盖算法,每当我们dfs一个点,这个点就像洪水一样,把所有与它相邻的并且可以被合法的点覆盖掉。 应用场景: 通常作为解题中的一步,常用来处理有关连通块的问题。 例如:求联通块个数,求每个连通块的边长。 例题1:1097. 池... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(40) 评论(0) 推荐(0) 编辑
摘要:介绍: 广度优先搜索遵循从初始结点开始一层层扩展直到找到目标结点的搜索规则,它只能较好地解决状态不是太多的情况,承受力很有限。如果扩展结点较多,而目标结点又处在较深层,采用前文叙述的广度搜索解题,搜索量巨大是可想而知的,往往就会出现内存空间不够用的情况。 双向... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(62) 评论(0) 推荐(0) 编辑
摘要:解决问题: 双端队列主要解决图中边的权值只有 0 或者 1 的最短路问题 操作: 每次从队头取出元素,并进行拓展其他元素时 若拓展某一元素的边权是 0,则将该元素插入到队头若拓展某一元素的边权是 1,则将该元素插入到队尾与堆优化Dijkstra 一样,必须在出... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(37) 评论(0) 推荐(0) 编辑
摘要:什么是最小步数模型: 我们知一般的DFS求最短路通常是从棋盘中的一个点a到一个点b 但这里的最小步数是把一个棋盘看做一个状态,求从状态a到状态b的最小步数 总的来说最小步数模型是求状态之间转换的最短距离。 最短路就是求点与点之间转换的最短距离。 1107... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(34) 评论(0) 推荐(0) 编辑
摘要:173. 矩阵距离 - AcWing题库 题目大意:让我们求所有点0到所有1中的最短距离 总结一下: 先上结论:在使用BFS求最短路的时候,一个点第一次加入队列时候的距离,就是它的最短距离。 这里可以用反证法,设第二次加入队列的距离一... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
摘要:贪心 + 递归 D-和谐之树_"华为杯" 武汉大学21级新生程序设计竞赛 (nowcoder.com) 这题我在做的时候根本没有理解清楚题意,也可能是受到样例解释的影响? 就比如n=10的时候,我就认为最大的节点编号是21,因为[1,10]一共可... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(16) 评论(0) 推荐(0) 编辑
摘要:4312. 出现次数 - AcWing题库 本题的难点主要在于给定你区间的左右端点,如何求出来这个区间内成功匹配的个数 这里肯定要用前缀和,不然1e8的时间复杂度很悬 但是用前缀和的时候,我们要对左右端点稍微处理一下 在使用KMP算法匹配的时候... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(23) 评论(0) 推荐(0) 编辑
摘要:4395. 最大子矩阵 - AcWing题库 在做这道题的时候,我陷入一个误区,那就是以为必须在矩阵c里面找最大值,但那样的话最好的时间复杂度是O(N^2*log(N^2)),大约8KW,肯定TLE 其实我们好好研究一下这个矩阵元素的组成 ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(18) 评论(0) 推荐(0) 编辑
摘要:例题一:字串分值 题目大意:求给定字符串所有字串的F(S)之和,规定F(S)表示为字符串S中恰好出现一次的字符的个数 首先,我们先考虑暴力枚举的做法 先枚举区间的左端点,然后设置一个num数组,用来记录某个字符出现的次数。和sum,用来标记仅仅... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(56) 评论(0) 推荐(0) 编辑
摘要:首先,记事本是个好东西,CTRL+H可以实现替换功能!当输入文件包含“,”之类的非空格字符时,可以使用替换功能替换成空格输入。 其次,当我们使用freopen的时候,不要公用scanf,printf和cin,cout!!! /* 主要的操作 ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(22) 评论(0) 推荐(0) 编辑
摘要:目录 组合型枚举 + DPS 思路:组合型枚举所有可能,dfs搜索判断 状态压缩DP 例题1 例题2 并查集 递归 前缀和 + 公式变形 数论 + 完全背包 数论的一些结论: 组合型枚举 + DPS P1286 - [蓝桥杯2016初赛]... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(56) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L3-007 天梯地图 (30 分) (pintia.cn) dijkstra堆优化算法的板子 在求距离的最短路的时候,我们需要维护一个cnt数组,比较简单(测试点4) 在求时间的最短路的时候,你可能陷入一个误区:因为在时间相同的... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1402. 星空之夜 - AcWing题库 思路: 大体思路就是找所有的连通块(FooldFills算法(DFS)) 然后对于每个连通块,判断是否是重复出现的形状,这是个难点 我们不可能把一个形状旋转个90°或者180°之类的 那么我们最好... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(15) 评论(0) 推荐(0) 编辑
摘要:【数论】数论分块(详细,小白):余数求和&&约数研究 数论分块 - OI Wiki (oi-wiki.org) 一道例题 #include #include #include using namespace std;typedef long long LL;... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(15) 评论(0) 推荐(0) 编辑
摘要:ACM常用的解题技巧:尺取法 POJ 3320 (尺取法) 一道例题 算法一:尺取法O(N) #include #include #include #define debug1(var) \ cout = a && one[r] - ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
摘要:目录 二进制 十进制转二进制的巧妙方法 DFS DP + 保存路径 Trie树 并查集 2022年天梯赛上海理工大学校内选拔赛【部分题 题解】 二进制 D-Setsuna的K数列 不难发现,K数列本质就是每一个K进制位只能取0或1,这很像二进制,... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(22) 评论(0) 推荐(0) 编辑
摘要:模板题:845. 八数码 - AcWing题库 首先,对于这种步数为1,求最短步数的问题,我们应该立马想到BFS求最短路 难点在于状态表示 我们可以把每一个二维状态(3×3表格)压缩并看成一个一维字符串 并把所有的状态转换看成一个图 起点就... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(22) 评论(0) 推荐(0) 编辑
摘要:P1288 - [蓝桥杯2016初赛]密码脱落 - New Online Judge (ecustacm.cn) 方法一:DP(线性DP)((最长公共子序列模型) 求S和reverse(S)的最长公共子序列,用len(S)-最长公共子序列,就是需要增加的... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(31) 评论(0) 推荐(0) 编辑
摘要:E-Graph_2022年“蓝桥杯”上海理工大学校选赛(重现赛) (nowcoder.com) #include #include #include #define ll long long using namespace std;const int N = ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(20) 评论(0) 推荐(0) 编辑
摘要:A-来自wzc的简单拓扑dp_浙江农林大学第二十届程序设计竞赛暨团体程序设计天梯赛选拔赛(同步赛) (nowcoder.com) 拓扑DP模板题 #include #include #include #include #include usi... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(28) 评论(0) 推荐(0) 编辑
摘要:Level1 4207. 最长合法括号子序列 - AcWing题库 最长合法括号子序列的长度(序列不要求连续性) 思路一:每当有括号匹配就加入答案 每当右括号的数量大于左括号的数量的时候,就说明加上当前的右括号就是不合法的了。这时候就把匹配... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(106) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L3-002 特殊堆栈 (30 分) (pintia.cn) Vector #include #include #include #include #include using namespace std;int n, x;string ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(39) 评论(0) 推荐(0) 编辑
摘要:4378. 选取数对 - AcWing题库 一开始想到是DP了,也想到状态表示了F[i][j]表示在前i个物品当中选,j个集合。 但是不知道怎么写状态转移方程,也没看出来这其实就是一个01背包模型。 于是就暴力写了个DFS骗了一半分,顺利的TLE... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L3-1 森森旅游 (30 分) (pintia.cn) 参考思路: 由题意得每次兑换旅行币都要将现金兑完,所以可以将拆解成两段不同的最短路,一条是从1点出发到i点代表用现金的最短路,直接dijkstra即可;另一条则是从i点到... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L3-2 还原文件 (30 分) (pintia.cn) 代码:这道题目可以当做dfs来做(很多得26分的情况就是少判断了一种条件 例如 2 4 6 8 9 2 4 6,3个序列分别是:2 4 6 | 9 | 2 4 6 8当你判断到... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(17) 评论(0) 推荐(0) 编辑
摘要:4316. 合适数对 - AcWing题库 通过数据范围推断复杂度应该是O(nogn) 看到静态求和,可以联想到前缀和,于是我们先求出整个序列的前缀和数组sum。 这时脑中顿时蹦出一个想法:枚举右端点,然后二分出第一个满足条件的左端点。 二分的... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L3-001 凑零钱 (30 分) (pintia.cn) 思路一(DFS):用时6ms 暴力搜索+剪枝,但要注意特判一个特殊情况 就是当所有物品的总和加起来也凑不出答案的时候 这时候会递归所有点,时间消耗最大,可能会超时 以后遇到... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L2-030 冰岛人 (25 分) (pintia.cn)题目详情 - L2-030 冰岛人 (25 分) (pintia.cn)题目详情 - L2-030 冰岛人 (25 分) (pintia.cn) 题目要求: 所谓“五代以内无公共祖先... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L2-034 口罩发放 (25 分) (pintia.cn) 需要注意的点: 身份证号 必须是 18 位的数字(可以包含前导0):这句话的意思不仅仅是身份证必须是18位的,还必须是数字同一个身份证号若在第 i 天申请成功,则接下来的 ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(13) 评论(0) 推荐(0) 编辑
摘要:4211. 序列重排 - AcWing题库 思路: 因为要求新序列满足每个元素(第 1 个除外)都恰好是前一个元素的两倍或前一个元素的三分之一。 所以,从1~n的数中,其包含质因子2的个数一定是不降的,其包含质因子3的个数一定是不增的。 根据这个,... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L2-038 病毒溯源 (25 分) (pintia.cn) 思路: 搜索策略:从根节点往下搜索,对非根节点搜索无意义,还会超时。只要对所有一个节点的所有子节点按照升序排序,那么搜索到的第一个长度最长的路径就是答案。 记录路径:使用一... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L2-035 完全二叉树的层序遍历 (25 分) (pintia.cn) 完全二叉树采用顺序存储方式,如果有左孩子,则编号为2i,如果有右孩子,编号为2i+1,然后按照后序遍历的方式(左右根),进行输入,最后顺序输出即可。 AC代码 #... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(44) 评论(0) 推荐(0) 编辑
摘要:DFS模板 void dfs() { // 写终止条件,即递归到什么时候停止,比如二叉树中子树为空,矩阵路径 // 中超出地图边界等等,当然根据问题不同这个地方也会有些变化 if () return; // 递归与当前节点相连的要搜索的点。比如说矩阵路径... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(42) 评论(0) 推荐(0) 编辑
摘要:4214. 三元组 - AcWing题库 F数组的初始化也是十分关键的 F[0][0]表示在0个物品当中选了0个,价值肯定是0 F数组其余值应等于一个必不可能选择为答案的值 #include #include #include using n... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L1-6 整除光棍 (20 分) (pintia.cn) 算法一:除法原理 看到这道题我们的第一想法便是用循环遍历1,11,111,1111,11111,111111,1111111,…等等,然后去和正奇数相除得出的整数即为所求,但是这样容... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(140) 评论(0) 推荐(0) 编辑
摘要:------------------------------基环树------------------------------ 前置知识 生成树:什么是生成树,生成树(生成森林)详解 (biancheng.net)​​​​​​ 基... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(83) 评论(0) 推荐(0) 编辑
摘要:题目链接:题目详情 - 7-15 球队“食物链” (30 分) (pintia.cn) 思路: (1)题目要求按照字典序最小的顺序输出,那么第一个数字必然是1 证明(反证法):如果第一个数字不能是1,说明1没有战胜过任何队伍 那么将1填入到食... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目链接:题目详情 - 7-10 多项式A除以B (25 分) (pintia.cn) 解题算法:多项式除法 多项式除法介绍:多项式除法_百度百科 (baidu.com) 四舍五入方法:()保留n为小数,n=0,1,2,3,...)(f为... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(30) 评论(0) 推荐(0) 编辑
摘要:目录 一、vector 简介及基本操作: 二、构建图: 三、vector创建图与邻接表创建图的区别 一、vector 简介及基本操作: 1、vector是c++中stl库中封装好的容器,常用定义不定长数组来构建无向图或有向图. 2、基本操作: (1)... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(185) 评论(0) 推荐(0) 编辑
摘要:题目链接:P1512 - [蓝桥杯2020初赛] 平面分割 - New Online Judge 证明部分: 1.直线分割平面 一条直线要怎么样放置才能使得平面被分割为尽可能多的部分? ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(159) 评论(0) 推荐(0) 编辑
摘要:题目链接:P1320 - [蓝桥杯2017初赛]方格分割 - New Online Judge (ecustacm.cn) 思路: 这个题用方格的角度去想很难想出全部的答案。 要换个角度,看方格线,假设左上角的坐标是(0,0),那么右下角就是(6,... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题目链接:P1318 - [蓝桥杯2017初赛]跳蚱蜢 - New Online Judge (ecustacm.cn) #include #include #include #include #include using namespace std;... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目链接:1231. 航班时间 - AcWing题库 技巧: scanf("%d(+%d)%d", &a, &b, &c); 对于空白字符:空格、tab、回车等,scanf将忽略输入字符串的空白字符, 直到下一个非空白字符,(并回放该非空... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题目详情 - L3-1 直捣黄龙 (30 分) (pintia.cn) #include #include #include #include #include using namespace std;typedef pair PII;const int N ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(16) 评论(0) 推荐(0) 编辑
摘要:真题训练3--2016年天梯赛决赛--补题 7-13 是否完全二叉搜索树 (30 分) 将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(13) 评论(0) 推荐(0) 编辑
摘要:模板题:4196. 最短路径 - AcWing题库 思路:设置一个pre数组保存该节点的前驱节点,每一次更新路径都更新一下该节点的前驱节点,最后递归输出最短路。 细节:有数据范围:1≤m≤1e5,1≤w≤1e6可得,最长路径为1e11,所以需要使用LL ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(23) 评论(0) 推荐(0) 编辑
摘要:7-12 关于堆的判断 (25 分) 将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种: x is the roo... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(32) 评论(0) 推荐(0) 编辑
摘要:PAT真题训练1--2016年天梯赛模拟赛 7-14 垃圾箱分布 (30 分) 大家倒垃圾的时候,都... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(21) 评论(0) 推荐(0) 编辑
摘要:PAT真题训练1--2016年天梯赛模拟赛 7-13 肿瘤诊断 (30 分) 输入格式: 输入第一行给出4个正整数:M、N、L、T,其中M和N是每张... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目:输入二叉树的前序遍历和中序遍历序列,重构其二叉树,假设输入的数字都是不重复的。 例如前序序列是 {1,2,4,7,3,5,6,8},中序序列是{4,7,2,1,5,3,8,6}。 分析如下图所示: 算法步骤: 前序序列pre的第一个元素即根节点。遍历中序... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(148) 评论(0) 推荐(0) 编辑
摘要:蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数 - faterazer - 博客园 (cnblogs.com) int year, month, day, week; cin >> year >> month >> day; ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(46) 评论(0) 推荐(0) 编辑
摘要:#include#include#include#include#include#define ll long longusing namespace std;const int maxn = 5e6 + 10;struct zxs{ int l,r,v; }... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(12) 评论(0) 推荐(0) 编辑
摘要:例题1: 关押罪犯 做法1:二分 + 染色法判断二分图 思路:二分最大的影响力值,根据该值对图进行染色,判断是否可以构成二分图,如果可以构成二分图说明这种划分是可行的,否则说明不可行。 #include #include #include using name... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(82) 评论(0) 推荐(0) 编辑
摘要:目录​​​​​​​ 一、参考博客: 二、题目情景(模板): 三、例题 例题一: 例题二: 一、参考博客: 母函数(对于初学者的最容易理解的)_yu121380的博客-CSDN博客_母函数c++ 母函数(Generating function)详解 ---... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(38) 评论(0) 推荐(0) 编辑
摘要:目录 一、二叉排序树的定义 二、基本操作: 1、插入 2、创建 3、删除 4、获得某一个节点所在的层次 总结 代码 一、二叉排序树的定义 对于一棵空的二叉树或者具有如下性质的二叉树: 1.若其左子树不为空,则左子树所有结点的值均小于根结点的值。 ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(48) 评论(0) 推荐(0) 编辑
摘要:目录 结构体,这里讨论的都是带头节点的 一、单链表建立 1、头插法:利用头指针控制链表节点的增加 代码: 2、尾插法: 二、遍历 三、插入:(pos代表要插入的位置) 四、删除 五、销毁 六、查找 单链表的查找分为按位查找和按值查找(只讨论带头结点) 七、... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(227) 评论(0) 推荐(0) 编辑
摘要:目录 1、基本操作: 2、参考文献: 3、注意 4、代码实现 1、基本操作: 1.创建树 2.递归/非递归先中序遍历 3.递归/非递归后续遍历 4.层次遍历 5.递归/非递归交换左右子树 6.查找父节点 7.计算节点数/叶子节点数/有两个孩子的... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(49) 评论(0) 推荐(0) 编辑
摘要://递归求路径!适用于任何最短路算法的保存路径输出//pre[i] 记录路径,pre[i] 表示点 i 是从 pre[i] 连过来的,即 i 的前驱是 pre[i]void print(int x) { if(pre[x] == -1... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
摘要:目录 模板 应用场景 例题 注意这种写法会出现 Segmentation Fault 模板 for (int i = 0, j = 0; i #include using namespace std;const int N = 100010;int... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(31) 评论(0) 推荐(0) 编辑
摘要:目录 大值 乘 大值: 题目链接:A*B Problem - 洛谷 高精度加法 高精度减法 高精度乘法 高精度除法(带余数) 为什么要压位呢?当我们的一个数很大, 大到数组空间开不到那么多位了, 我们考虑压位来解决问题, 压多少位, 数组空间将变为多少分之一... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(144) 评论(0) 推荐(0) 编辑
摘要:#搜索#1.BFS最短路性质边的权重为1时,BFS有最短路性质,DFS不具有2.应用场景BFS:最小步数,最短距离,最少操作几次 DFS:算法思路比较奇怪,对空间要求比较高3.DFS回溯和剪枝DFS,又称爆搜,搜索顺序可以看成一棵树 DFS回溯(恢复现场):每... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(25) 评论(0) 推荐(0) 编辑
摘要:目录 DFS与BFS 最短路算法大纲 最小生成树与二分图算法大纲 DFS框架 朴素Djisktra算法 堆优化Djikstra算法 Bellman-Ford Prime算法框架 spfa算法框架 拓扑排序框架​ DFS与BFS 最短路算... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
摘要:目录 1.Prime算法 思路:类似于djikstra算法 堆优化Prime算法 大话数据结构Prime算法模板,可以保存最小生成树中的边集和路径 2.Kruskal算法 思路: 二分图:二分图_百度百科 (baidu.com) 3.染色法判断二分... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(32) 评论(0) 推荐(0) 编辑
摘要:目录 1.朴素dijkstra算法 2.堆优化版dijkstra算法 分析 为什么Dijkstra不能处理(有些)负权边 负权概念 3.Bellman-Ford算法 几点说明: 2.memcpy()函数:memcpy_百度百科,memcpy... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(53) 评论(0) 推荐(0) 编辑
摘要:目录 (数组建立邻接表) 树的dfs 树的dfs模板 一个解释 例题:846. 树的重心 - AcWing题库 (数组建立邻接表) 树的dfs 用数组模拟链表 - AcWing //邻接表int h[N], e[N * 2], ne[N * ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(60) 评论(0) 推荐(0) 编辑
摘要:描述 一个长度为n的由小写字母组成的字符串s_1~s_2~\cdots~s_n~s1​ s2​ ⋯ sn​ 按如下方式加密成3种形式: 1、将字符串翻转,即对于每一个1\le i\le n~1≤i≤n 来说,s_i~si​ 与s_{n-i+1}~sn−i+1​... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(20) 评论(0) 推荐(0) 编辑
摘要:目录 算法解析 1.什么是单调队列 2.优势 3.单调队列适用于那些范围 4.两个应用 5.队列常用操作 例题: 算法解析 1.什么是单调队列 顾名思义,就是兼具单调性质和队列性质的数据结构 2.优势 如果我们想在一个普通队列中找到一个极值,需要遍历整个队... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(300) 评论(0) 推荐(0) 编辑
摘要:简单版本:129. 火车进栈 - AcWing题库 AC代码 #include #include #include using namespace std;vector state3; //火车出站stack state2; //火车入站in... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(39) 评论(0) 推荐(0) 编辑
摘要:A*算法中的估价函数 知识点二十五:启发式搜索算法 1、估价函数 用来估计当前点到终点的最短距离。对于任意点u,d[u]+f[u] <= d[u] + g[u]g[u]表示从点u到终点的真实距离f[u]表示从点u到终点的估计距离即估计的距离必须小于等于真实距离 ,f[state] <= g[stat 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(180) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示