CSDN 博客登入後複製解決方法 CSDN 博客每次都會要求登入後複製,非常麻煩。只需要在按下 F12 進入 console 後貼上以下的指令即可。 1javascript:window.oncontextmenu=document.oncontextmenu=document.oncopy=null; [...document.querySelectorAll('body')].forEach(dom => dom.out 2024-04-06 CSDN #CSDN
Ubuntu 22.04 音量控制按鈕消失解決方法 今天不知道不小心動了什麼東西導致音量控制的按鈕消失,畫面如下圖 此情況甚至連鍵盤快捷鍵 Fn + 右鍵 都沒辦法控制音量。 爬了很多文章甚至重新灌了 kernel 都沒有解決問題,後來發現了一個簡單的指令就能讓它顯示。 打開 terminal 打上以下指令 1pulseaudio --start 大功告成! 2024-03-11 Ubuntu #Ubuntu
狂賭之淵中的吉爾布雷斯洗牌法 (Gilbreath's Shuffle) 前言最近在看狂賭之淵,其中第二季第四集中提到「吉爾布雷斯洗牌法」,因為覺得蠻有趣的因此特別寫這篇文章紀錄。 吉爾布雷斯洗牌法以下我們用動漫中的例子。 這副牌由 $0 \sim 3$ 組成,一共 $40$ 張,牌的初始順序為 $0, 1, 2, 3, 0, 1, 2, 3, \dots, 0, 1, 2, 3$。洗牌的過程一共有三個步驟: 進行切牌,切牌的位置與次數並不重要。 隨機取 $X = 1 2023-08-28 雜項 #動漫 #吉爾布雷斯洗牌法
【筆記】擴展歐幾里得算法 (Extended Euclidean Algorithm) 引入對於整數 $a$ 和 $b$,求出 $x$ 和 $y$ 滿足 $ax + by = \gcd(a,b)$ 演算法令 $g = \gcd(a, b)$,我們可以透過遞迴求出 $(x, y)$。更具體一點,我們可以在做輾轉相除法的過程中順便求出 $(x, y)$。 先來看輾轉相除法的 base case。當 $a = g$ 且 $b = 0$ 時,不難看出 $a \cdot 1 + b \cdot 2023-08-20 競程 > 筆記 #數論
【題解】ABC313 D - Odd or Even 題目連結 題目大意有一個隱藏的長度為 $N$ 的數列,每一項為 $0$ 或 $1$,你要猜出數列每一項的數值。你可以問至多 $N$ 個問題。給定常數 $K$,每次詢問 $K$ 個 index,judge 會告訴你這些 index 加起來的奇偶性。judge 是 adaptive 的,也就是他的答案不固定,只要不與 judge 的回答自相矛盾的都有可能是答案。 $1 \leq K < N \ 2023-08-05 競程 > 題解 > AtCoder #互動題
【題解】ABC311 F - Yet Another Grid Task 題目連結 題目大意給定 $N \times M$ 個格子,每個格子為黑或白。如果 $(i, j)$ 為黑,則下方 $(i + 1, j)$ 和右下方 $(i + 1, j + 1)$ 也會被染成黑色。一開始已經有一些格子是黑色,現在你可以將某些白色的格子塗成黑色,問最後可以產生幾種相異的版面 $\bmod{998244353}$。 $1 \leq N, M \leq 2000$ 題解官方的題解 2023-08-05 競程 > 題解 > AtCoder #DP
【題解】ABC312 G - Avoid Straight Line 題目連結 題目大意給定一棵 $N$ 個節點的樹,問有幾組 $(i, j, k)$ 滿足 $i < j < k$ 且在樹上三個節點不會形成一條路徑? $1 \leq N \leq 2 \cdot 10^5$ 題解三點不形成一條路徑的方法數可能不太直覺,我們改成用扣除的,也就是計算 $(\text{全部} - \text{三點形成一條路徑})$ 的方法數。全部就是 $\binom{N} 2023-08-05 競程 > 題解 > AtCoder
【筆記】IO 優化 本文將會介紹一些 IO 優化的方法。 iostream使用 iostream 下的 cin/cout。 1234567#include <iostream>int main() { int a; std::cin >> a; std::cout << a << std::endl;} 以上的程式碼在輸入輸出量巨大的時候很有可能會吃 TLE。實際上 2023-08-01 競程 > 筆記 #IO 優化
【筆記】Link Cut Tree 引入Link Cut Tree 是一種資料結構,能夠動態維護樹/森林的聯通性和一些路徑上的操作和查詢。 請你維護一些森林,並進行以下操作 (強制在線): 修改 $u, v$ 路徑上的權值 查詢 $u, v$ 路徑上的權值和 在 $u, v$ 之間連邊 (保證連邊之前 $u, v$ 不連通) 斷開 $u, v$ 之間的邊 單看 1 和 2 的話就是輕重鏈剖分的模板題。現在加上了連邊和斷邊的操 2023-07-19 競程 > 筆記 #Link Cut Tree
【筆記】Slope Trick 介紹Slope Trick 是一種表示某種特定函數的方式,該函數滿足: 函數在座標平面上連續 可以被分成多個區段,每個區段都是線性函數 每個區段的斜率由左到右遞增或遞減,也就是凹或凸函數 我們稱它為 分段線性凸(凹)函數 (Slope Trickable Function)。 這個技巧可以被用來優化 DP。 表示法我們稱函數斜率改變的地方為分段點。紀錄分段點的 $x$ 座標,每次代表函數的斜率 2023-07-01 競程 > 筆記 #Slope Trick