主頁 >  其他 > Codeforces Round 868 Div 2

Codeforces Round 868 Div 2

2023-04-30 07:43:30 其他

A. A-characteristic (CF 1823 A)

題目大意

要求構造一個僅包含\(1\)\(-1\)的長度為 \(n\)的陣列 \(a\),使得存在 \(k\)個下標對 \((i, j), i < j\)滿足 \(a_i \times a_j = 1\)

解題思路

當有\(x\)\(1\)\(y\)\(-1\)時,其滿足條件的下標對數量為 \(\frac{x (x - 1)}{2} + \frac{y (y - 1)}{2}\)

由于\(n\)只有 \(100\),直接列舉 \(x\)即可,

神奇的代碼
#include <bits/stdc++.h>
using namespace std;
using LL = long long;

int main(void) {
    ios::sync_with_stdio(false); 
    cin.tie(0); cout.tie(0);
    int t;
    cin >> t;
    while(t--){
        int n, k;
        cin >> n >> k;
        int one = 0;
        for(; one <= n; ++ one){
            int neg = n - one;
            if (neg * (neg - 1) + one * (one - 1) == 2 * k)
                break;
        }
        if (one > n)
            cout << "No" << '\n';
        else{
            cout << "Yes" << '\n';
            for(int i = 0; i < one; ++ i)
                cout << 1 << ' ';
            for(int i = 0; i < n - one; ++ i)
                cout << -1 << ' ';
            cout << '\n';
        }
    }

    return 0;
}



B. Sort with Step (CF 1823 B)

題目大意

給定一個排序,問能否僅通過交換相隔\(k\)的倆元素,使得有序,不能的話問能否事先通過一次任意交換操作后,再通過之前的操作交換得到有序,

解題思路

考慮每個元素的原始位置和最后所在的位置,它們對\(k\)的取模應該相同,否則就不能有序,

而如果恰好有兩個元素其對\(k\)的取模不同,且交換之后是相同的,則可以,

神奇的代碼
#include <bits/stdc++.h>
using namespace std;
using LL = long long;

int main(void) {
    ios::sync_with_stdio(false); 
    cin.tie(0); cout.tie(0);
    int t;
    cin >> t;
    while(t--){
        int n, k;
        cin >> n >> k;
        vector<int> a(n);
        for(auto &i : a){
            cin >> i;
            i --;
        }
        bool ok1 = true;
        map<pair<int, int>, int> cnt;
        for(int i = 0; i < n; ++ i){
            if (i % k != a[i] % k){
                ok1 = false;
                cnt[{min(i % k, a[i] % k), max(i % k, a[i] % k)}] ++;
            }
        }
        if (ok1)
            cout << 0 << '\n';
        else if (cnt.size() == 1 && cnt.begin()->second == 2)
            cout << 1 << '\n';
        else 
            cout << -1 << '\n';
    }

    return 0;
}



C. Strongly Composite (CF 1823 C)

題目大意

給定一個陣列\(a\),構造陣列 \(b\),要求最大化陣列的元素數量,使得倆陣列的所有元素的乘積相同,且陣列 \(b\)的每個數都是強合數

強合數的定義為,合數因子數量\(\geq\)質數因子數量,

解題思路

乘積相同,相當于將陣列\(a\)里的質數重新組合;數量最大,相當于盡可能少用質數來組成一個新的數,

可以發現,兩個相同的質陣列成一個強合數,或者三個不同的質數可以組成一個強合數,

由此我們統計陣列 \(a\)中的每個質數的數量,同個質數倆倆組合,不同質數三三組合,就能最大化答案了,

神奇的代碼
#include <bits/stdc++.h>
using namespace std;
using LL = long long;

