更加感性的理解就是求乙個dis[i]表示由n個 a[i] 求和 modt 為 i 的最小值
這樣就可以先跑一遍最短路,算出dis,然後從0到t-1走一遍,算出在bmin-bmax有多少數就行了
**
#includeusing namespace std;
#define pli pairconst int maxn=15;
typedef long long ll;
const int n=5e5+5;
const long long inf=1e18;
long long read()
int n,cnt;
long long l,r,dis[n];
int a[maxn],vis[n],head[n];
struct edge
e[n*12];
void add(int x,int y,int z)
int minn=0x3f3f3f3f;
void dijkstra()
} }}ll calc(ll x, ll y, ll z)
int main()
P2371 國家集訓隊 墨墨的等式 同餘最短路
傳送門 題意 思路 乙個同於最短路的板子題,初始的時候值為0,所以設dis 0 0dis 0 0 dis 0 0,讓後選擇乙個最小的a i a i a i 作為b as ebase base 跑一遍同餘最短路就好啦。跑完dis i dis i dis i 表示在模bas ebase base 的意義...
P2371 國家集訓隊 墨墨的等式(同餘最短路)
題目大意 給定 n nn 個整數 a ia i ai 和 l,r l,rl,r 求 i 1nai xi n n l,r sum na ix i n n in l,r i 1n ai x i n n l,r 有多少組非負整數解 題目分析 同樣是同餘最短路的模型,還是套路的取 a 1a 1 a1 作為 ...
P2371 國家集訓隊 墨墨的等式
p2371 國家集訓隊 墨墨的等式 同餘最短路,考慮直接用最小的代價拼出來在膜最小 a i 意義下的餘數。然後不停地累加最小的 a i 一下稱它 a 就行了。正確性 假定 i,j,k 為膜 a 下的餘數,令 i j equiv k mod a 那麼顯然 i j t cdot a k t 為任意非負整...