PA2019 final
不放翻译了,去官网看吧
Floyd-Warshall
\(O(nmlogm)\)算出点对最短路径
按顺序更新\((i=1\sim n)\)
记下\(i\)到哪些点是没问题的\(S\),记下哪些点到\(j\)的路径是没问题的\(T\),然后考虑\(i,j\)的路径是否能被更新,存在\(k\in S\cap T\),且\(i\longrightarrow k\longrightarrow j\)的路径是最优的
\(k\)可以通过传递闭包算出来
Gdzie jest jedynka? 2 (gdz)
不会...
Grafy (gra)
考虑\(0\sim 2n-1\)排列,若\(p_i=j\),为\(j/2\)向\(i/2\)连了一条有向边,当然这与答案不是一一对应的,最后要除掉一个\(2^{2n}\)
若满足要求,充要条件为\(p_{2i}/2\neq p_{2i+1}/2\),\(p_{2i}/2\neq i\),\(p_{2i+1}/2\neq i\)
考虑容斥,\(p_{2i}/2=p_{2i+1}/2\)的系数为\(-1\),\(p_{2i}/2=i\)与\(p_{2i+1}/2=i\)的系数为\(-1\),\(p_{2i}/2=i\And p_{2i+1}/2=i\)的系数为\(2\)
枚举\(i\)对\(p_{2i}/2=p_{2i+1}/2\),\(j\)个\(p_{2i}/2=i\),\(k\)对\(p_{2i/2}=i\And p_{2i+1}/2=i\)
Łamana 2
上是不会增加贡献的,只有前面上,然后后面右会产生贡献,单独考虑每对的贡献即可
Parzysty deszcz (pad)
考虑最后的积水,关键点,\(x_1,x_2,\cdots,x_{l-1},x_l,x_{l+1},\cdots,x_{m-1},x_m\)。
\(1\sim x_1\)的水位为\(0\),\(x_1\sim x_2\)的水位为\(x_1\)\(\cdots\)\(x_{l-1}\sim x_l\)的水位为\(x_{l-1}\),\(x_l\)与\(x_{l+1}\)的水位为\(x_{l+1}\)\(\cdots\)\(x_{m-1}\)与\(x_m\)的水位为\(x_m\),\(x_m\)与\(n\)的水位为\(0\)。其中\(x_l\)为最高水位
令\(f_{i,j}\)为\(i\)为关键点,选了\(j\)个点,可以删掉后面若干个关键点之间跳到另外的关键点,然后中间还可以再删一些
Pionki (pio)
不会...
Terytoria 2 (ter)
考虑最优解的状态
枚举放的最多的某个点,将矩阵不包含其的种类都放到那里
考虑包含其的矩阵的种类放置位置,通过调整法易得放置的位置为整个棋盘的角,枚举某个角,尽量放,容易发现剩下的点可以放到对角处,否则无解
具体的实现可以通过二维差分来做
Zdjęcie rodzinne (zdj)
利用\(u\)节点将子树拼接起来,容易发现子树的状态不重要,\(u\)子树的状态在\(u\)处理完后也不重要了
用堆存子树分割成了多少序列,每次利用\(u\)合并两个序列