avatar
文章
410
標籤
38
分類
38
記事簿
  • 《中外历史纲要》
  • 《主机註記》
筆記本
  • 邏輯與算法
  • 大學筆記
作品集
  • CUC-Radio
  • 篆刻作品展
工具箱
  • Music
  • 詩詞
更多
  • 旅遊足跡
  • 地鐵圖
  • 賽博空調
  • 中午吃什么
  • 进制转换
  • 尖团音识别
好盆友
關於小明
小明の雜貨屋
記事簿
  • 《中外历史纲要》
  • 《主机註記》
筆記本
  • 邏輯與算法
  • 大學筆記
作品集
  • CUC-Radio
  • 篆刻作品展
工具箱
  • Music
  • 詩詞
更多
  • 旅遊足跡
  • 地鐵圖
  • 賽博空調
  • 中午吃什么
  • 进制转换
  • 尖团音识别
好盆友
關於小明

小明の雜貨屋

邏輯與算法
發表於2026-06-16|更新於2026-06-16|邏輯與算法
邏輯與算法 (0) 問題 (0) 原創問題 (0) 模板 (0) 知識 (0)DP 動態規劃與優化 (0)Ad-Hoc (0)GameTheory 博弈論 (0)GraphTheory 圖論 (0)01 (0)ACMM (0)Combinatorics 組合論 (0)String (0) 賽事 (0)Contest (0)EducationalCodeforces (0)Atcoder (0)Codeforces (0) if (typeof window.explorerInit === 'undefined') { window.explorerInit = true; const style = document.createElement('style'); style.innerHTML = '.explorer-folder:hover {background-color: var(--body-bg-shadow); }'; ...
快写
發表於2026-06-16|更新於2026-06-16|邏輯與算法模板
12345678910for (int i = 0; i < N; i++) { std::cin >> A[i];}auto g = A;std::ranges::sort(g);g.erase(std::ranges::unique(g).begin(), g.end());for (auto& x : A) { x = std::ranges::lower_bound(g, x) - g.begin();} chmax 123456789template<class T>void chmax(T& x, const T& other) { if (x < other) x = other;}template<class T>void chmin(T& x, const T& other) { if (x > other) x = other;} 树...
ABC437G
發表於2026-06-16|更新於2026-06-16|邏輯與算法問題
ABC437G - Colorful Christmas Tree 一道题建了三个新图,算上原树总共四个图 ww 给定 NNN 点树,每个节点初始被染成 012 三种颜色之一。 执行以下操作 N−1N-1N−1 次:选择一条当前存在、且两端点颜色不同的边,将其删除,然后将这条边两端点的颜色,按照 0 →\to→ 1 →\to→ 2 →\to→ 0 的循环顺序变为下一种颜色。 判断是否存在一种合法的删边顺序,能够把树上的边全部删完。若存在,输出之。 Step.1 转化为匹配 在全过程中,顶点 vvv 处于颜色 kkk 时参与删除,这个操作次数确定,记为 Av,kA_{v, k}Av,k​。这给定了每个点在特定颜色下需要消耗的额度,因此这本质上是一个匹配问题。 建图: 点:将一个点 vvv 拆成 Av,kA_{v,k}Av,k​ 个点 (v,k)(v,k)(v,k)。 边:对于一条边 u−vu-vu−v,如果 (u,k1)(u,k_{1})(u,k1​) 和 (v,k2)(v,k_{2})(v,k2​) 颜色不同,则连边 (u,k1)−(v,k2)(u, k_1)-(v,...
交互
發表於2026-06-15|更新於2026-06-16|邏輯與算法知識Ad-Hoc
CF2210E CF2210E. Binary Strings are Simple? 交互。 猜测长度为 NNN 的 01 串。 每次询问子串 S[l…r]S[l\dots r]S[l…r],返回子串所有循环移位的逆序对数 mod 子串长度的集合大小。 询问的代价为 Nr−l+1\dfrac{N}{r-l+1}r−l+1N​,总询问代价不超过 max⁡(30,3N)\max(30,3 N)max(30,3N)。 最多可以猜测 222 次。 当循环左移 1 时贡献是 −c0=c1−n-c_0=c_1-n−c0​=c1​−n,否则是 c1c_1c1​,逆序对在模意义下的增量总是 c1c_1c1​。因此询问实际是 #{x:x=kc1 mod N,k∈[1,N]}=Ngcd⁡(N,c1)\#\{x : x=kc_1\bmod N, k\in[1,N]\} = \displaystyle\frac{N}{\gcd(N,c_1)}#{x:x=kc1​modN,k∈[1,N]}=gcd(N,c1​)N​。 奇偶。在仅知道...
2025 ICPC 沈阳 C
發表於2026-06-15|更新於2026-06-15|邏輯與算法問題
2025 ICPC 沈阳 C 【题意】第一次运行给定 NNN 个正整数 Xi∈[1,M]X_{i} \in [1,M]Xi​∈[1,M],为每个数构造一个长度为 3M3 M3M 的序列,每个序列中 111 到 MMM 的整数恰好出现 3 次。jury 独立地将每个序列映射成二进制序列,第二次运行需要从这些二进制序列中解密出每个 XiX_{i}Xi​。 很牛的题。喜欢 communication。 【思路】既然是 3M3M3M 且恰好出现 3 次,我们就分成三段,每段是长为 MMM 的 permutation。第一段就设为 1,2,…,M1,2,\dots,M1,2,…,M,这样直接知道每个字符映射成 0 还是 1 了。然后想想后面两个 permutation 怎么搞才能保证是单射。 最简单的方法是 rotation(循环移位),直接移 XiX_{i}Xi​ 位。 可以吗?有个小问题,如果映射出的序列有周期 TTT,那就分不出来了。比如原串是 1010,移位后是 0101,移了 1 还是 3 不得而知。 如何修正?什么串没有周期?素数!给...
FWT
發表於2026-06-15|更新於2026-06-15|邏輯與算法知識Combinatorics組合論
123456789101112131415161718192021222324252627282930313233#include <vector>#include <utility> // for std::swaptemplate <typename T>void FWT(std::vector<T>& f, T m00, T m01, T m10, T m11) { const int N = f.size(); for (int k = 1; k < N; k <<= 1) { for (int j = 0; j < N; j += (k << 1)) { for (int i = 0; i < k; i++) { T& u = f[i + j]; T& v = f[i + j + k]; ...
多组数据
發表於2026-06-14|更新於2026-06-14|邏輯與算法問題原創問題|筆記•ACM•算法
...
ABC461G
發表於2026-06-13|更新於2026-06-13|邏輯與算法問題
ABC461G - Graph Problem 2026 NNN 点 MMM 边简单无向图,在点权 www 满足如下条件时,求 ∑w∗\sum{w_*}∑w∗​ 的最大值。 对每个点 iii,wi∈{0,1,2}w_i \in \lbrace 0, 1, 2 \rbracewi​∈{0,1,2}。 对每个边 (u,v)(u,v)(u,v),wu+wv∈{0,1,2}w_{u}+w_{v} \in \lbrace 0, 1, 2 \rbracewu​+wv​∈{0,1,2}。 拆点,令 wi=wi0+wi1w_{i}=w_{i_{0}}+w_{i_{1}}wi​=wi0​​+wi1​​,并钦定 wi0,wi1∈{0,1}w_{i_{0}},w_{i_{1}} \in \lbrace 0, 1 \rbracewi0​​,wi1​​∈{0,1},问题将三个权选择化为每个点的选与不选。希望所选点最多。 考虑边的约束 wu0+wu1+wv0+wv1∈{0,1,2}w_{u_{0}}+w_{u_{1}}+w_{v_{0}}+w_{v_{1}} \in \lbrace 0, 1,...
Fast Exponentiation
發表於2026-06-12|更新於2026-06-15|邏輯與算法知識DP動態規劃與優化|筆記•ACM•算法
快速幂 Fast Exponentiation 1234567891011// Quick powertemplate<class T>constexpr T qpow(T a, u64 n) { T res = identity(a); for (; n; n /= 2, a *= a) { if (n & 1) { res *= a; } } return res;} 矩阵快速幂 1234567891011121314151617181920212223242526272829// ---------------- Matrix ---------------- //using Matrix = std::array<std::array<Z, 64>, 64>; // change here for different size or typeconstexpr Matrix...
Non-overlapping Subsegments
發表於2026-06-12|更新於2026-06-12|邏輯與算法問題原創問題|筆記•ACM•算法
...
1234…41
avatar
小明同學
「一直游到海水變藍。」
文章
410
標籤
38
分類
38
Follow Me
分類
  • arts27
    • arts_cucradio19
    • music6
  • blog5
  • diary57
  • diary-中外历史纲要18
  • diary-主机註記117
  • other2
  • 大學筆記34
    • CPP15
    • English1
    • 信號與系統 Signals&Systems7
    • 大學物理 daxuephysics1
    • 大學英語 DAEnglish2
    • 概率論與數理統計 ProbabilityTheory&MathematicalStatistics2
    • 線性代數 linearalgebra2
    • 電子電路基礎 Electronic&CircuitFoundation1
    • 高等數學 gaodengshuxue3
  • 日記2
    • 日常2
  • 邏輯與算法148
    • 問題20
      • 原創問題16
    • 模板1
    • 知識46
      • 013
      • ACMM6
      • Ad-Hoc5
      • Combinatorics組合論2
      • DP動態規劃與優化11
      • GameTheory博弈論5
      • GraphTheory圖論4
      • String3
    • 賽事80
      • Atcoder2
      • Codeforces40
      • Contest28
      • EducationalCodeforces9
標籤
算法 cpp Canva Blog 攝影 數據結構 English Photoshop 小明 邀請賽 工科 筆記 Unicode 週日和大雷一起挖石頭 Illustrator Plog 圖論 主机 UCUP 中外历史纲要 隨筆 高等數學 練習賽 線性代數 日記 閱讀記錄 Bilibili 題解 網絡賽 Python CUC Music CUCRadio 微信公眾號 數學 Procreate ACM 區域賽
歸檔
  • 2026 六月 34
  • 2026 五月 26
  • 2026 四月 4
  • 2026 三月 5
  • 2026 二月 4
  • 2026 一月 23
  • 2025 十二月 6
  • 2025 十一月 7
網站資訊
文章數量 :
410
運行時間 :
總字數 :
381.7k
訪客數 :
總瀏覽量 :
最後更新時間 :
©2024 - 2026 By 小明同學