int main(void) {
    ios::sync_with_stdio(false); 
    cin.tie(0); cout.tie(0);
    int t;
    cin >> t;
    while(t--){
        int n;
        cin >> n;
        map<int, int> cnt;
        auto fac = [&](int a){
            for(int i = 2; i * i <= a; ++ i){
                while (a % i == 0){
                    cnt[i] ++;
                    a /= i;
                }
            }
            if (a != 1)
                cnt[a] ++;
        };
        for(int i = 0; i < n; ++ i){
            int a;
            cin >> a;
            fac(a);
        }
        LL ans = 0;
        int left = 0;
        for(auto &[_, value] : cnt){
            ans += value / 2;
            left += (value & 1);
        }
        ans += left / 3;
        cout << ans << '\n';

    }

    return 0;
}



D. Unique Palindromes (CF 1823 D)

題目大意

要求構造一個僅包含小些字母的字串\(s\),長度為\(n\),且滿足 \(k\)個限制,

每個限制表述為\((x_i, c_i)\), 字串\(s\)的長度為 \(x_i\)的前綴滿足有 \(c_i\)個本質不同的回文串)

解題思路

通過打表發現本質不同的回文串數量不會超過字串長度,

注意到\(k\)最大只有 \(20\),這啟示我們每個限制可以用一個字符去滿足,

思考樸素的構造方法,對于一個長度為 \(n\)的字串,我們可以 \(aaaaaaaabcabcabc\)這樣去構造,一開始連續的 \(a\)的數量就能控制這個字串的本質不同的回文串的數量,這樣的構造方法滿足其數量在 \([3, n]\)之內,這剛好符合題意里 \(c_i \geq 3\)的限制,

因此我們可以先根據第一個限制構造出如上的字串,對于之后的限制進行增量構造,增加的回文數量用 \(dddd\)\(eeeee\)這樣構造,剩下的長度用 \(abc\)這樣不會增加回文串數量的形式去填充,

注意用于填充的字串,在每次填充時應該繼續前面的,而不是從頭(從\(abc\) )開始(如代碼的fill_cur),不然可能會新增回文串,

神奇的代碼
#include <bits/stdc++.h>
using namespace std;
using LL = long long;

int main(void) {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t;
    cin >> t;
    while(t--){
        int n, k;
        cin >> n >> k;
        vector<int> x(k), c(k);
        for(auto &i : x)
            cin >> i;
        for(auto &i : c)
            cin >> i;
        string ans;
        int fill_cur = 0;
        auto fill = [&](int x){
            while(x--){
                ans.push_back('a' + fill_cur);
                fill_cur = (fill_cur + 1) % 3;
            }
        };
        auto ok = [&](){
            int cur = 0;
            for(int i = 0; i < k; ++ i){
                int dis = x[i] - c[i];
                if (dis < 0)
                    return false;
                if (cur > dis)
                    return false;
                cur = dis;
            }

            ans += string(c[0] - 3, 'a');
            fill(x[0] - ans.size());
            for(int i = 1; i < k; ++ i){
                ans += string(c[i] - c[i - 1], 'c' + i);
                fill(x[i] - ans.size());
            }
            return true;
        };
        if (ok()){
            cout << "YES" << '\n';
            cout << ans << '\n';
        }else {
            cout << "NO" << '\n';
        }
    }

    return 0;
}



E. Removing Graph (CF 1823 E)

題目大意

兩人博弈,

給定\(n\)個環,每個人可以從\([l, r]\) 中選一個數\(x\),然后選擇由\(x\) 個點組成的連通子圖,將點及其邊去掉,不能操作者輸,

在絕頂聰明的情況下,問先后手誰必贏,

解題思路

每個環都是一個獨立局面,因此我們求出每個環的\(sg\)值,異或起來,非零就先手贏,否則后手贏,

對于一個環來說,取了一次之后就變成一條鏈了,因此一個環的 \(sg\)值就是所有可能的鏈的長度對應的\(sg\)值的 \(mex\)

對于一個鏈來說,取了一次之后就變成兩條鏈,這兩條鏈分別都是一個獨立局面,因此一個鏈的 \(sg\)值,就是一些操作值的 \(mex\), 而操作值就是取了之后(有取的長度取的位置兩個因素)的兩個鏈的\(sg\)值的異或,

abc287g和abc297g就是要求一個鏈的\(sg\)值,

