摘要: 题目 第一次做构造题,做了两节晚自习 qwq 一开始我完全是正着想,首先 \(X\) 是显然的,但其他的点就不好做了, 然后我就想,可行的一般结论推不出,那就想反例,然后我想啊想......倒是想到了几个,比如说环与环之间不能有相交,环内外的点不能互相到达,跟本举不完,而且也不好实现,还是要想一般结 阅读全文
posted @ 2023-11-10 22:15 Zhang_Wenjie 阅读(21) 评论(0) 推荐(0)
摘要: 题目 求方案数,考虑 dp —— 状态设计和边界 —— 题目告诉了一个很显然的性质: 每一排从左至右保证高度单调递减 每一列从后往前保证高度单调递减 那么可以发现,对于每一行,每一列,一定是按高度顺序插入,并且是连续插入,因为如果不连续,就无法保证单调递减的性质 同时,它给出了另一个性质 : \(N 阅读全文
posted @ 2023-11-07 21:08 Zhang_Wenjie 阅读(17) 评论(0) 推荐(0)
摘要: 前缀和 前缀和的基本模型是: \(\large{sum_i = \sum\limits_{j=1}^i a_j}~, ~i\in(1,n)\) 若要对 \(a\) 的 \([l,r]\) 查询区间和,等价于 \(sum_r - sum_{l-1}\) . 树上前缀和 学树上差分顺便学了个前缀和... 阅读全文
posted @ 2023-10-31 13:44 Zhang_Wenjie 阅读(34) 评论(0) 推荐(0)
摘要: 题目 link 要求得到平均产奶量的最小值,想到二分答案。 emm...但是我在如何判断当前 \(mid\) 是否能成立上卡了好久,这里就需要思维了。 还是要想到本质上,可以试着用数学式子表达当前 \(mid\) 的合法条件, 若当前要删除 \([l,r]\) 的数,则有:(这里又可以想到用 前缀和 阅读全文
posted @ 2023-10-23 21:56 Zhang_Wenjie 阅读(18) 评论(0) 推荐(0)
摘要: struct 封装多元组(类似 pair<>、tuple<>) 注意:重载运算符中的大小关系与实际比较意义相反,即 x.first > y.first 表示以维度 first 从小到大排序,x.first < y.first 则表示以维度 first 总是得到当前最大值。 struct T { in 阅读全文
posted @ 2023-08-22 20:20 Zhang_Wenjie 阅读(19) 评论(0) 推荐(0)
摘要: 原理 Part1. 建图 实现方法 邻接矩阵 邻接表 链式前向星 边集数组 空间 \(O(n^2)\) \(O(n+m)\) \(O(n+m)\) \(O(m)\) 优点 适合于稠密图,方便得到出入度、一条边是否存在 各种图,对一个点的出边排序时十分常用 各种图,边带有编号 关注边的信息,常用于 k 阅读全文
posted @ 2023-08-08 23:08 Zhang_Wenjie 阅读(39) 评论(0) 推荐(0)
摘要: 原理 在线维护集合的合并和查询 int find(int x) { return fa[x] == x ? x : fa[x] = find(fa[x]); } void merge(int x, int y) { fa[find(x)] = find(y); } 时间复杂度 运用 题单 1. P6 阅读全文
posted @ 2023-07-31 22:01 Zhang_Wenjie 阅读(33) 评论(0) 推荐(0)
摘要: link A 给你一个数 n ,在给你一个数列 1~k,其中 x 不能用,然后用其他的数任意累加,如能得到 n ,输出所用数字数量和具体数列。 一眼分类。先分是否有 1,有 1 就皆大欢喜; 没 1,那就是可以用 2~k,此时就只要分两种情况:1. k=2,2. k>2 ; 为什么这样分?因为当 k 阅读全文
posted @ 2023-07-01 15:20 Zhang_Wenjie 阅读(34) 评论(2) 推荐(0)