警钟挨撅合辑

慎用1e9可能会有不幸

不开long long 见祖宗(乱开long long也见

慎用define

取余题(数据贼大):先计算,取余完了直接赋回去

	t[id].cheng = (t[id].cheng * k2) % m;
	//t[id].cheng *= k2 % m   会爆炸

将询问区间当成作用对象

数据类型,调函数时要对应!!!

不初始化见祖宗(尤其dp、比大小、多组数据)

vector存图不能存自环

询问多时用ST表(复杂度化乘为加),但也要慎用

小心黑♂暗森林!(图/树不联通)

主要矛盾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]\)(一条边存两遍)

posted @ 2024-02-17 12:34  why?123  阅读(9)  评论(0编辑  收藏  举报