bzoj 2118 墨墨的等式

2021-07-07 05:34:05 字數 636 閱讀 4328

又是好一道數論題!令mn為a[1]~a[n]中數的最小值。很顯然,如果x能被湊出來,x+mn也能被湊出來。所以我們只需要知道對於每乙個x屬於[0,mn),滿足y%mn==x中最小的y,那麼就能知道[1,r]中模mn等於x的數里能湊出來的個數。

注意spfa的時候正無窮要大一點

需要特殊處理一下a=0的情況,但是資料好像a!=0

#include

#include

#include

#include

#include

#define md

#define ll long long

#define inf 1000000000000000ll

#define eps 1e-8

#define n 500010

using namespace std;

int q[n];

ll dis[n];

bool vis[n];

int mn,n;

int a[20];

void spfa()}}

vis[x]=0;}}

ll query(ll x)

{ll ans=0;

for (int i=0;i

bzoj2118 墨墨的等式

time limit 10 sec memory limit 259 mb submit 878 solved 337 submit status discuss description 墨墨突然對等式很感興趣,他正在研究a1x1 a2y2 anxn b存在非負整數解的條件,他要求你編寫乙個程式,給...

BZOJ 2118 墨墨的等式

這道題太tm神了。智商 啊 好題啊!找乙個ai,若x為合法的b,則x ai也合法 設bi為最小的x,滿足x mod mn i 求出每個bi就可以求答案了 bi用最短路求就好了啊 意會一下 最後列舉餘數搞一下就算出答案了 好短啊2333 include using namespace std type...

bzoj2118 墨墨的等式

description 墨墨突然對等式很感興趣,他正在研究a1x1 a2y2 anxn b存在非負整數解的條件,他要求你編寫乙個程式,給定n 以及b的取值範圍,求出有多少b可以使等式存在非負整數解。input 輸入的第一行包含3個正整數,分別表示n bmin bmax分別表示數列的長度 b的下界 b...