标签:多重 tar bit 而不是 扩展欧几里得 for循环 编号 费马小定理 素数
1.如果遇到需要处理小数(无论什么情况,只要出现了小数),空间足够的情况下用double,详见NOIP2016D2T2蚯蚓,不开double炸穿天。
2.计数时输出结果时用long long。
3.邻接链表存储图的时候first数组初始值一定要memset为-1。
4.数组开够就行了。
5.1既不是素数也不是合数
7.树状数组的lowbit(int x)返回的是x&(-x)而不是(-x)&x
8.在写线段树的时候如果要加lazy标记,则每遍历到一个新的点则应该更新其lazy标记
9.当需要求和的时候如果不知道数据范围建议开long long,(特别是线段树和树状数组)
10.多重循环的变量名一定要分开,血的教训(洛谷3387)QAQ
11.输入时的%lld不要写成%d,改了好久才发现(洛谷3390)QWQ
12.如果题目给的数据的点的编号是从0开始的,for循环时一定要注意!!!(fzoj2106改了好久最后发现时就是这个问题)
13.特殊的卡常技巧:tarjan从n~1缩点
14.求a mod p的逆元的时候如果不确定p是否为质数用扩展欧几里得,不要用费马小定理,特别是中国剩余定理!!!
标签:多重 tar bit 而不是 扩展欧几里得 for循环 编号 费马小定理 素数
原文地址:http://www.cnblogs.com/SaltedfishTree/p/7745888.html