CSP-S 模拟92
数列
exgcd,对于每个数求出特解,当x为最小正值或最大负值时操作数最少,对于每个数求出最少操作数加和
数对
如果排序一定,它是一个线段树优化DP de原题,严谨证明(列表)一下,只考虑$a_i<a_j$的情
-
- $\large a_i<a_j<b_i<b_j$ ,i和j互相可以到达,i和j的顺序无所谓
- $\large a_i<a_j<b_j<b_i$ ,同上
- $\large a_i<b_i<b_j<a_j$ ,显然j应该在i的后面
- $\large a_i<b_j<b_i<a_j$ ,同上
- $\large b_i<b_j<a_i<a_j$ ,i和j互相无法到达,顺序无所谓
- $\large b_j<b_i<a_i<a_j$ ,同上
- $\large a_i<b_i<a_j<b_j$ ,j应在i后面
- $\large a_i<b_j<a_j<b_i$ ,可以互相到达,顺序无所谓
- $\large b_i<a_i<b_j<a_j$ ,j在i后面
- $\large b_j<a_i<b_i<a_j$ ,无法互相到达
- $\large b_i<a_i<a_j<b_j$ ,j在i后面
- $\large b_j<a_i<a_j<b_i$ ,i在j后面
由上可得,可以按照(a+b)排序,然后就是原题了
最小距离
多源最短路,注意对于一个非特殊点要记录最小值和次小值,跑一遍Dijstra,注意不能用一个点更新它这条路径起始的特殊点
$Will$ $Be$ $The$ $King$