摘要:
## 思路 对于每一个动物,我们都尽量让它比它害怕的动物先被卖。 考虑拓扑排序,每次输出出度为 $0$ 的点,然后再删点删边。 但是 $n$ 个点,$n$ 条边,必然存在环,所以只用拓扑排序是不行的。 自然想到 tarjan 缩点,对于环外,就拓扑排序好了,对于一个环,显然无法满足所有的点,所以我们 阅读全文
摘要:
## 思路 一眼顶真,这不就是线段树吗?还挺板的,然后速打了一个线段树。 就是用两个变量分别存这个区间的两个异或值,修改就是交换这两个变量的值,询问都是询问整体的,应该很好写,就不细讲了。 ## AC code ```cpp #include using namespace std; struct 阅读全文
摘要:
## 思路 又又又是一道 CF 诈骗题。 对于 $x$ 选出来的数,我们尽量放大的,对于 $y$ 选出来的数,我们尽量放小的,但是呢,存在同时被 $x$ 和 $y$ 选出来的数,就随便放。 但是可以发现按照题目给的数据范围,这么找选择的数,然后放最大或者是放最小,肯定是超时。 所以我们可以直接算出有 阅读全文
摘要:
## 思路 CF 典型的诈骗题。 假设分出来的 $a$ 和 $b$ 都有因子 $k$,那么 $a+b$ 也一定有因子 $k$,并且至少还存在另一个最小为 $2$ 的因子,才能分出 $a$ 和 $b$。 所以可以发现,质数是不满足要求的,考虑一个合数,一定可以拆成 $k\times a$ 的形式,那么 阅读全文
摘要:
## 思路 假设第 $0$ 时刻走进有陷阱的房间,那么必须在第 $t_i$ 时刻前返回到这个房间之前,因为出去还需要回来,假设到达这个房间后的第 $k$ 个房间,那么到达需要 $k$ 的时间,回来需要 $k+1$ 的时间,因为陷阱会困住当前在房间里的人,所以我们需要提前回去。 那么如果走到一个有陷阱 阅读全文