注意到題目保證了 \(l \neq r\),對于一條鏈來說,如果它能取(即長度 \(\geq l\)),則必定能分成兩條長度一樣的鏈,之后先手就模仿后手的操作,就能必贏了,

也就是說,對于一個環來說,如果其長度\(len \geq l + r\),那么先手取了一次后,變成的鏈因為后手必定可以再取(\(len - r \geq l\) ),所以對于后手來說必定是個必勝態,所以這樣的環對于先手來說必定是個必敗態,其 \(sg\)值為 \(0\)

而長度小于 \(l\),不能取,那肯定是必敗態,其 \(sg\)值為 \(0\)

考慮環長度 在 \([l, l+r)\)之間的\(sg\)值,其對應的鏈長度有 \(len - l, len - l - 1, len - l - 2, ..., len - r\),其\(sg\)值就是這些可能的鏈長度的 \(sg\)值取 \(mex\)

考慮鏈長度,小于 \(l\),是必敗態,其 \(sg\)值為 \(0\), 而\(sg(l) = sg(l + 1) = sg(l + 2) ... = sg(l + l - 1) = 1\)

\(sg(2l) = mex(sg(l), sg(l - 1), sg(l - 2), ..., sg(1), sg(0)) = mex(1, 0, 0, 0, ..., 0) = 2 = sg(2l + 1) = sg(2l + 2)\)

\(sg(3l) = mex(sg(2l), sg(2l - 1), ..., sg(l), sg(l - 1), ..., sg(0)) = mex(2, 1, ..., 1, 0, ..., 0) = 3 = sg(3l + 1) = sg(3l + 2)\)

上述的\(mex\)里的每一項都是取最邊邊的結果(即取了之后還有一個鏈),至于有兩條鏈的結果,是長度更小的兩個鏈的\(sg\)的異或值,其不會超過上面的最大值,

由此(或打表)可以發現長度為\(sg(len) = \lfloor \frac{len}{l} \rfloor(l \leq len < l + r)\)

進而環的 \(sg_c(len) = mex(sg(len - l), sg(len - l - 1), ..., sg(len - r)) = \lfloor \frac{len}{l} \rfloor(l \leq len < l + r)\)

環的\(sg\)值求出來了,異或一下就知道誰贏了,

至于環大小,用并查集或\(BFS\)一下就知道了,

神奇的代碼
#include <bits/stdc++.h>
using namespace std;
using LL = long long;

class dsu {
    public:
    vector<int> p;
    vector<int> sz;
    int n;

    dsu(int _n) : n(_n) {
        p.resize(n);
        sz.resize(n);
        iota(p.begin(), p.end(), 0);
        fill(sz.begin(), sz.end(), 1);
    }

    inline int get(int x) {
        return (x == p[x] ? x : (p[x] = get(p[x])));
    }

    inline bool unite(int x, int y) {
        x = get(x);
        y = get(y);
        if (x != y) {
            p[x] = y;
            sz[y] += sz[x];
            return true;
        }
        return false;
    }
};

int main(void) {
    ios::sync_with_stdio(false); 
    cin.tie(0); cout.tie(0);
    int n, l, r;
    cin >> n >> l >> r;
    dsu d(n);
    for(int i = 0; i < n; ++ i){
        int u, v;
        cin >> u >> v;
        -- u;
        -- v;
        d.unite(u, v);
    }
    int ans = 0;
    for(int i = 0; i < n; ++ i){
        if (d.get(i) == i){
            if (d.sz[i] >= l && d.sz[i] < l + r)
                ans ^= d.sz[i] / l;
        }
    }
    if (ans)
        cout << "Alice" << '\n';
    else 
        cout << "Bob" << '\n';

    

    return 0;
}



F. Random Walk (CF 1823 F)

題目大意

樹上隨機游走,從點\(s\)到點 \(t\),問每個點訪問次數的期望值,

解題思路

每次的期望題感覺都比較神仙,

注意到這是棵樹,點\(s\)到點\(t\)的路徑是唯一的,設路徑為\(s, u_0, u_1, ..., u_k, t\)

