01 2025 档案
-
斜率优化 DP 基础
摘要:斜率优化是 DP 中一个非常离谱的分支 其实斜率本身没有任何作用 (只能增加代码的阅读难度) 大部分斜率优化都利用了单调队列等数据结构求最值 从而降低代码的时间复杂度 斜率是对于直线来说的 比如在一条直线上搞两个点 (x1,y1) (x2,y2) 那么定义斜率 Slope=(y1-x1,y2-x2) 阅读全文
-
数位 dp
摘要:ta 是邪恶的数位 dp,我的午饭终结者 (调着调着就忘记午饭了) 首先看一道例题 // 学习 www.luogu.com.cn/article/qbp4ezkk P2602 的题解 // %%% dalao Example 01 [P2602 数字统计] 求 [l,r] 中每个数字出现了多少次 ( 阅读全文
-
RMQ 和 LCA 问题
摘要:# Part 1 RMQ RMQ,即区间信息维护问题 如最大值,最小值,GCD 等 RMQ 算法实现很多 具体有线段树,树状数组和 ST 表 但综合时间复杂度最好的是 ST 表 查询 O(1),预处理 O(n log n) ST 表的基础思想是二进制倍增 记录一个 ST[i][j] 数组记录一下从 阅读全文
-
树状数组
摘要:Question 01 [P3374 树状数组一] 模板题 Code #include<bits/stdc++.h> using namespace std; const int N=5e5+7; class Tree{ public: inline void scan(long long *_da 阅读全文
-
最短路问题
摘要:# Part 01 Floyd 众所周知的水 可以求全源最短路 板子简单好写 Code for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++) Distance[i][j]=min(Distance[i][j],Distance 阅读全文
-
数论基础一(快速幂,质数,欧拉函数)
摘要:数学&数论 # 01 快速幂 一种快速求解幂的方法 (貌似是一句废话) 思路是使用二进制求解 example 11 (1011)Bin (1000)Bin (10)Bin (1)Bin 3 = 3 =3 * 3 *3 3 1 0 2 2 2 = 3 + 3 + 3 (蒟蒻作者不会 Latex ,凑合 阅读全文
-
最小生成树
摘要:Basic 从一个图里抽取一些边使其构成一棵树,且总边权最小 Function 01 [Kruskal] 贪心算法 选取当前最小边权的边 用并查集判断该边所连的点的连通性 Question 01 [ACP2023 最短网络] 模板题 Code #include<bits/stdc++.h> usin 阅读全文
-
BFS 2025/1/16
摘要:BFS Basic 主要特点:空间复杂度较高,基于队列 经常用于求最优解的搜索题 经典模型:连通块,最短迷宫路径,曼哈顿距离 Question 01 [ACP2056 山峰与山谷] 主体是广搜模板 难点在于如何判断当前联通块是山峰或山谷 考虑在广搜时进行维护 如果 BFS 检测到的区域不是在当前连通 阅读全文
-
DFS 2025/1/15
摘要:DFS & DFS 剪枝优化 Basic 01 先搜节点少的分支 如果搜进来一个大分支而答案不在此分支就会浪费大量时间 02 可行性剪枝 已经白扯了就 return 判断当前是否合法 03 最优性剪枝 如果此分支确定不是最优解(差于已有解)就 return 04 记忆化搜索 记录之前搜过的 Data 阅读全文
-
寒假集训测试一 2025/1/14
摘要:T1 饮料换购 记录额外的瓶盖数量 达到 3 个就加上一瓶 签到题 考场少打等号痛失36pts Code #include<bits/stdc++.h> using namespace std; int n,ans,peel; int main(){ scanf("%d",&n); while(n> 阅读全文
-
分治 2025/1/14
摘要:File Modal int Binary_Search(int lim,int rim) {//max legal key int mid; while(l<r){ mid=(l+r+1)>>1; if(check(mid)){ l=mid; }else{ r=mid-1; } } return 阅读全文
-
贪心 2025/1/13
摘要:贪心:求最优性问题方法 Question 01 [区间选点] 有 n 个区间,每个区间至少有一个点 求至少需要几个点 Answer 01 右端点升序排序 若左端点已被覆盖便略过 否则选当前区间右端点 Code 同Q2 Code exCode ACP2033 [种树] 树可能有多棵,均放在右侧把后面布 阅读全文
-
exGCD 2025/1/10
摘要:前言: 全文均为蒟蒻作者手搓 虽也参考了许多 [luogu 题解/某SDN/cnblogs.com] 但很多地方均为作者瞎编 如有错误务必救救孩子 File int GCD(int a,int b){ if(b==0)return a; return GCD(b,a%b); } Question 0 阅读全文