![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
小技巧
DZYO
Never stop
展开
-
O(1)快速乘
引自2009国家集训队论文: 骆可强:《论程序底层优化的一些方法与技巧》 inline ll ksc(ll x,ll y,ll mod){ return (x*y-(ll)((long double)x/mod*y)*mod+mod)%mod; }应为x,y都是mod意义下的,保证了x*y/mod不会爆long long。原创 2017-08-05 19:21:10 · 1442 阅读 · 1 评论 -
主定理(Master Theorem)与时间复杂度
主定理主定理最早出现在《算法导论》中,提供了分治方法带来的递归表达式的渐近复杂度分析。规模为n的问题通过分治,得到a个规模为n/b的问题,每次递归带来的额外计算为c(n^d)T(n) <= aT(n/b)+c(n^d)那么就可以得到问题的复杂度为: T(n) = O(n^d log(n)), if a = b^d T(n) = O(n^d ), if a < b^d T(n) = O(n^lo转载 2017-09-01 10:59:14 · 8933 阅读 · 6 评论 -
[黑科技]__gnu_cxx::rope STL中的可持久化数组
简洁rope是一种可持久化数组,采用块状链表时间,一次操作时间复杂度基本为O(n√)O(\sqrt{n})引用库#include<ext/rope> using namespace __gnu_cxx;rope<char>a;使用方法基本操作运算符:支持+,=,[]。函数a.substr(pos,x) 返回一个rope类型,而且等于a[pos~(pos+x-1)],且两者互不相干。a.era原创 2017-12-17 22:23:20 · 2560 阅读 · 0 评论 -
BZOJ3673,3694:可持久化并查集(Rope/主席树)
BZOJ3673 BZOJ3674用可持续化数据结构维护祖先。注意的是路径压缩的复杂度是错的,要写按秩合并。写BZOJ3673时: Rope真好用啊!!又是一道1KB题目。写BZOJ3674时: 沃日怎么一直RE?? 要了数据,跑了20s,果然O(nn√logn)O(n\sqrt{n}\log n)的复杂度水不过去。然而没有卡路径压缩,改成路径压缩之后过了。写了主席树0.1s过。。以后还是主原创 2017-12-18 10:46:26 · 466 阅读 · 0 评论