又是好一道數論題!令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...