一開始設狀態\(dp[s][v][t]\)表示從 \(s\)點到 \(t\)點,期望訪問到 \(v\)號點的次數,然后列舉到相鄰點的狀態,即\(dp[s][v][t] = \sum_{(s, u) \in E}dp[u][v][t]\),但感覺怎么都算不出來,

然后想著從點 \(s\)出發,它可以往很多個相鄰點走,只有一個點\(u_0\)是更接近點 \(t\)的, 且最終到點\(t\)時立刻停下來,這意味著點\(t\)之后的點的訪問次數的期望值一定是 \(0\)

考慮到一旦走到點\(u_0\)時,發現問題貌似變成了一個子問題了,可以認為是從點\(u_0\)出發,到點 \(t\)的情況,換句話說,我們可以將 點\(s\)到點 \(t\)的步驟分成若干步,分別是點 \(s\)到點 \(u_0\),點 \(u_0\)到點 \(u_1\)... 點\(u_t\)到點 \(t\),由于期望的線性可加性,每個點的期望訪問次數,可以由這些的每個步驟的影響依次累計,

\(dp[s][w]\)表示從 \(s\) 點往更接近點\(t\)的方向走(即走到 \(u_0\)點),對 \(w\)點的期望訪問次數,

設點 \(s\)的度數為 \(du_s\),其余字母定義看圖,根據期望定義,可以得到:

tree

\[dp[s][w] = \frac{1}{du_s} \times 0 + \frac{1}{du_s} (dp[x][w] + dp[s][w]) + \frac{du_s - 2}{du_s}(dp[y][w] + dp[s][w]) \]

這里有三個部分:

  • \(\frac{1}{du_s}\)的概率選擇走到 \(u_0\),然后就停下來了,此時對 \(v\)的訪問貢獻是\(0\)
  • \(\frac{1}{du_s}\)的概率往 \(w\)所在的子樹走(即點 \(x\)),此時對\(w\)的訪問貢獻是由\(x \to s\)\(s \to u_0\)組成,即 \(dp[x][w] + dp[s][w]\)
  • \(\frac{du_s - 2}{du_s}\)的概率往其他子樹走(即點 \(y\)表示的其他所有點),此時對\(w\)的訪問貢獻是由\(y \to s\)\(s \to u_0\)組成,即 \(dp[y][w] + dp[s][w]\),但由于從點\(y\)到點\(w\)必須經過點 \(s\),而一旦到點 \(s\)就會停下來( \(dp[y][w]\)即表示從點 \(y\)到更接近 點\(t\)的方向走(即往點 \(s\)),對點 \(w\)的訪問貢獻),因此 \(dp[y][w] = 0\)

這樣上述式子移一下項,就得到

\[dp[s][w] = dp[x][w] \]

即點\(s\)往點 \(u_0\)走時的對點\(w\)訪問次數的貢獻是等價于點 \(x\)往點 \(s\)走時,對點 \(w\)的貢獻,由此就可以得到

\[dp[s][w] = dp[x][w] = dp[x_1][w] = ... = dp[x_k][w] = dp[w][w] \]

剩下的就是求 \(dp[w][w]\),根據期望定義,可以得到

\[dp[s][s] = \frac{1}{du_s} \times 1 + \frac{du_s - 1}{du_s}(dp[o][s] + dp[s][s]) \]

這里有兩部分:

  • \(\frac{1}{du_s}\)的概率選擇走到 \(u_0\),此時就停下來了,因此對\(s\)的訪問貢獻是\(1\)(一開始在\(s\)時的貢獻),
  • \(\frac{du_s - 1}{du_s}\)的概率選擇走到除點\(u_0\)之外的其他點(設點\(o\),即 \(x\)\(y\)),因此對\(s\)的訪問貢獻是\(o \to s\)\(s \to s\),即\(dp[o][s] + dp[s][s]\),而因為點\(o\)到點 \(s\)就會停下來(點 \(s\)是更接近點 \(t\)的點),因此 \(dp[o][s] = 1\)(一開始在\(s\)時的貢獻包含在 \(dp[s][s]\)里),

