zoukankan      html  css  js  c++  java
  • 【学习笔记】陀螺 Treap

    以下来自一堆人从食堂走回机房时的 yy


    (Huge{强烈谴责 mathrm{scolor{red}{kyh}} 看博客不留评论的行为})

    听说 longdie 要爆砍 FHQ 无旋 Treap

    那么在 orz longdie 的同时,先来和小编一起学一学 (Huge{360}) 度旋转陀螺 Treap 吧~~

    核心代码

    const int mod=19260817;
    int X=133,Y=19;
    inline int rand(){
        X=X*mod;
        X-=Y;
        return abs(X);
    }
    
    inline void rotate(){
        //do something...
        //普通的rotate
    }
    
    inline void TopTreap(){
        //陀螺的英文是Top,是不是很震惊
        int x=rand();
        while(x--){
            rotate();
        }
    }
    

    算法内容

    可以看到,使用这种陀螺 Treap,完美模拟抽奖转盘思想,rp 好就不 T,rp 爆炸就 T 掉。再加上 longdie 的随机数生成器,是不是大家很快就被这种算法折服了呢?

    实际上,这种算法跑的也是很快的,下面是小编的实测:

    可以看到,所有点都 0ms 就 AC 了!

    那么这就是今天 Midoria7 看世界的内容了,如果大家又学到了,欢迎在评论区评论哦~~

  • 相关阅读:
    java泛型介绍
    JavaWeb---总结(十九)Session机制
    ServiceWorker入门介绍一
    Ehcache入门介绍一
    Hadoop入门介绍一
    给安卓端调用的短信发送接口demo
    Java开发需要注意的流程
    一些题
    省选模拟3
    省选模拟2
  • 原文地址:https://www.cnblogs.com/Midoria7/p/13778537.html
Copyright © 2011-2022 走看看