慎用1e9可能會有不幸
不開long long 見祖宗(亂開long long也見)
慎用define
取余題(數據賊大):先計算,取余完了直接賦回去
t[id].cheng = (t[id].cheng * k2) % m;
//t[id].cheng *= k2 % m 會爆炸
將詢問區間當成作用對象
數據類型,調函數時要對應?。?!
不初始化見祖宗(尤其dp、比大小、多組數據)
vector存圖不能存自環
詢問多時用ST表(復雜度化乘為加),但也要慎用
小心黑♂暗森林?。▓D/樹不聯通)
主要矛盾1:實時處理VS預處理
暴力遞歸慎用(爆棧警告)(題實在不會了用)
少讓較慢的STL函數進入循環
leng = strlen(s + 1);
for(int i = 1;i <= leng;i++) √
for(int i = 1;i <= strlen(s + 1);i++) ×
矩陣輸入看好誰是行誰是列(傻逼樣例只給正方形)
自然溢出base不要用114或114514(mi[k] = 0)
如果循環內部影響了終止條件,全寫成函數
while(j && (sum(a[i]) != rk[j + 1] || sum(a[i] - 1) != idx[j + 1]))
{
for(int l = i - j;l < i - nxt[j];l++)
add(a[l],-1);
j = nxt[j];
} √
ll p = sum(a[i] - 1);
ll q = sum(a[i]);
while(j && (q != rk[j + 1] || p != idx[j + 1]))
{
for(int l = i - j;l < i - nxt[j];l++)
add(a[l],-1);
j = nxt[j];
} ×,因為add()影響每一次的sum()
求通解時系數除以GCD!
求通解時系數除以GCD!
求通解時系數除以GCD!(猜猜為什么有三遍)
卡常小妙招:發現情況立刻退出循環(也可以寫成函數,if成立時直接return)
數論&組合:多取余 多取余 多取余 多取余 多取余 多取余 多取余 多取余 多取余 多取余
非 void 函數沒返回值在開 O2 的情況下會 RE,就像 exgcd 函數。
數論中的除法必須全部使用逆元
留意逆天特判
精度比要求多\(10^{-3}-10^{-4}\)(要\(10^{-9},eps = 10^{-12}\))
第\(i\)條邊在前向星中對應\(e[2i]\)(一條邊存兩遍)