自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 CF38G Queue (区间splay)

传送门题意(摘自洛谷)【问题描述】 有n个人依次排队,每个人都有两个属性值 a[i] 、c[i] ,a[i]是重要性值,数值越大越重要,c[i]是良心值。假如前i-1人已经排好队后,第i个人来排队,初始时他在队尾,如果他的a[i]大于排在他前面那位的重要性值,那么两人可以交换位置,每次交换良心值减1,直到他前面的人的重要性值大于a[i]或者良心值为0的时候(即最多交换c[i]次),问最终n个人的队列次序。【输入描述】 第一行一个整数n,表示队列人数。 接下来n行,每行两个整数ai,ci,表示第i个人

2021-04-26 21:35:44 145

原创 Acwing.379 捉迷藏(最小路径重复点覆盖)

传送门1.前置知识1.最小路径点覆盖DAG中选出最小数量的不相交路径(无公共点),将所有点覆盖。求法:将DAG中的点拆成出点和入点,构成一个二分图。则原图的最小路径点覆盖转化到新图中:1.无公共点->每个点最多只有一个出度一个入度 ->…->新图中的任意两条边之间不相交-> 新图中的边都是匹配边。小结论:每个路径终点 对应 一个左侧非匹配点<=> 让左侧非匹配点最少 n-m<=> 让左侧匹配点最多 m<=> 找最大匹配边数 m

2021-04-22 20:32:35 2684 4

原创 P3850 [TJOI2007]书架 (splay维护序列)

传送门1.题意Knuth 先生家里有个精致的书架,书架上有 NN 本书,如今他想学到更多的知识,于是又买来了 MM 本不同的新书。现在他要把新买的书依次插入到书架中,他已经把每本书要插入的位置标记好了,并且相应的将它们放好。由于 Knuth 年龄已大,过几天他已经记不清某些位置上放的到底是什么书了,请问你能帮助他吗?2.分析说白了,就是不停的向序列中插入元素(插队)。最后查询第i个位置是什么。splay可以很简单的进行插入操作。3.代码#include <bits/stdc++.h&gt

2021-04-08 20:45:19 214

原创 LUOGU P3586 [POI2015]LOG (splay)

传送门1.题意维护一个长度为 n 的序列,一开始都是 0,支持以下两种操作:1.U k a 将序列中第 k 个数修改为 a。2.Z c s 在这个序列上,每次选出 c 个正数,并将它们都减去 1,询问能否进行 s 次操作。每次询问独立,即每次询问不会对序列进行修改。2.分析操作的次数与 第 k 个数 无关。故只需要动态维护好第k个数的值cnt[k]就行了。当需要进行s次操作时:1.cnt[i]>=s:对结果的贡献为s。(和记为lim)2.cnt[i]<s:对结果的贡献为cnt

2021-04-07 20:40:32 167

原创 洛谷P2596 [ZJOI2006]书架(splay)

传送门1.题意第一行有两个整数,分别表示书的个数 n 以及命令条数 m。第二行有 n 个整数,第 i 个整数表示初始时从上向下书第 ii 本书的编号 p_i。接下来 m 行,每行表示一个操作。每行初始时有一个字符串 op。若 op 为 Top,则后有一个整数 s,表示把编号为 s 的书放在最上面。若 op 为 Bottom,则后有一个整数 s,表示把编号为 s 的书放在最下面。若 op 为 Insert,则后有两个整数 s,t,表示若编号为 s 的书上面有 x 本书,则放回这本书时他的上面有

2021-04-05 19:34:06 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除