摘要: 参考:https://wenku.baidu.com/view/986baf00b52acfc789ebc9a9.html 目录 简介 原理 代码 简介 给定无向图 \(G=(V,E)\) ,其子图记为 \(G'=(V',E')\) ,在所有子图构成的集合中,密度 \(D=\frac{|E'|}{| 阅读全文
posted @ 2021-05-04 20:48 HinanawiTenshi 阅读(680) 评论(0) 推荐(2) 编辑
摘要: 目录 简介 原理 代码 简介 首先说一下什么是闭合图,在图中选取某些点构成点集记为 \(V\) ,如果集合中的出边所指向的终点也在 \(V\) 中,则称 \(V\) 为闭合图。(注意到这个“闭合图”其实是一个点集) 而最大权闭合图,顾名思义,就是对于一个图中的所有闭合图构成的集合中,点权和最大的元素 阅读全文
posted @ 2021-05-04 18:02 HinanawiTenshi 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://www.luogu.com.cn/problem/P5192 分析 这是一道有源汇上下界最大流的模板题(废话)。 既然是网络流的问题,故应该先将图建出来: 根据题目特征, 我们将少女和每一天看作是图中的点。 当然,因为每一天都有拍照次数的限制,我们可以加一个源点 \(s\) 阅读全文
posted @ 2021-04-28 23:45 HinanawiTenshi 阅读(712) 评论(0) 推荐(3) 编辑
摘要: 网络流涉及到的概念好多 \(qwq\) ,梳理一下。 流网络 流网络是一个有向图,包含点集和边集。即 \(G=(V,E)\) 。 对于边 \(e:u\rightarrow v\) (也可以记为 \((u,v)\) ),有属性 \(c(u,v)\) ,称为容量。可以将其比喻为水管在单位时间可以流过的最 阅读全文
posted @ 2021-04-26 21:51 HinanawiTenshi 阅读(1783) 评论(0) 推荐(2) 编辑
摘要: upd: 2021.4.28 添加滑动窗口模板供参考。 目录 简介 滑动窗口模板 例题 简介 单调队列是如何优化DP的呢?其实就是推柿子(找到状态转移方程),然后借助柿子里面连续的特征,利用单调队列将查询最值的代价变低,进而达到优化的目的。 滑动窗口模板 模板题传送门:https://www.acw 阅读全文
posted @ 2021-04-15 21:18 HinanawiTenshi 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 目录 原理 代码 原理 模板题传送门:https://www.acwing.com/problem/content/2817/ cdq分治用来解决什么样的问题呢?一般来说可以: 统计具有三维属性 (\(a,b,c\)) 的、满足一定的比较关系 \(data\) 有多少对。 优化一些数据结构,算法。 阅读全文
posted @ 2021-04-05 21:42 HinanawiTenshi 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 目录 简介 原理 代码 简介 所谓可持久化线段树,就是将线段树的各个历史版本存储起来,以达到通过利用历史信息解决问题的目的。 原理 以权值线段树为例, 我们来看看权值线段树是如何实现可持久化的。 给出一个空的权值线段树,依次插入四个数: 1 3 4 2 首先,这是空的树(记为第 \(0\) 个版本) 阅读全文
posted @ 2021-04-02 00:36 HinanawiTenshi 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://codeforces.com/gym/102956 题目大意: 统计满足下列条件的数列的方案数: 非空 严格递增 任意连续三个元素的异或和不为 \(0\) 元素小于等于给定的 \(n\) 分析: \(f[i]\) 表示以 \(i\) 为尾的方案数。 考虑状态转移: 如果 \( 阅读全文
posted @ 2021-03-31 19:35 HinanawiTenshi 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://codeforces.com/gym/102956/problem/D 题目大意:给出一个数列 \(a\) ,选出一个子序列 \(a_k\) ,使得子序列(长度记为 \(len\) ) \(\sum_{i=1}^{len-1}a_{k_i}\&a_{k_i+1}\) 最大。 阅读全文
posted @ 2021-03-30 21:52 HinanawiTenshi 阅读(94) 评论(0) 推荐(0) 编辑
摘要: A 抽屉原理 #include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; if(a<=8 && b<=8) puts("Yay!"); else puts(":("); return 0; } B 特判 n 阅读全文
posted @ 2021-03-29 20:05 HinanawiTenshi 阅读(75) 评论(0) 推荐(0) 编辑