长枪短炮技巧の菜刀流[处理一些问题的小方法]

1.在O(n)时间内处理出一个字符串的所有循环字符串的hash值:将字符串倍长,然后通过取模运算实现

  for(int j=0;j<=(n<<1)-1;j++) f[j+1]=f[j]*base+s[j%n]-'a'+1;

2.一个图是不是二分图的充要条件为是不是含有奇环。

3.如果将一个n个点的树染色保证任意直接相连的两个点颜色不同,那么可以保证颜色种类最少值至多有logn个。

4.有些建图题,比如网络流啊,图论啥的,本来一条边所代表的含义有(一万字),然后代价(unsigned ll),我们可以将边拆开,拆成一些简单的边,满足简单的边聚合起来仍然保留着复杂边的含义,而有时简单的边往往会使复杂度随之降下来。   bzoj-2259

5.如果你发现有的题,其实dp方程很简单,但是发现自己的转移方程需要儿子们枚举一下子集啥的..这时思考一下多叉树转二叉树可能有奇效 bzoj-1812

猜你喜欢

转载自www.cnblogs.com/ShuraK/p/9292713.html
今日推荐