随笔分类 -  OI / 一本通

摘要:一本通题解 T2: 再也不想碰这道题了。。。写了一下午。 我们先设状态 dp[i][j] 表示前i个刷匠,考虑了前 j 个木板后所获得的最大价值(j 个木板可以有空余)。 然后枚举前 i 个刷匠,枚举每一条木板。 对于一条木板可以此刷匠根本不刷,或不刷当前木板,状转方 阅读全文
posted @ 2025-01-18 14:37 daydreamer_zcxnb 阅读(18) 评论(0) 推荐(0) 编辑
摘要:状压dp 应用背景以集合为状态,集合一般可以用二进制表示,用二进制的位运算处理 集合问题一般是指数复杂度的,例如:1.子集问题,设n个元素没有先后关系,那么一共有 2n 个子集;2.排列问题,对所有n个元素进行全排列,共有 n! 个排列 状态压缩:主要就是dp的一种状态,与dp转移 阅读全文
posted @ 2025-01-18 14:35 daydreamer_zcxnb 阅读(18) 评论(0) 推荐(0) 编辑
摘要:树形dp 树上做dp非常常见,因为树本身有子结构性质(树和子树) 一般解题思路:先把树转化为有根树(如果不连通的树,就加一个虚拟根,它连接所有孤立的树),然后在做dfs,递归到叶子节点,再一层层返回信息,就在这一步做dfs P2015 二叉苹果树 定义状态 dp[u][j] 表示以节点u为根 阅读全文
posted @ 2025-01-18 14:34 daydreamer_zcxnb 阅读(4) 评论(0) 推荐(0) 编辑
摘要:数位dp T3: 应该先从这道题入手数位dp,首先理解数位dp,dp了什么东西 它是把一个数从低位拆到高位,相当于是较低位的方案数是较高位的子问题 个人认为数位dp写记忆化搜索更容易理解一点 看这道题,首先我们让我们分别求 0 9l r 出现的次数,我们先把 0 9阅读全文
posted @ 2025-01-18 14:32 daydreamer_zcxnb 阅读(9) 评论(0) 推荐(0) 编辑
摘要:区间dp 先在小区间上进行dp得到最优解,然后再合并小区间的最优解求得大区间的最优解,解题时,先解决小区间的问题,再将小区间合并为大区间,合并操作一般是将两个相邻区间合并 注:合并顺序从小区间到大区间,因该先从小到大枚举区间的长度,递推出j在哪里 一本通题解 T3: 2025.1.23补档: 我之前 阅读全文
posted @ 2025-01-18 14:30 daydreamer_zcxnb 阅读(15) 评论(0) 推荐(0) 编辑
摘要:线性dp理解 递推/记忆化搜索,有很多种理解方式 递归重叠子问题的记忆化搜索: 像这里例如 f[3] 可以通过一次计算得到,保存答案,下一次直接调用即可,省去很多复杂度 我们从此引出dp第一个性质:最优子结构 大问题的最优解包含小问题的最优解,并且小问题的最优解可以推导出大问题的最优解 递推 阅读全文
posted @ 2025-01-18 14:28 daydreamer_zcxnb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:前言 在整理总结题解的时候突然发现倍增这一章竟然连题解都没有写过,直接晕厥 T1: 直接做 T2: 首先根据倍增思想,现预处理出开 2j 次车,A/B先开车所到达的地点,和开的距离 这样两种查询,都可以根据预处理的来倍增求出 然后如何预处理呢? 我们维护一个链表,链表开始是所有城市按照高度 阅读全文
posted @ 2025-01-18 14:06 daydreamer_zcxnb 阅读(4) 评论(0) 推荐(0) 编辑
摘要:「基础算法」 第1章 递推算法 博客链接 一般有具体的情境,可以通过直接的模拟转移过程来实现递推,T2,T4,T9 找到已知状态和所求状态的差别和联系,想办法将所求转化为已知进行转移,一般要用到分讨,T1,T3 根据题目将问题转化,增维,然后转化后进行递推,T8 第2章 贪心算法 博客链接 一般像题 阅读全文
posted @ 2025-01-07 11:54 daydreamer_zcxnb 阅读(85) 评论(1) 推荐(0) 编辑
摘要:算法理解 对于随机变量 X,有 n 个可能的取值,取值为 xiP(xi) 的概率,则它的数学期望则为 E(X)=i=1nxiP(xi) 性质 其中期望的线性限制最重要,它可以将两个完全独立的期望拆分开来单独计算,详见例题 T1: 阅读全文
posted @ 2024-12-23 17:36 daydreamer_zcxnb 阅读(42) 评论(0) 推荐(0) 编辑
摘要:NIM游戏及其证明 题目描述即为T1,不多赘述 有向图游戏及SG函数 而对于由n个有向图游戏组成的组合游戏,设它们的起点分别为S1,S2,,Sn,则有定理: 当且仅当\(\text{SG}(s_1) \oplus \text{SG}(s_2) \oplus \ 阅读全文
posted @ 2024-12-20 12:34 daydreamer_zcxnb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:加法原理 乘法原理 排列数 从 n 个数中任取 m 个元素的排列的方案数,表示为 Anm=n!(nm)! 0!=1 全排列 Ann 组合数 从 n 个元素中取出 m 个元素的组合的个数,表示为 \(\dbinom{n 阅读全文
posted @ 2024-12-19 21:15 daydreamer_zcxnb 阅读(9) 评论(0) 推荐(0) 编辑
摘要:基本概念 同余 欧拉定理 欧拉定理推论及扩展欧拉定理 扩欧不会证(悲 费马小定理 ps:这里对费马小定理的证明需要使用欧拉定理,建议先学习欧拉定理 扩展欧几里得算法 注意:ybt上的题解写的是错误的,我的博客也被误导了,将下文中所有 gcd(x,y) 手动替换成 gcd(a,b),抱 阅读全文
posted @ 2024-12-11 10:27 daydreamer_zcxnb 阅读(83) 评论(0) 推荐(0) 编辑
摘要:矩阵计算 矩阵加减法 要求两个矩阵的行和列相等,两个矩阵对应的位置相加减即可 矩阵乘法 一个数 k 乘矩阵 A,把 k 乘以矩阵的各个元素,记为 kA 两个矩阵 AB 相乘,要求 A 的列数等于 B 的行数, A 尺寸为 阅读全文
posted @ 2024-12-07 12:02 daydreamer_zcxnb 阅读(21) 评论(0) 推荐(0) 编辑
摘要:算法理解 即在字典树上跑kmp T1: 根据这个结论我自己手搓了一个AC自动机上去,喜提TLE 我是如何操作的呢? 我当时的想法是这样的:我们把字典树从根到该节点形成的链看成是一个模式串与文本串进行匹配,然后就用一个dfs来传递j就可以解决了 然后我打开书一看到这幅图,立马就不淡定了 我dfs可能n 阅读全文
posted @ 2024-12-04 21:15 daydreamer_zcxnb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:T1: 倍增求一下lca,然后树上前缀和,或直接倍增求也行 T2: 可以发现货车运输的路径最多在图上的最大生成森林上跑 所以先跑一遍最大生成树,将各个树与虚点0连一条边权为-1的边,然后跑一遍lca求一下树上最小边即可 树上差分: T3: 首先题目让我们将一条边的边权赋值为0,然后使得最长路径最短 阅读全文
posted @ 2024-11-21 21:14 daydreamer_zcxnb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:写在前面 本菜鸡线段树学了好多遍 但是每次写还是得很长时间 有时有一个细节还要琢磨半天 所以为了今后避免以上事情发生 本菜鸡决定将这么长时间以来对线段树的认识汇总 好日后清算 ps:写道一半又卡住了,感谢nyn大佬指点迷津 ps2:正好做到ybt线段树这一章,就扒出我原来的题解继续写吧 模 阅读全文
posted @ 2024-11-11 16:23 daydreamer_zcxnb 阅读(18) 评论(1) 推荐(1) 编辑
摘要:算法理解 RMQ问题就是对与区间最值查询一类问题的总称 对于RMQ问题的求解主要有以下两种方式: 线段树,建树O(n),查询O(logn),支持在线修改 ST表,预处理O(logn),查询O(1),不支持在线修改 这个单元主要讲解的是ST表 倍增思想 考虑一个数必然能被拆分成二进制,所以我们先预处理 阅读全文
posted @ 2024-11-07 10:05 daydreamer_zcxnb 阅读(27) 评论(0) 推荐(0) 编辑
摘要:T1: 每次找到最小的堆,与次小的合并即可 T2: 简单题,直接口胡了 考虑转化成几个大小关系 然后只要每次将队列首插入堆中即可 T3: 显然字典序满足贪心性质 每次用堆来维护没被取的最大值,然后取出它再在后面的元素上打一个懒标记视为已去过,用链表来维护该元素后面一个元素即可 T4: 呃呃呃,这题第 阅读全文
posted @ 2024-11-05 20:02 daydreamer_zcxnb 阅读(7) 评论(0) 推荐(0) 编辑
摘要:前言 本蒟蒻学习了7,8遍树状数组才学会,原因不是因为我笨,而是没有把根本的理念先搞懂,so,我打算写这篇博客,把树状数组根本剖析一下 用途 用于快速单点修改,快速查询前缀和,从而快速查询区间和 工作原理 其中有数字的点存储的是树状数组的 tr[] ,灰色节点则是为了方便理解而画出的子虚乌有 阅读全文
posted @ 2024-11-04 11:37 daydreamer_zcxnb 阅读(24) 评论(0) 推荐(1) 编辑
摘要:前言 连通性问题确实时一大比较难啃得蛋糕,每次都要先学习一遍,还不如一次学到通 无向图的连通性问题 求割点 连通图:连通图内的所有点都可以互相到达 割点:将割点删掉后整张图不连通 定理1: 一个点s是割点,当且仅当s作为该连通图的根时,会把连通图分为不相连的几部分 定理2: 一个非根节点u是割点,当 阅读全文
posted @ 2024-11-02 16:30 daydreamer_zcxnb 阅读(34) 评论(1) 推荐(0) 编辑

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