2019 Multi-University Training Contest 1(待更新)
Problem 1002
Operation
题意:
一个长度为$n$的字符串$a$,执行下面的操作
$1$ $l$ $r$查询区间内异或的最大值
$0$ $x$ 将$x$放到数组最后一位
输入和输出是强制在线的。。。
思路:
考虑维护一个前缀线性基$f_{ij}$,同时贪心的使线性基的位置尽可能的往右,对于每次的$[l,r]$,查询$[1,r]$的线性基中的位置是否大于等于$l$,然后再贪心的异或得到最大值。
代码:
1 |
|
Problem 1004
Vacation
题意:
有$n$辆车,已知每个车头距离终点的长度和车身长度以及最大速度,计算最后一辆车通过终点的最少时间。
思路:
考虑二分时间$t$,对于每次的时间$t$,计算出如果第$i$辆车没有阻拦的情况下到达的位置,然后由于前面车的限制,递推的计算出$t$时间后最后一辆车的位置。
代码:
1 |
|
Problem 1005
Path
题意:
一个有向图,你需要删除边权和最小的一些边使得从$1-n$的最短路增大,求这个边权和
思路:
将所有最短路通过的边建成一个新图$G(V,E)$,然后求$G(V,E)$的最小割
代码:
1 |
|
Problem 1009
String
题意:
给定一个字符串$S$和$26$个限制条件$[L_i,R_i]$,求一个长度为$k$的子串$t$使得$t$中的第$i$种字母出现的次数都在$[L_i,R_i]$内。
思路:
对字符串$S$构造序列自动机,对于每一位都从’a’到’z’枚举,只要满足条件就加上即可。
代码:
1 |
|