二进制可用于状态压缩和求颜色不同数
复杂度高的时候尽量考虑二分
染色大多用dfs
按位于能排字典序
unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long -2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
找不重复的用sort
memset复杂度O(n)
wa的时候尽量考虑特殊情况(思路正确的情况下)
嵌套循环不要用同一种变量!!!!!!
找最短路时注意输入选最小权的边
拓扑排序
注意题给的顺序不一定是有规律的
矩阵快速幂的思想就是跟数的快速幂一样,把一个O(n)的时间复杂度降到了log(n)
矩阵快速幂一般用于量大的递推
大量的替换的时候可以考虑用中间变量来转
LCA算法
组合公式:www.cnblogs.com/ACShiryu/archive/2011/08/05/2128417.html
组合数学常用公式:www.cppblog.com/vontroy/archive/2010/10/02/128303.html
next_permutation函数blog.sina.com.cn/s/blog_9f7ea4390101101u.html
unique函数www.cnblogs.com/zhangshu/archive/2011/07/23/2115090.html
要随时保证自己想法的逻辑没问题,推理要有根据
如果构造矩阵时没有递推式可以列举找下规律
A^B %C C是质数,而且A,C是互质的。所以直接A^(B%(C-1)) %C
不要靠自己模糊的记忆里的东西来推问题或做题。