摘要:
并查集撤销操作 路径压缩会破坏原本的树结构,使得删除操作变得困难,所以使用按秩合并。 有n个元素,将点x从他当前所在的集合中分离,可以建立一个新的点idx=n++,将fa[x]=idx。 #include<bits/stdc++.h> #define MAXN 200100 using namesp 阅读全文
摘要:
洛谷P9349 题意 一种区间覆盖操作,可以考虑直接无脑线段树,复杂度为\(O(nlog_n)\)。 但是观察后发现可以开一个桶,记录这个数在序列中出现的最后一次的下标。循环扫一遍原序列,从小到大对于每一个a[i],使得下标i到m[a[i]]的区间全部覆盖为a[i]。每次覆盖一个小区间后,因为前面的 阅读全文
摘要:
[CSP-S 2022] 策略游戏 题意: 给定两个序列A,B。每次先从A序列规定区间内取出一个数,再从B序列规定区间内取一个数,答案为两数乘积。A希望答案尽可能大,B希望答案尽可能小。 思路: 考虑特殊性质 保证 \(A_1,B_1>0\) 显然对于每次询问,A取区间最大值,B取区间最小值。 线段 阅读全文
摘要:
## 快速幂 ```cpp #include #include #define int long long using namespace std; int ksm(int b,int p,int k){ int ans=1; while(p){ if(p&1) ans=ans%k*b%k; b=b 阅读全文
摘要:
STL模板: 数据结构 堆 头文件:#include<queue> 大根堆:priority_queue<int> q; 小根堆:priority_queue<int,vector<int>,greater<int> > q; 操作: q.top()//取得堆顶元素,并不会弹出 q.pop()//弹 阅读全文
摘要:
文章为众多博客内容的整合,参考的博客会在文末放出链接 三目运算符: (表达式)?(成立操作):(不成立操作)。 二叉树: 前/先序遍历:根 \(\rightarrow\) 左子树/儿子 \(\rightarrow\) 右子树/儿子。 中序遍历:左子树/儿子 \(\rightarrow\) 根 \(\ 阅读全文
摘要:
CF915E 洛谷链接 题目大意(懒狗直接偷的题面): 从现在到学期结束还有 $n$ 天(从 $1$ 到 $n$ 编号),他们一开始都是工作日。接下来学校的工作人员会依次发出 $q$ 个指令,每个指令可以用三个参数 $l,r,k$ 描述: 如果 $k=1$,那么从 $l$ 到 $r$ (包含端点)的 阅读全文
摘要:
洛谷P1558 分析: 颜色类型只有 \(30\) 种,可以利用二进制进行状压。 线段树维护一个二进制数表示区间的颜色为哪一种,将这个区间的颜色进行状压,每一种颜色对应二进制数的某一位。合并区间时将两个子节点的数按位或即可,题目区间修改为直接覆盖,统计答案时只需统计对应区间的数有多少个 \(1\) 阅读全文
摘要:
CF438D 阅读全文
摘要:
线段树区间开根号 阅读全文
摘要:
线段树+斐波那契 阅读全文
摘要:
猫猫函数 阅读全文
摘要:
1 并集 记A,B是两个集合,以属于A或属于B的元素为元素的集合称为A与B的并(集),记作A∪B(或B∪A),读作“A并B”(或“B并A”),即A∪B={x|x∈A,或x∈B} 。 2 交集 记A,B是两个集合,以属于A且属于B的元素为元素的集合称为A与B的交(集),记作A∩B(或B∩A),读作“A 阅读全文
摘要:
恶臭序列 阅读全文
摘要:
二分 int l,r; while(l<=r){ int mid=(l+r)/2;//>>1 if(ok(mid))l=mid+1; else r=mid-1; } ans=l; lower_bound()和upper_bound() 二分查找 二分查找需要排序 右端点开区间(right需要+1) 阅读全文
摘要:
zhxのDP讲 DP基础例题 1. 斐波那契数列 f[1]=1;//第0项和第1项 f[0]=0; //记忆化搜索 int dp(int n)//斐波那契数列第n项 { //g[i]表示f[i]有没有计算过 if(n<=1)return n; if(g[n])return f[n]; g[n]=tr 阅读全文
摘要:
//求最长上升子序列长度 cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; memset(f,0,sizeof(f)); for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) if(a[j]>a[i]) f[j]=max(f[ 阅读全文
该文被密码保护。 阅读全文
摘要:
#动态规划(DP) ——qbxt ###常见: 最优解 方案数 可行解 ###步骤 : 设计状态 推导状态转移方程 确定初始状态 ###题目: ####线性: 最长不下降子序列 花匠NOIP2013 摆渡车 NOIP2018 飞扬的小鸟 NOIP2014 ####区间 : 石子合并 凸多边形三角划分 阅读全文