
黑科技
Facico
生命是闪耀的此刻,不是过程,就像芳香不需要道路一样。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
处理两数相乘的黑科技
黑科技来源我们发现如果两个数都接近long long,乘起来就爆掉了,那该怎么办。黑科技快速乘简介这个应该是白科技。 虽然叫快速乘,但是十分的慢。 速度比快速幂多一个log 。 比如说是a*b,我们设f(i)=a*i 那么把b拆一下,f(b)=f(b/2) * 2+a *(b mod 2) 递归的做Codell qsc(ll x,ll y){ ll z=0; if(y==原创 2016-03-16 14:21:14 · 1666 阅读 · 0 评论 -
离散化黑科技
为什么要离散化当以权值为下标的时候,值太大,存不下。 然后把要离散化的每一个数组里面的数映射到另一个值小一点的数组里面去。平常的离散化平常用c++打的离散化,要排个序,有时还要打一个struct存起来。 好麻烦!神奇的黑科技void lisan(int *x){//首先c++调用一个数组直接打这个数组的类型就好了。 arr data; fo(i,1,n)data[i]=x[i];原创 2016-04-14 19:02:14 · 3206 阅读 · 0 评论 -
【黑科技】c++三元数组合并为二元
简介三元数组比如说h[i][j][k],来存储一些东西,但是空间调用太大了会爆掉怎么办? c++有一个三元数组合并为二元的方法。其实打hash也是可以的用pair加map首先typedef pair<int,int>P;pairmap<P,int>h[maxn];然后map< P,int>可以在map中把P映射到int数组里。j=h[x][P(y,z)];然后原来的h[x][y][z],就可以打成原创 2016-07-04 10:00:36 · 2133 阅读 · 0 评论