摘要:
"传送门" 解题思路 $lct$就是基于实链剖分,用$splay$来维护每一条实链,$lct$的维护对象是一棵森林。$lct$支持很多神奇的操作: $1、$ $access$:这是$lct$的核心操作,就是将一个点与根打通,就是把路径上的所有边变成实边,具体就是转到根,换儿子,更新信息。 $2、$$ 阅读全文
该文被密码保护。 阅读全文
摘要:
"传送门" 解题思路 大概就是一个数很少次数的开方会开到$1$,而$1$开方还是$1$,所以维护一个和,维护一个开方标记,维护一个区间是否全部为$1/0$的标记。然后每次修改时先看是否有全$1$或$0$的标记,有就不用理了,没有就暴力开方。 代码 阅读全文
摘要:
$Day 0$ 突然意识到明天就是$NOIp$了。。。莫名恐慌,感觉前一周的状态其实不是很好,药丸~~。中午的火车,下午到达临汾,车上写了一道$ztz11$推荐给我的题,结果好像不太会。。下午就跑到$lfyz$,领了饭卡+胸牌,在签名墙上签了个名,就去愉快的试机了,键盘好软,差评。敲了个高精$A+B 阅读全文
摘要:
"传送门" 解题思路 给每一时刻建一棵线段树维护当前时刻的值,然后修改的时候直接修改,查询的时候直接查,记住查询完后一定要复制。 代码 cpp include include include include include using namespace std; const int MAXN = 阅读全文
摘要:
"传送门" 解题思路 主席树模板题,主席树就是一个支持查询历史版本的数据结构,就是在原树的基础上只修改那些受影响的部分以保证时空复杂度。做法就是首先离散化,然后给每个值建一棵线段树,每次建在上一个的基础上,然后查询的时候就变成前缀和相减的形式。时间复杂度$O(nlogn)$。 代码 cpp incl 阅读全文
摘要:
"传送门" 解题思路 一道%你神题,$string$好强大啊。。首先枚举一个周几,再枚举一个罪犯是谁,然后判断的时候就是枚举所有人说的话。定义$fAKe[i]$表示第$i$个人说的是真话还是假话还是未知。然后如果遇到$xx is guilty$或$I am guilty$之类的话,就看枚举的罪犯是否 阅读全文
摘要:
"传送门" 解题思路 比较神的一道题。首先发现是最小值问题,并且具有单调性,所以要考虑二分答案。其次有一个性质是军队越靠上越优,所以我们要将所有的军队尽量向上提,这一过程我们用倍增实现。发现这时有两种军队,一种是到根之后可以继续移动,另一种不行。那么记录下来那些到根之后可以移动的点和可以继续移动的距 阅读全文
摘要:
"传送门" 解题思路 首先我们要把加速器一个一个的用,用在什么地方呢。假设当前站车比人晚到,那么车上的人与等待的人都会受到影响;否则的话只有在当前站下车的人有影响。我们第一步先求出车到站的时间,对于一条路来说,如果人等车,那么在这条路用加速器的效果可以继续向后延伸。否则只会对下一站造成影响。这样的话 阅读全文
摘要:
"传送门" 解题思路 二进制优化多重背包裸题。 代码 阅读全文