zoukankan      html  css  js  c++  java
  • st表

    const ll maxn = 1e6 + 9;
    ll st[maxn][25];
    ll sst[maxn][25];
    ll ssg[maxn][25];
    ll LOG2[maxn];
    ll query_max(ll l, ll r) {
        ll k = LOG2[r - l + 1];
        return max(st[l][k], st[r - (1 << k) + 1][k]);
    }
    ll query_min(ll l, ll r) {
        ll k = LOG2[r - l + 1];
        return min(sst[l][k], sst[r - (1 << k) + 1][k]);
    }
    
    ll query_gcd(ll l, ll r) {
        ll k = LOG2[r - l + 1];
        return __gcd(ssg[l][k], ssg[r - (1 << k) + 1][k]);
    }
    void init(vector<ll> v) {
        ll len = v.size() - 1;
        for (ll i = 1; i <= len; i++) {
            LOG2[i] = log2(i);
        }
    
        for (ll i = 1; i <= len; i++) {
            st[i][0] = sst[i][0] = ssg[i][0] = v[i];
        }
        for (ll j = 1; j <= 24; j++) {
            for (ll i = 1; i + (1 << j) - 1 <= len; i++) {
                sst[i][j] = min(sst[i][j - 1], sst[i + (1 << (j - 1))][j - 1]);
                st[i][j] = max(st[i][j - 1], st[i + (1 << (j - 1))][j - 1]);
                ssg[i][j] = __gcd(ssg[i][j - 1], ssg[i + (1 << (j - 1))][j - 1]);
            }
        }
    }
    
  • 相关阅读:
    ribbon--eureka注册中心消费者
    eureka注册中心
    spring cloud简介
    Quartz定时任务
    ThreadLocal
    分布式单点登录SSO
    dubbo框架
    注册中心
    centos安装zookeeper及搭建集群
    7.19 基础数据结构选讲
  • 原文地址:https://www.cnblogs.com/Xiao-yan/p/15085075.html
Copyright © 2011-2022 走看看