- 博客(223)
- 收藏
- 关注
原创 谜一样的牛 查找剩下的数中第k+1大的数 树状数组二分
首先给每一个位置上初始化一个1(表示剩下的数,0代表被选择的数)这样每一位的前缀和的含义就该数是剩下的数中的第几位。用树状数组的单点修改来维护每个位置的状态,用树状数组的前缀和来维护该位置是剩下的数的几大的数字。
2024-08-08 01:17:17
140
原创 一个简单的整数问题2 区间加 + 区间和 树状数组动态维护前缀和
这样前缀和就别转换为了两个差分前缀和的形式,只需要将差分数组用数组数组处理即可。树状数组只是处理数据的一种形式可以使操作对象具有树状数组的性质。再通过一般前缀和求区间和的思想求出某一段之和。1.处理出原数组的差分数组,即可实现区间加;
2024-08-08 00:03:33
189
原创 一个简单的整数问题 差分数组 * 树状数组 实现区间修改和单点查询
将原数组变为差分数组再在差分数组上创建树状数组,区间修使用差分数组的修改方式可以通过树状数组的单点修改实现,单点查询使用树状数组的求前缀和实现。
2024-08-07 03:02:04
193
原创 管道 蓝桥杯 二分答案 + 变种区间合并 + 很多细节
1.二分时mid的大小最大会来到 2 * r 的大小,当r很大计算时将 r 和 l 转化为long long 计算。1.从某一时刻之后整个管道都会被填满而之前就不会,发现答案具有二段性使用二分。2.判断已有水区间是否合并为一个且包含起始端点。
2024-07-28 13:41:56
234
原创 借教室 二分答案 + 差分
1.当出现第一个不满足的订单后,后面的订单都是不满足的,所以可以通过二分答案找到第一个不满足的订单,因为每次都是从前往后借教室所以要把每次的操作存储一下。2.每次借用教室的时候对应区间的教室数量会减少是区间修改可以使用差分。
2024-07-28 11:43:35
192
原创 口袋的天空 kruskal算法的理解1 将个n点联通为代价最小的k颗树
最开始可以看作有n朵棉花糖,每用kruskal算法联通一次就少一朵棉花糖。
2024-07-25 08:25:19
165
原创 dijkstra大成版
1.找到一个没有被标记为最短路的点 且到起点的距离最近。首先将起点的距离设置为0,不打上标签,将起点加入队列。用该点更新它所连接的点,将更新成功的点加入到堆中。如果堆顶元素已经被打上最短路标签则返回上一步骤。首先将起点的距离设置为0,不打上标签。3.用该点更新它所连接的其他点的距离。2.将该点打上到起点最短路的标记。将该点打上最短路标签。优化版:当队列不为空。
2024-07-25 06:25:21
158
原创 染色法判定二分图 判断二分图模板
遍历每一个点如果没染色就染色然后从这个点向它所连接边染色对于已染色的点与该点颜色相同不合法不相同则合法,如果没染色就重复上面的过程。通过3和1,2的减法循环表示两种状态真的太优雅了。
2024-07-24 03:35:44
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人