一些零散的笔记或者自己犯过的错

二进制可用于状态压缩和求颜色不同数

复杂度高的时候尽量考虑二分

染色大多用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

不要靠自己模糊的记忆里的东西来推问题或做题。

你可能感兴趣的:(一些零散的笔记或者自己犯过的错)