图论姿势太弱,这套题做了好久.. A:枚举最短那条边,然后最小生成树那种操作,1 和 n 联通就算答案 B:考虑到假如我们能凑出x的话,那很明显我们也能凑出任意数表示x + ai,考虑选取一个ai,然后dis[x]表示能凑出k % ai == x的最小k,跑一次最短路,初始化dis[0] = 0,假设选择的ai为A,然后0 - A-1对于每个数ai都连一条边则dis[(u + aj) % A] = min(dis[(u + aj) % A],dis[u] + aj);判断的时候if(X >= d…