• 个人简介

    洛谷uid548300,支持壶关

    http://noip.ac.cn/blog/32


    New template(请自便)

    #include <bits/stdc++.h>
    //Atcoder library start=======================================================================================
    //internal_bit.hpp==========================================================================
    #ifndef ATCODER_INTERNAL_BITOP_HPP
    #define ATCODER_INTERNAL_BITOP_HPP 1
    #ifdef _MSC_VER
    #include <intrin.h>
    #endif
    namespace atcoder {
    namespace internal {
    // @param n `0 <= n`
    // @return minimum non-negative `x` s.t. `n <= 2**x`
    int ceil_pow2(int n) {
        int x = 0;
        while ((1U << x) < (unsigned int)(n)) x++;
        return x;
    }
    // @param n `1 <= n`
    // @return minimum non-negative `x` s.t. `(n & (1 << x)) != 0`
    int bsf(unsigned int n) {
    #ifdef _MSC_VER
        unsigned long index;
        _BitScanForward(&index, n);
        return index;
    #else
        return __builtin_ctz(n);
    #endif
    }
    }  // namespace internal
    }  // namespace atcoder
    #endif  // ATCODER_INTERNAL_BITOP_HPP
    //segtree.hpp==========================================================================
    #ifndef ATCODER_SEGTREE_HPP
    #define ATCODER_SEGTREE_HPP 1
    #include <algorithm>
    #include <cassert>
    #include <vector>
    namespace atcoder {
    template <class S, S (*op)(S, S), S (*e)()> struct segtree {
      public:
        segtree() : segtree(0) {}
        segtree(int n) : segtree(std::vector<S>(n, e())) {}
        segtree(const std::vector<S>& v) : _n(int(v.size())) {
            log = internal::ceil_pow2(_n);
            size = 1 << log;
            d = std::vector<S>(2 * size, e());
            for (int i = 0; i < _n; i++) d[size + i] = v[i];
            for (int i = size - 1; i >= 1; i--) {
                update(i);
            }
        }
        void set(int p, S x) {
            assert(0 <= p && p < _n);
            p += size;
            d[p] = x;
            for (int i = 1; i <= log; i++) update(p >> i);
        }
        S get(int p) {
            assert(0 <= p && p < _n);
            return d[p + size];
        }
        S prod(int l, int r) {
            assert(0 <= l && l <= r && r <= _n);
            S sml = e(), smr = e();
            l += size;
            r += size;
    
            while (l < r) {
                if (l & 1) sml = op(sml, d[l++]);
                if (r & 1) smr = op(d[--r], smr);
                l >>= 1;
                r >>= 1;
            }
            return op(sml, smr);
        }
        S all_prod() { return d[1]; }
        template <bool (*f)(S)> int max_right(int l) {
            return max_right(l, [](S x) { return f(x); });
        }
        template <class F> int max_right(int l, F f) {
            assert(0 <= l && l <= _n);
            assert(f(e()));
            if (l == _n) return _n;
            l += size;
            S sm = e();
            do {
                while (l % 2 == 0) l >>= 1;
                if (!f(op(sm, d[l]))) {
                    while (l < size) {
                        l = (2 * l);
                        if (f(op(sm, d[l]))) {
                            sm = op(sm, d[l]);
                            l++;
                        }
                    }
                    return l - size;
                }
                sm = op(sm, d[l]);
                l++;
            } while ((l & -l) != l);
            return _n;
        }
        template <bool (*f)(S)> int min_left(int r) {
            return min_left(r, [](S x) { return f(x); });
        }
        template <class F> int min_left(int r, F f) {
            assert(0 <= r && r <= _n);
            assert(f(e()));
            if (r == 0) return 0;
            r += size;
            S sm = e();
            do {
                r--;
                while (r > 1 && (r % 2)) r >>= 1;
                if (!f(op(d[r], sm))) {
                    while (r < size) {
                        r = (2 * r + 1);
                        if (f(op(d[r], sm))) {
                            sm = op(d[r], sm);
                            r--;
                        }
                    }
                    return r + 1 - size;
                }
                sm = op(d[r], sm);
            } while ((r & -r) != r);
            return 0;
        }
      private:
        int _n, size, log;
        std::vector<S> d;
        void update(int k) { d[k] = op(d[2 * k], d[2 * k + 1]); }
    };
    }  // namespace atcoder
    #endif  // ATCODER_SEGTREE_HPP
    //lazysegtree.hpp==========================================================================
    #ifndef ATCODER_LAZYSEGTREE_HPP
    #define ATCODER_LAZYSEGTREE_HPP 1
    #include <algorithm>
    #include <cassert>
    #include <iostream>
    #include <vector>
    namespace atcoder {
    template <class S,
              S (*op)(S, S),
              S (*e)(),
              class F,
              S (*mapping)(F, S),
              F (*composition)(F, F),
              F (*id)()>
    struct lazy_segtree {
      public:
        lazy_segtree() : lazy_segtree(0) {}
        lazy_segtree(int n) : lazy_segtree(std::vector<S>(n, e())) {}
        lazy_segtree(const std::vector<S>& v) : _n(int(v.size())) {
            log = internal::ceil_pow2(_n);
            size = 1 << log;
            d = std::vector<S>(2 * size, e());
            lz = std::vector<F>(size, id());
            for (int i = 0; i < _n; i++) d[size + i] = v[i];
            for (int i = size - 1; i >= 1; i--) {
                update(i);
            }
        }
        void set(int p, S x) {
            assert(0 <= p && p < _n);
            p += size;
            for (int i = log; i >= 1; i--) push(p >> i);
            d[p] = x;
            for (int i = 1; i <= log; i++) update(p >> i);
        }
        S get(int p) {
            assert(0 <= p && p < _n);
            p += size;
            for (int i = log; i >= 1; i--) push(p >> i);
            return d[p];
        }
        S prod(int l, int r) {
            assert(0 <= l && l <= r && r <= _n);
            if (l == r) return e();
            l += size;
            r += size;
            for (int i = log; i >= 1; i--) {
                if (((l >> i) << i) != l) push(l >> i);
                if (((r >> i) << i) != r) push(r >> i);
            }
            S sml = e(), smr = e();
            while (l < r) {
                if (l & 1) sml = op(sml, d[l++]);
                if (r & 1) smr = op(d[--r], smr);
                l >>= 1;
                r >>= 1;
            }
            return op(sml, smr);
        }
        S all_prod() { return d[1]; }
        void apply(int p, F f) {
            assert(0 <= p && p < _n);
            p += size;
            for (int i = log; i >= 1; i--) push(p >> i);
            d[p] = mapping(f, d[p]);
            for (int i = 1; i <= log; i++) update(p >> i);
        }
        void apply(int l, int r, F f) {
            assert(0 <= l && l <= r && r <= _n);
            if (l == r) return;
            l += size;
            r += size;
            for (int i = log; i >= 1; i--) {
                if (((l >> i) << i) != l) push(l >> i);
                if (((r >> i) << i) != r) push((r - 1) >> i);
            }
            {
                int l2 = l, r2 = r;
                while (l < r) {
                    if (l & 1) all_apply(l++, f);
                    if (r & 1) all_apply(--r, f);
                    l >>= 1;
                    r >>= 1;
                }
                l = l2;
                r = r2;
            }
            for (int i = 1; i <= log; i++) {
                if (((l >> i) << i) != l) update(l >> i);
                if (((r >> i) << i) != r) update((r - 1) >> i);
            }
        }
        template <bool (*g)(S)> int max_right(int l) {
            return max_right(l, [](S x) { return g(x); });
        }
        template <class G> int max_right(int l, G g) {
            assert(0 <= l && l <= _n);
            assert(g(e()));
            if (l == _n) return _n;
            l += size;
            for (int i = log; i >= 1; i--) push(l >> i);
            S sm = e();
            do {
                while (l % 2 == 0) l >>= 1;
                if (!g(op(sm, d[l]))) {
                    while (l < size) {
                        push(l);
                        l = (2 * l);
                        if (g(op(sm, d[l]))) {
                            sm = op(sm, d[l]);
                            l++;
                        }
                    }
                    return l - size;
                }
                sm = op(sm, d[l]);
                l++;
            } while ((l & -l) != l);
            return _n;
        }
        template <bool (*g)(S)> int min_left(int r) {
            return min_left(r, [](S x) { return g(x); });
        }
        template <class G> int min_left(int r, G g) {
            assert(0 <= r && r <= _n);
            assert(g(e()));
            if (r == 0) return 0;
            r += size;
            for (int i = log; i >= 1; i--) push((r - 1) >> i);
            S sm = e();
            do {
                r--;
                while (r > 1 && (r % 2)) r >>= 1;
                if (!g(op(d[r], sm))) {
                    while (r < size) {
                        push(r);
                        r = (2 * r + 1);
                        if (g(op(d[r], sm))) {
                            sm = op(d[r], sm);
                            r--;
                        }
                    }
                    return r + 1 - size;
                }
                sm = op(d[r], sm);
            } while ((r & -r) != r);
            return 0;
        }
      private:
        int _n, size, log;
        std::vector<S> d;
        std::vector<F> lz;
    
        void update(int k) { d[k] = op(d[2 * k], d[2 * k + 1]); }
        void all_apply(int k, F f) {
            d[k] = mapping(f, d[k]);
            if (k < size) lz[k] = composition(f, lz[k]);
        }
        void push(int k) {
            all_apply(2 * k, lz[k]);
            all_apply(2 * k + 1, lz[k]);
            lz[k] = id();
        }
    };
    }  // namespace atcoder
    #endif  // ATCODER_LAZYSEGTREE_HPP
    using namespace atcoder;
    //Atcoder library end=========================================================================================
    using namespace std;
    #define int long long
    #ifdef ONLINE_JUDGE
    #else
    #pragma GCC optimize("O1,O2,O3,O4,O5,Og,Os,Ofast,inline,-ffast-math")
    #endif
    #define max(x,y) ((x)>(y)?(x):(y))
    #define min(x,y) ((x)<(y)?(x):(y))
    #define updl(x,y) (x>(y)?(x = y):x)
    #define updg(x,y) (x<(y)?(x = y):x)
    const string ansstrbs[] = {"No\n","Yes\n"};
    const string ansstrss[] = {"no\n","yes\n"};
    const string ansstrbb[] = {"NO\n","YES\n"};
    #define lowbit(x) ((x)&(-(x)))
    #define fors(i,s,t,step) for(int i = s;i<=t;i+=step)
    template<typename _T> _T qadd(_T a,_T b){
    	if(a==0) return b;
    	if(b==0) return a;
    	return qadd(a^b,(a&b)<<1);
    }
    template<typename _T> _T qminus(_T a,_T b){
    	return qadd(a,qadd(~b,1));
    }
    int qmi(int a, int k, int p){
        int res = 1;
        while(k){
            if(k&1) res = res*a%p;
            a = a*a%p;
            k>>=1;
        }
        return res;
    }
    
    //#define debug
    //#define pair
    //#define vector_
    //#define tree
    #define Nodemax 200005//tree support
    
    #ifdef pair
    #undef pair
    #define pii pair<int,int>
    #define fir first
    #define sec second
    #define mkp make_pair
    bool fracsort(pii a,pii b){
        return a.first*b.second<b.first*a.second;
    }
    void simplify(pii &a){
        int flag = (a.fir<0)^(a.sec<0);
        a.fir = abs(a.fir),a.sec = abs(a.sec);
        int g = __gcd(a.fir,a.sec);
        a.fir/=g*(flag*(-2)+1),a.sec/=g;
    }
    int ceil(pii a);
    int floor(pii a){
        int flag = (a.fir<0)^(a.sec<0);
        a.fir = abs(a.fir),a.sec = abs(a.sec);
        if(flag) return -ceil(a);
        else return a.fir/a.sec;
    }
    int ceil(pii a){
        int flag = (a.fir<0)^(a.sec<0);
        a.fir = abs(a.fir),a.sec = abs(a.sec);
        if(flag) return -floor(a);
        else return (a.fir-1)/(a.sec)+1;
    }
    #endif
    
    
    #ifdef tree
    #undef tree
    #ifdef vector_
    #else
    #define vector_
    #endif
    vector<int> G[Nodemax];
    void getson(int *fa,int x){
        for(auto nxt:G[x]){
            if(nxt==fa[x]) continue;
            fa[nxt] = x;
            getson(fa,nxt);
        }
    }
    #endif
    
    #ifdef vector_
    #undef vector_
    #define pb push_back
    #define eb emplace_back
    #define popb pop_back
    #define er erase
    #define ins insert
    #endif
    
    
    signed main(){
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	cout.tie(0);
    	int __T__ = 1;
    #ifdef debug
    	cin >> __T__;
    #endif
        while(__T__--){
    
    	}
    	return 0;
    }
    
    

    JK Steam Script↓

    // ==UserScript==
    // @name         JK Steam
    // @namespace    http://tampermonkey.net/
    // @version      1.3.0-beta-5
    // @description  这个世界上又双叒叕多了一个盗版Steam(喜)
    // @author       Debug618, Snoozing_QwQ
    // @match        http://noip.ac.cn/*
    // @match        http://www.noip.ac.cn/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=www.noip.ac.cn
    // @grant        none
    // @license      GPL-3.0
    // @downloadURL https://update.greasyfork.org/scripts/502589/JK%20Steam.user.js
    // @updateURL https://update.greasyfork.org/scripts/502589/JK%20Steam.meta.js
    // ==/UserScript==
    
    var ooos_for_stoooj = "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo";
    //stooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooj(喜
    var yiyan = [
        "!\`st${ooos_for_stoooj.substr(0,Math.floor(Math.random()*210)+40)}j - Snoozing_QwQ\`",//!开头的表示不定
        "<a href='/user/2'>沃尔玛购物袋</a>:我最喜欢<a href='/user/2'>南通</a>了",
        "有bug记得反馈给<a href='/user/32'>我</a>或<a href='/user/43'>Debug618</a>哦 - Snoozing_QwQ",
        "AC?不可能!\n我不信梦熊的评测机卡不掉你!",
        "梦熊?哈?可以次掉吗?",
        `<a href="/contest">被你发现了/kk快打电竞去</a>`,
        `众所周知,<a href="//www.luogu.com.cn/user/10703">小粉兔</a>的眼睛是红色的,所以是杀手兔`,
        `<a href="//www.bilibili.com/video/BV1GJ411x7h7/?spm_id_from=333.337.search-card.all.click">点我次掉一言</a>`,
        "Snq*b - qizhiyu(费用0RMB)",
        "w*有南通 - qizhiyu(费用0RMB)",
        `<a href="/wiki/help">noip新用户避读</a>`,
        "想不想看Snq照片(此处为Snq加:以后粉福可能会有) - qizhiyu(费用0RMB)",
        "这是我的祖先 - Debug618",
        "€€£断开了连接,因为你没有给€€£打钱 - Debug618",
        `<a href="//www.luogu.com.cn/user/558147">给Debug618引流</a></br><a href="//space.bilibili.com/1795213216">Debug618的B站</a>`,
        "东郭凉,冻果梁,董郭亮,懂过量,动裹粮,洞粿糧。挏锅俩,咚聒良。懂过两,冬过良。</br></br>翻译:东边的镇子非常寒冷,把(放在野外的)果子粮食冻坏了,有一个叫董郭亮的人,知道很多(贮存食物的)知识,于是动手(用土)裹住粮食,(挖开的洞)充满了粮食。(来年取出并)摇动(有粮食的)两个锅,发出的声响很大。(如果你)懂得的有一些,冬天会更好过的。",
        "注意背后!小心精卫!",
        "XKL:“时光如白驹过隙!”老师:“下课。” - Debug618",
        "众所周知,(1e5)^2=1e7,所以O(n^2)在MX能过1e5的数据。 - Debug618",
        `众所周知,在梦熊可以跑过1e12的数据,所以当n=10e6,O(n^2)在MX能过1s的数据。
    根据摩根定律,每18月CPU性能*=2,所以每15年左右MX的性能就会×1024
    也就是说,梦熊的狗屎栈评测是领先于其它评测机的 - Snoozing_QwQ`,
        "麒曰:“善哉,然也!”",
        "卓曰:“善哉,然也!一鼻屎,一手指,在教室。人不堪其忧,然也不改其乐。善哉,然也!”",
        '广告位招租, 可投稿给 <a href="/user/32">Snoozing_QwQ</a>',
    ];
    
    function sleep(time) {
        return new Promise((resolve) => setTimeout(resolve, time));
    }
    
    (async function () {
        let url = location.href;
        let mode = null;
    
        const matches = {
            "^http://*": "defalt",
            "^http://*.noip.ac.cn/": "index",
            "^http://*.noip.ac.cn": "index",
            "^http://*.noip.ac.cn/p/*": "problem",
            "^http://*.noip.ac.cn/p/*tid=*": "problem",
            "^http://*.noip.ac.cn/p": "problems",
            "^http://*.noip.ac.cn/p?page=*": "problems",
            "^http://*.noip.ac.cn/p?q=*&page=*": "problems",
            "^http://*.noip.ac.cn/p?q=*": "problems",
            "^http://*.noip.ac.cn/ranking*": "rank",
            "^http://*.noip.ac.cn/record*": "record",
            "^http://(www\.)?noip\.ac\.cn/record\?uidOrName=[1-9]*": "record",
            "^http://(www\.)?noip\.ac\.cn/record/[0-9]*": "record_",
            "^http://*.noip.ac.cn/homework*": "homework",
            "^http://*.noip.ac.cn/discuss*": "discuss",
            "^http://*.noip.ac.cn/contest*": "contests",
            "^http://*.noip.ac.cn/contest/*": "contest",
            "^http://*.noip.ac.cn/user/*": "user",
            "^http://×noip.ac.cn/wiki/help": "help",
            "^http://*.noip.ac.cn/training/*": "training",
        };
        for (let e of Object.keys(matches)) {
            if (new RegExp(e).test(url)) mode = matches[e];
        }
        console.log('Now at ' + mode);
        let a = document.getElementsByClassName('nav__item');
        for (let i = 0; i < a.length; i++) {
            if (~a[i].innerHTML.search('首页')) a[i].innerHTML = '家';
            else if (~a[i].innerHTML.search('题库')) a[i].innerHTML = '库';
            else if (~a[i].innerHTML.search('训练')) a[i].innerHTML = '练习';
            else if (~a[i].innerHTML.search('比赛')) a[i].innerHTML = '电竞';
            else if (~a[i].innerHTML.search('作业')) a[i].innerHTML = '任务';
            else if (~a[i].innerHTML.search('讨论')) a[i].innerHTML = '论坛';
            else if (~a[i].innerHTML.search('评测记录')) a[i].innerHTML = '游玩记录';
            else if (~a[i].innerHTML.search('排名')) a[i].innerHTML = '排行榜';
        }
        a = document.getElementsByClassName('section__title');
        for (let i = 0; i < a.length; i++) {
            if (~a[i].innerHTML.search('首页')) a[i].innerHTML = '家';
            else if (~a[i].innerHTML.search('题库')) a[i].innerHTML = '库';
            else if (~a[i].innerHTML.search('训练')) a[i].innerHTML = '练习';
            else if (a[i].innerHTML == '比赛') a[i].innerHTML = '电竞';
            else if (~a[i].innerHTML.search('作业')) a[i].innerHTML = '任务';
            else if (~a[i].innerHTML.search('讨论')) a[i].innerHTML = '论坛';
            else if (~a[i].innerHTML.search('评测记录')) a[i].innerHTML = '游玩记录';
            else if (~a[i].innerHTML.search('排名')) a[i].innerHTML = '排行榜';
        }
        let navlistitem = document.getElementsByClassName('nav__list-item');
        navlistitem[0].innerHTML = `<a href="https://store.steampowered.com"><img src="https://store.cdn.queniuqe.com/public/shared/images/header/logo_steam.svg?t=962016" width="176" height="44"></a>`
        let typoa = document.getElementsByClassName("typo-a"), sectiontitle = document.getElementsByClassName("section__title");
        if (mode == "index") {
            let div = document.getElementsByClassName("section__body typo richmedia");
            div[0].innerHTML = `
    <h3>
        <font color="red">
            永久置顶一言
        </font>
        </br>
        </br>
        <font color="cyan">
            沃尔玛购物袋:我最喜欢南通了
        </font>
    </h3>
    <h1>
        <img src="https://store.cdn.queniuqe.com/public/shared/images/header/logo_steam.svg?t=962016" width="176" height="44">
        好闪,拜谢.
        <img src="https://store.cdn.queniuqe.com/public/shared/images/header/logo_steam.svg?t=962016" width="176" height="44">
    </h1>
    <h1>
        <img src="https://639348.freep.cn/639348/OJ-Img/9.gif">
    </h1>
    <h2 id="%E8%AF%B7%E5%90%8C%E5%AD%A6%E4%BB%AC%E6%8A%84%E9%A2%98%E8%A7%A3-%EF%BC%8C%E6%AD%A4%E7%A7%8D%E8%A1%8C%E4%B8%BA%E8%A2%AB%E5%8F%91%E7%8E%B0%E5%90%8E%E4%BC%9A%E8%AD%A6%E5%91%8A%EF%BC%9B" tabindex="-1">
        请同学们
        <span class="katex">
            <span class="katex-mathml">
                <math xmlns="http://www.w3.org/1998/Math/MathML">
                    <semantics>
                        <mrow>
                            <mstyle mathcolor="red">
                                <mtext>
                                    要
                                </mtext>
                            </mstyle>
                        </mrow>
                        <annotation encoding="application/x-tex">
                            \\color{red}{要}
                        </annotation>
                    </semantics>
                </math>
            </span>
            <span class="katex-html" aria-hidden="true">
                <span class="base">
                    <span class="strut" style="height:0.6833em;">
                    </span>
                    <span class="mord" style="color:red;">
                        <span class="mord cjk_fallback" style="color:red;">
                            要
                        </span>
                    </span>
                </span>
            </span>
        </span>
        抄题解 ,此种行为被发现后会
        <span class="katex">
            <span class="katex-mathml">
                <math xmlns="http://www.w3.org/1998/Math/MathML">
                    <semantics>
                        <mrow>
                            <mstyle mathcolor="purple">
                                <mtext>
                                    超级管理员
                                </mtext>
                            </mstyle>
                        </mrow>
                    <annotation encoding="application/x-tex">
                        \\color{purple}{超级管理员}
                    </annotation>
                </semantics>
            </math>
        </span>
        <span class="katex-html" aria-hidden="true">
            <span class="base">
                <span class="strut" style="height:0.6833em;">
                </span>
                <span class="mord" style="color:brown;">
                    <span class="mord cjk_fallback" style="color:purple;">
                        超级管理员
                    </span>
                </span>
            </span>
        </span>
    </span>
    奖励;
    <h2 id="%E8%AF%B7%E5%90%8C%E5%AD%A6%E4%BB%AC%E5%B0%8A%E9%87%8D%EF%BC%8C%E5%9C%A8%E6%AF%94%E8%B5%9B%E6%9C%9F%E9%97%B4%E5%B0%86%E4%BB%A3%E7%A0%81%E5%88%86%E4%BA%AB%E7%BB%99%E5%85%B6%E4%BB%96%E4%BA%BA%E3%80%82" tabindex="-1">请同学们尊重<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML">
                    <semantics>
                        <mrow>
                            <mstyle mathcolor="red">
                                <mtext>抄袭</mtext>
                            </mstyle>
                        </mrow>
                        <annotation encoding="application/x-tex">\\color{red}{抄袭}</annotation>
                    </semantics>
                </math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord" style="color:red;"><span class="mord cjk_fallback" style="color:red;">抄袭</span></span></span></span></span>,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML">
                    <semantics>
                        <mrow>
                            <mstyle mathcolor="red">
                                <mtext>要</mtext>
                            </mstyle>
                        </mrow>
                        <annotation encoding="application/x-tex">\\color{red}{要}</annotation>
                    </semantics>
                </math>
            </span>
            <span class="katex-html" aria-hidden="true">
                <span class="base">
                    <span class="strut" style="height:0.6833em;">
                    </span>
                    <span class="mord" style="color:red;">
                        <span class="mord cjk_fallback" style="color:red;">
                            要
                        </span>
                    </span>
                </span>
            </span>
        </span>
        在比赛期间将代码分享给其他人。
    </h2>
    <h2>
        MC专区
    </h2>
    <p>
    <a href="https://ltcat.lanzoui.com/b0aj6gsid">
        下载启动器1点击这里(验证码PCL2)
    </a>
    一个很好的服务器地址:starmc.vip:25560
    <a href="https://hmcl.huangyuhui.net/">
        下载启动器2点击这里
    </a>
    <h2>
        杂到不能再杂的东西
    </h2>
    
    <a href="http://noip.ac.cn/file/2/0A%E6%B2%B9%E7%8C%B4%E6%8F%92%E4%BB%B6.zip">tampermonkey</a></p>
    
    `;
            sectiontitle[9].innerHTML = 'Steam';
            document.getElementsByClassName("section__body")[5].innerHTML = `
    <ul class="group-list">
        <li class="group-list__item">
            <h2 class="section__title">
                好玩的服务器(待添加)
            </h2>
            <ol class="chip-list">
                <li class="chip-list__item">
                    starmc.vip:25560或mchaptim.cn(同一个)
                </li>
            </ol>
        </li>
    </ul>
            `
            let QwQ = yiyan[Math.floor(Math.random() * yiyan.length)];
            if (QwQ[0] == '!') QwQ = eval(QwQ.substr(1, QwQ.length - 1));
            QwQ = "\n" + QwQ;
            await sleep(50);
            document.getElementsByClassName("section__body typo")[1].innerHTML = QwQ;
            await sleep(50);
            while (document.getElementsByClassName("section__body typo")[1].innerHTML == QwQ) await sleep(50);
            document.getElementsByClassName("section__body typo")[1].innerHTML = QwQ;
            while(document.getElementsByClassName("section side nojs--hide visible")[1].innerHTML.search("最新题目")==-1) await sleep(50);
            for(let i = 1;i<=20;i++){
                document.getElementsByClassName("section side nojs--hide visible")[1].innerHTML = '';
                await sleep(50);
            }
        }
        if (mode == "discuss") {
            sectiontitle[3].innerHTML = 'Steam';
        }
        if (mode == "discuss" || mode == "index") {
            console.log(mode);
            typoa[1].innerHTML = '启动';
            typoa[1].href = 'http://8.130.79.89:56789/';
            typoa[2].innerHTML = 'Steam上的网页游戏';
            typoa[2].href = 'https://store.steampowered.com';
            typoa[6].innerHTML = '技巧';
            typoa[6].href = 'https://www.bilibili.com/video/BV1GJ411x7h7/?spm_id_from=333.337.search-card.all.click';
            typoa[7].innerHTML = '游戏讨论专区'
            typoa[7].href = 'https://store.steampowered.com/?l=schinese&area=forums%22';
            typoa[8].innerHTML = '快速上分'
            typoa[8].href = 'https://hypixel.net';
            typoa[9].innerHTML = 'Steam';
            typoa[9].href = 'http://8.130.79.89:55674/';
        }
        if (mode == "rank") {
            document.getElementsByClassName("col--user")[0].style.width = document.getElementsByClassName("col--user")[2].style.width = '330px';
            document.getElementsByClassName("col--rp")[1].innerHTML = '积分';
            document.getElementsByClassName("col--detail rp-problem")[1].innerHTML = '练习';
            document.getElementsByClassName("col--ac")[1].innerHTML = '胜利';
            let ranking = Array.from({ length: 10 }, (v, i) => document.getElementsByClassName(`user-profile-badge v-center badge--lv${i + 1}`));
            let name_ = ["原木", "圆石", "铜块", "红石", "铁块", "金块", "钻石", "黑曜石", "合金块", "基岩"];
            for (let i = 0; i < 10; i++) {
                for (let j = ranking[i].length - 1; j >= 0; j--) {
                    ranking[i][j].innerHTML = name_[i];
                    ranking[i][j].dataset.tooltip = name_[i] + ranking[i][j].dataset.tooltip.substr(ranking[i][j].dataset.tooltip.search(":"), ranking[i][j].dataset.tooltip.length - ranking[i][j].dataset.tooltip.search(":"));
                }
            }
            document.getElementsByClassName(`user-profile-badge v-center badge--su`)[1].innerHTML = `沃尔玛购物袋`;
            document.getElementsByClassName(`user-profile-badge v-center badge--su`)[1].dataset.tooltip = `沃尔玛购物袋`;
            let name = document.getElementsByClassName("user-profile-name");
            for (let i = 0; i < name.length; i++) {
                if (~name[i].innerHTML.search("wushangheng")) name[i].innerHTML = `\n          Snoozing_QwQ (wushangheng)\n      <a class="user-profile-badge v-center badge--su" data-tooltip="JK Steam最傻逼的贡献者">贡献者 - 大脑残</a>\n`;
                else if (~name[i].innerHTML.search("Debug618")) name[i].innerHTML = `\n          刘泽辰 (Debug618)\n      <a class="user-profile-badge v-center badge--su" data-tooltip="JK Steam 作者">作者</a>\n`;
                else if (~name[i].innerHTML.search("qizhiyu")) name[i].innerHTML = `\n          qizhiyu\n      <a class="user-profile-badge v-center badge--su" data-tooltip="JK Steam 文案贡献者">贡献者</a>\n`;
            }
        } else if (mode == "record_") {
            let title_status = document.getElementsByClassName("section__title")[0];
            if (title_status.innerHTML == '\n      <span class="icon record-status--icon fail"></span>\n            <span style="color: #ff4f4f">0</span>\n            <span class="record-status--text fail">\n        Compile Error\n      </span>\n    ') title_sta
        } else if (mode == "problems") {
            let accepted = document.getElementsByClassName("record-status--text pass");
            let fail = document.getElementsByClassName("record-status--text fail");
            let lang = document.getElementsByClassName("col--lang");
            while (1) {
                for (let i = 0; i < accepted.length; i++) accepted[i].innerHTML = '\n            <span style="color: #25ad40">冠军!!!</span>\n\n    ';
                for (let i = 0; i < fail.length; i++) {
                    if (fail[i].innerHTML.search("Wrong Answer") != -1) fail[i].innerHTML = "\n失败,评分:" + fail[i].innerHTML.substr(0, fail[i].innerHTML.search("Wrong Answer"));
                    if (fail[i].innerHTML.search("Compile Error") != -1) fail[i].innerHTML = "\n文件缺失";
                    if (fail[i].innerHTML.search("Time Exceeded") != -1) fail[i].innerHTML = "\n连接超时";
                    if (fail[i].innerHTML.search("System Error") != -1) fail[i].innerHTML = "\n连接错误";
                    if (fail[i].innerHTML.search("Runtime Error") != -1) fail[i].innerHTML = "\n文件错误";
                }
                for (let i = 3; i < lang.length; i++) {
                    if (lang[i].innerHTML.search("C+") != -1) lang[i].innerHTML = lang[i].innerHTML.slice(0, lang[i].innerHTML.search("C+")) + "Steam" + lang[i].innerHTML.slice(lang[i].innerHTML.search("C+") + 3, lang[i].innerHTML.length);
                }
                await sleep(50);
            }
        } else if (mode == "record") {
            let accepted = document.getElementsByClassName("record-status--text pass");
            let progress = document.getElementsByClassName("record-status--text progress");
            let fail = document.getElementsByClassName("record-status--text fail");
            let lang = document.getElementsByClassName("col--lang");
            document.getElementsByClassName("col--problem")[1].innerHTML = '练习赛名称';
            document.getElementsByClassName("col--submit-by")[1].innerHTML = '游玩者';
            document.getElementsByClassName("col--lang")[1].innerHTML = '服务端版本';
            document.getElementsByClassName("col--time")[1].innerHTML = '游玩时长';
            document.getElementsByClassName("col--memory")[1].innerHTML = '占用内存';
            document.getElementsByClassName("col--submit-at")[1].innerHTML = '游玩时间';
            while (1) {
                for (let i = 0; i < accepted.length; i++) accepted[i].innerHTML = '\n            <span style="color: #25ad40">冠军!!!</span>\n\n    ';
                for (let i = 0; i < progress.length; i++) {
                    if (progress[i].innerHTML.search("Fetched") != -1) progress[i].innerHTML = "\n连接到服务器";
                    if (progress[i].innerHTML.search("Waiting") != -1) progress[i].innerHTML = "\n匹配中";
                    if (progress[i].innerHTML.search("Compiling") != -1) progress[i].innerHTML = "\n等待开始";
                    if (progress[i].innerHTML.search("Running") != -1) progress[i].innerHTML = "\n进行中";
                }
                for (let i = 0; i < fail.length; i++) {
                    if (fail[i].innerHTML.search("Wrong Answer") != -1) fail[i].innerHTML = "\n失败,评分:" + fail[i].innerHTML.substr(0, fail[i].innerHTML.search("Wrong Answer"));
                    if (fail[i].innerHTML.search("Compile Error") != -1) fail[i].innerHTML = "\n文件缺失";
                    if (fail[i].innerHTML.search("Time Exceeded") != -1) fail[i].innerHTML = "\n连接超时";
                    if (fail[i].innerHTML.search("System Error") != -1) fail[i].innerHTML = "\n连接错误";
                    if (fail[i].innerHTML.search("Runtime Error") != -1) fail[i].innerHTML = "\n文件错误";
                }
                for (let i = 3; i < lang.length; i++) {
                    if (lang[i].innerHTML.search("C+") != -1) lang[i].innerHTML = lang[i].innerHTML.slice(0, lang[i].innerHTML.search("C+")) + "Steam" + lang[i].innerHTML.slice(lang[i].innerHTML.search("C+") + 3, lang[i].innerHTML.length);
                }
                await sleep(50);
            }
        }
    })();
    
    
  • 通过的题目

  • 最近活动

题目标签

数论
15
数学
15
动态规划
13
图论
10
implementation
8
搜索
8
二分
8
前缀和
8
二分答案
7
6
背包
6
最短路
5
数据结构
5
差分
5
ABC333
4
sortings
4
math
4
树状数组
4
线性dp
4
ABC335
3