這樣上述式子移一下項,就得到

\[dp[s][s] = du_s \]

綜合上述的兩個式子\(dp[s][w] = dp[w][w] = du_w\),可以得出,每當進行一次 \(s \to u_0, u_0 \to u_1,\cdots, u_k \to t\) 時,其他點\(w\)的期望訪問次數都會增加 \(du_w\),其中點\(w\)是點 \(s\)除了 \(u_0\)方向的其他方向的點(見上圖的虛線包括起來,就是對應顏色的箭頭的影響),

也就是說一個點\(a\)的期望訪問次數就是\(du_a \times cnt_a\),其中 \(cnt_a\)等于該點與路徑\(s \to t\)的交點(以上圖為例,就為 \(u_{k-1}\))到 \(t\)的點數(見上圖的點\(a\)),

剩下的就是如何求 \(cnt_w\),我們可以以點 \(s\)為根,然后我們從點 \(t\)開始,一路沿著 父親節點上去,就回到點\(s\),其中每往父親跳一次時, \(cnt_w\)就會加一,比如從\(t \to u_k\)時, \(cnt = 0 + 1 = 1\),此時再遍歷一下除了\(t\)\(u_{k - 1}\)方向的所有點 \(w\),它們的答案就是 \(du_w \times cnt\)

最終的時間復雜度是\(O(n)\)

雖然答案不會超過\(n^2\),但記得對\(998244353\)取模,

神奇的代碼
#include <bits/stdc++.h>
using namespace std;
using LL = long long;

const int mod = 998244353;

int main(void) {
    ios::sync_with_stdio(false); 
    cin.tie(0); cout.tie(0);
    int n, s, t;
    cin >> n >> s >> t;
    -- s, -- t;
    vector<vector<int>> edge(n);
    vector<int> du(n);
    for(int i = 1; i < n; ++ i){
        int u, v;
        cin >> u >> v;
        -- u, -- v;
        edge[u].push_back(v);
        edge[v].push_back(u);
        ++ du[u];
        ++ du[v];
    }
    vector<int> fa(n);
    function<void(int, int)> dfs = [&](int u, int f){
        fa[u] = f;
        for(auto &v : edge[u]){
            if (v == f)
                continue;
            dfs(v, u);
        }
    };
    dfs(s, s);
    vector<int> ans(n);
    int cnt = 1;
    ans[t] = 1;
    function<void(int, int, int)> dfs2 = [&](int u, int f, int cnt){
        ans[u] = 1ll * du[u] * cnt % mod;
        for(auto &v : edge[u]){
            if (v == f)
                continue;
            dfs2(v, u, cnt);
        }
    };
    do{
        int cur = fa[t];
        ans[cur] = 1ll * cnt * du[cur] % mod;
        for(auto &u : edge[cur]){
            if (u != fa[cur] && u != t)
                dfs2(u, cur, cnt);
        }
        t = cur;
        ++ cnt;
    }while(s != t);
    for(auto &i : ans)
        cout << i << ' ';
    cout << '\n';

    return 0;
}



轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551501.html

標籤:其他

上一篇:Vulnhub之GreenOptics靶機詳細測驗程序

下一篇:返回列表

