先處理成字首和關係,然後可以很明顯得看得出這是乙個差分約束。那麼就是最短路問題了。
順便複習了一下spfa加slf優化是怎麼寫的,也學習到了另乙個stl——deque雙向佇列。
#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i = l; i <= r; i++)#define down(i, l, r) for(int i = l; i >= r; i--)
#define n 123
#define m 2345
#define ll long long
using namespace std;
inline int read()
while (ch>='0' && ch<='9')
return x*f;
}struct edge e[m]; int fir[n], en;
int t, n, m, d[n], c[n], x, y, z;
bool b[n], ans;
deque q;
void adde(int x, int y, int z)
void init()
int main()
int o = fir[x], y = e[o].y;
while (o)
o=e[o].n, y=e[o].y;
}} if (ans) printf("true\n"); else printf("false\n");
} return 0;
}
bzoj1202 狡猾的商人
如果這個賬本是真的話,那麼對於乙個s,t,在圖上,兩個點之間任意一條路徑的長度都必須相等,不然這個賬本就不是真的。用並查集在維護這個資訊,也就是字首和,字首和就是前i個月收入的錢,那麼對於任意一行資料 s t v 都有 sum s sum t v 然後在並查集的時候,查詢父親節點的時候,將sum值累...
bzoj1202 狡猾的商人
time limit 10 sec memory limit 162 mb submit 3569 solved 1717 submit status discuss 刁奼接到乙個任務,為稅務部門調查一位商人的賬本,看看賬本是不是偽造的。賬本上記錄了n個月以來的收入情況,其中第i 個月的收入額為ai...
BZOJ1202 狡猾的商人
知識點 差分約束 難點 找到正確的不等關係然後建圖 關於建圖 一段時間內的收入及字首和,l r天的收入用字首和表達即sum r sum l 1 對於每乙個賬本,如果它是假的,可能會出現這種情況 sum 1,2 1,sum 2,3 1,sum 1,3 1 顯然 第一天第二天第三天收入為2,與sum 1...