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,注意不能用一个点更新它这条路径起始的特殊点

  

 

原文地址:https://www.cnblogs.com/heoitys/p/11757926.html