JOISC 2018 题解
没做计算几何题和提交答案题。
JOISC2018 Day1 Construction of Highway 道路建设
注意到题目中的操作相当于就是到根的路径染色,我们离线下来进行树剖,每条重链维护连续段,然后显然均摊会修改 段。我们每次修改时可以取出所有连续段,然后题目问逆序对数,我们对这些连续段跑一次逆序对即可。复杂度 。
https://qoj.ac/submission/104349
JOISC2018 Day1 Tents 帐篷
我们把行/列上的一对看成一组,每一组会消耗一行两列/两行一列。所以我们先枚举我们放几个横对,枚举放几个行对,枚举放几个列对,再枚举放几个单点,式子就长成这样(令 表示 )
把后面的东西拎出来,令 ,我们把 拆了然后再把 化成 ,得到 。然后就可以 做了。
https://qoj.ac/submission/104363
* JOISC2018 Day2 修行 Asceticism
即求欧拉数。
首先二项式反演,钦定有 个小于号,即 个上升连续段。一个上升段的 EGF 为 , 个段的 EGF 即 。于是我们可以得到答案为
JOISC2018 Day2 最坏记者3 Worst Reporter 3
我们考虑每个人往后走的长度一定是前一个的整数倍。于是我们预处理一下,把长度相同的并起来,然后每次询问暴力查看是否在区间即可。复杂度 。
https://qoj.ac/submission/104631
JOISC2018 Day3 比太郎的聚会 Bitaro’s Party
看上去不是很好维护,考虑根号分治,暴力维护。我们对于每个点维护能到达它的前 大的点,然后这个是可以直接转移时归并的。然后不能来的点数 的时候就考虑直接暴力做。 稍微小一点跑的会比较快。
https://qoj.ac/submission/104697
* JOISC2018 Day3 安全门 Security Gate
对于括号序列串 ,设前缀和 和后缀和 ,假设我们反转的区间为 ,令 ,那么合法当且仅当:,,,。我们对原串进行分类讨论。第一种,原串本身就是合法串,直接 DP。第二种,原串满足 ,但是存在 。第三种,原串满足 ,但是存在 。这两种情况对称。第四种,原串存在 且存在 。
考虑第二三种如何处理。这时我们的决策一定是找到最小的 的位置 (满足 处为右括号),在 中取最早出现的 最大值的位置作为 ,并贪心找 后面的第一个满足 的位置 。我们令 ,,则 ,于是 。我们 DP 表示对于 ,,前缀最大 ,那么 满足 的方案数为 。设计 DP 表示钦定 ,,, 是否已经在被翻转的区间中()。而我们限制即 满足 (因为钦定了 是第一个满足要求的),(对限制进行化简得到)。然后答案即 。
然后考虑第四种如何处理。这时我们的决策对于 也是一样的,对于 要满足 及之后的 都 。但是这需要满足 。但是其实如果我们把整个串翻过来然后左右括号反以下,发现如果正过来不满足这个条件那必然反过来后满足,唯一的问题是 时会算重,减掉就行了。考虑 DP。从 往 走,如果已经经历过 的话,那么这之后再出现 就无所谓了,于是还要加一个 表示目前已经经历过 了。然后其它都是差不多的。
https://qoj.ac/submission/105912
JOISC2018 Day4 糖 Candies
反悔贪心。用一个链表维护,然后每次把 变成 即可。需要注意边界的情况,如果处理的是边界的点那么需要直接删掉。
https://qoj.ac/submission/104884
JOISC2018 Day4 图书馆 Library
首先我们 次问询问出第一个元素。然后我们考虑每次找到紧跟着这个元素 后面的那个元素。我们考虑维护一个候选集合 ,每次选 中的一半,问一次 和一次 ,就能判断后面那个元素是否在 中。
https://qoj.ac/submission/104885
JOISC2018 Day4 野猪 Wild Boar
每年就总有一道这种题,让人写的痛不欲生。
首先我们考虑对于一条路径,它真正有用的信息只有长度,和首尾两条边是什么。如果我们想要合并两条路径 ,我们只需要 的最后一条边和 的第一条边不相等。我们维护 之间的五条路径:最短路,钦定首边与最短路不同的最短路,钦定尾边与最短路不同的最短路,钦定首尾边都不同的最短路。然后我们就可以在线段树上维护询问了。
然后就是这些东西怎么求。我的sb做法是:对于每个边 ,记录 表示 出发且第一步是 的最短/次短路,且保证次短路的尾边与最短路不同。这个有很多的细节。然后将所有记录下来的路径排序之后从前往后找路径。我的代码距离爆 1G 的内存,只差 0.8M。很危险。
本文作者:LarsWerner
本文链接:https://www.cnblogs.com/TetrisCandy/p/17403403.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步