我要弃博客

一些不为人知的***

1.

multiset<int> S;

S.erase(x)

会把所有S中的x删除,而不是删除S中的一个x,想要删除一个x,要写S.erase(S.find(x))

2.

NOIP实际时限<=题目上时限*0.4

3.

NOIP模拟题中一些**出题人的强制在线可能是假的(真实比赛估计不会这样)

4.

取模时候用到了减法,最后要(ans+=MO)%=MO

5.

网络流中的双向边,最大流加2条边,费用流要加4条边

6.

注意MO=998244353|1000000007?

7.

(a+=b*c)

a:int b:LL c:int

bomb

8.

struct node{
	LL s;
	int A,B,C,D;
	node(){}
	node(LL _s,int _A,int _B,int _C,int _D){
		s=_s,A=_A,B=_B,C=_C,D=_D;
	}
	bool operator < (const node & T) const{
		return (s<T.s);
	}
};
set<node> S;

这样写set会把所有s相等的node都认为是一样的,进行去重,导致不应该删掉的东西被删掉。

9.

有些题面数据范围是:n*m<=1e5,但是题面有隐含条件n<=m,这时候O(n^2*m)的对的。

10.

树状数组求sum(4)但是add的时候都是n=3,会GG

11.

注意看清MO是998244353|1000000007|1000000009

12.

就算包了bits/stdc++.h,也要using namespace std;