標籤雲
其他(158323) Python(38110) JavaScript(25398) Java(18011) C(15221) 區塊鏈(8261) C#(7972) AI(7469) 爪哇(7425) MySQL(7152) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5870) 数组(5741) R(5409) Linux(5334) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4565) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2432) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1964) Web開發(1951) HtmlCss(1929) python-3.x(1918) 弹簧靴(1913) C++(1912) xml(1889) PostgreSQL(1874) .NETCore(1857) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • Codeforces Round 868 Div 2

    A. A-characteristic (CF 1823 A) 題目大意 要求構造一個僅包含$1$和 $-1$的長度為 $n$的陣列 $a$,使得存在 $k$個下標對 $(i, j), i < j$滿足 $a_i \times a_j = 1$。 解題思路 當有$x$個 $1$, $y$個 $-1$ ......

    uj5u.com 2023-04-30 07:43:30 more
  • Vulnhub之GreenOptics靶機詳細測驗程序

    GreenOptics 識別目標主機IP地址 ─(kali?kali)-[~/Vulnhub/GreenOptic] └─$ sudo netdiscover -i eth1 -r 192.168.56.0/24 Currently scanning: Finished! | Screen View ......

    uj5u.com 2023-04-30 07:41:20 more
  • Spring RCE漏洞

    Spring RCE漏洞 一、漏洞概況與影響 CVE編號:CVE-2022-22965 受影響范圍: Spring Framework 5.3.X < 5.3.18 Spring Framework 5.2.X < 5.2.20 JDK >=9 使用Tomcat中間件且開啟了Tomcat日志記錄的應 ......

    uj5u.com 2023-04-30 07:41:16 more
  • xss-labs靶場

    在線XSS-labs靶場:https://xssaq.com/yx/ 靶場搭建 靶場是直接使用docker搭建的 docker pull vulfocus/xss-labs 啟動靶場 docker run -p 8005:80 vulfocus/xss-labs 瀏覽器訪問IP+8005 windo ......

    uj5u.com 2023-04-30 07:40:25 more
  • Spring Cloud Gateway RCE

    Spring Cloud Gateway RCE 一、基本介紹 CVE編號:CVE-2022-22947 ?Spring Cloud Gateway是Spring中的一個API網關。其3.1.0及3.0.6版本(包含)以前存在一處SpEL運算式注入漏洞,當攻擊者可以訪問Actuator API的情況 ......

    uj5u.com 2023-04-29 07:26:50 more
  • [筆記] ELMO, BERT, GPT 簡單講解 - 李宏毅

    國內視頻地址:https://www.bilibili.com/video/BV17441137fa/?spm_id_from=333.880.my_history.page.click&vd_source=bda72e785d42f592b8a2dc6c2aad2409 1 NLP 基礎 1.1 ......

    uj5u.com 2023-04-29 07:26:19 more
  • log4j JNDI注入漏洞

    log4j JNDI注入漏洞 一、LDAP介紹 ? LDAP是一種協議,LDAP 的全稱是 Lightweight Directory Access Protocol,輕量目錄訪問協議。 二、JDBC介紹 ? JDBC是一種規范,JDBC的全稱是Java資料庫連接(Java Database con ......

    uj5u.com 2023-04-29 07:25:38 more
  • KubeSphere 社區雙周報 | 杭州站 Meetup 議題征集中 | 2023.04.1

    KubeSphere 社區雙周報主要整理展示新增的貢獻者名單和證書、新增的講師證書以及兩周內提交過 commit 的貢獻者,并對近期重要的 PR 進行決議,同時還包含了線上/線下活動和布道推廣等一系列社區動態。 本次雙周報涵蓋時間為:2023.04.14-2023.04.27。 貢獻者名單 新晉 K ......

    uj5u.com 2023-04-29 07:25:18 more
  • 閱讀文獻《DCRNet:Dilated Convolution based CSI Feedback Compr

    這篇文章的作者是廣州大學的范立生老師和他的學生湯舜璞,于2022年10月發表在 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY。 文獻提出了一種基于**空洞卷積(Dilated Convolution)**的CSI反饋網路,即空洞信道重建網路(Dilated Ch ......

    uj5u.com 2023-04-29 07:25:00 more
  • 題目 3158: 藍橋杯2023年第十四屆省賽真題-三國游戲(貪心)

    題目描述 小藍正在玩一款游戲。游戲中魏蜀吳三個國家各自擁有一定數量的士兵X, Y, Z (一開始可以認為都為 0 )。游戲有 n 個可能會發生的事件,每個事件之間相互獨立且最多只會發生一次,當第 i 個事件發生時會分別讓 X, Y, Z 增加Ai , Bi ,Ci 。 當游戲結束時 (所有事件的發生 ......

    uj5u.com 2023-04-29 07:24:52 more