The 3rd Universal Cup 做題記錄

yhddd發表於2024-09-25

The 3rd Universal Cup 做題記錄

https://www.cnblogs.com/yhddd/p/18415768

Stage 0: Trial Contest ADFGHIJM

Stage 1: St. Petersburg ACDGHJKNO

Stage 4: Hongō BCDEKLNO

Stage 5: Moscow ABEFGIKM

Stage 6: Osijek ABCDHIJKL

Stage 7: Warsaw ABEGKL

Stage 8: Cangqian BCDEFHIJLM

Stage 9: Xi'an AEFGHIJN

The 3rd Universal Cup. Stage 0: Trial Contest

A. Arrested Development

\(O(n^2V)\) dp 可過。

D. Dihedral Group

一定是正序或倒序的連續區間。

F. Magic Bean

可以只交換一個環的 \(4\) 號和另一個環的 \(1\) 號。

G. Manhattan Walk

每個位置獨立。設 \(dp_{i,j}\)\((i,j)\) 去到終點的期望,\(dp_{i+1,j},dp_{i,j+1}\) 分別為 \(a,b\)\(a<b\)。如果 \(a+p\le b\) 一定走 \(a\),否則按等待時間劃分走 \(a\) 還是 \(b\)

H. MountainCraft

查詢區間並。線段樹維護區間最小值和區間最小值個數。

I. Not Another Constructive!

A 處計算字首 N 和字尾 C 的乘積。設 \(dp_{i,j,k,num}\) 為前 \(i\) 個,字首有 \(j\) 個,字尾有 \(k\) 個,能否有 \(num\) 個子序列。bitset 最佳化。

J. Passport Stamps

模擬。

M. Training, Round 2

記錄前 \(i\) 個題能否達到 \((j,k)\)。每個 \((j,k)\) 只會更新一次。set 維護。

The 3rd Universal Cup. Stage 1: St. Petersburg

A. Element-Wise Comparison

bitset 維護 \(f_{i,j}=a_i<a_j\)。每 \(m\) 個點劃一個段,統計跨過段的答案,維護一段的字尾 or。

C. Cherry Picking

從大往小加,線段樹維護區間字首字尾和最大連續 \(1\)

D. Dwarfs' Bedtime

\(0\) 時刻先每個問一次,然後每隔 \(49,48,\dotsb ,1\) 問一次,問到狀態翻轉就掛到 \(12\) 小時後連續的問。

G. Unusual Case

隨機一個點開始找,當前找到 \(a_1,\dotsb,a_k\),如果找不到新的出邊,那麼 \(a_k\) 連向 \(a_p\),將路徑改為 \(a_1\to\dotsb\to a_{p-1}\to a_p\to a_k\to a_{k-1}\dotsb\to a_{p+1}\)。據題解說是 \(O(n)\) 的。

H. Page on vdome.com

答案為 \(\min(n+1,10)\)

J. First Billion

\(a_i\bmod B\) 做 bitset 揹包,還原方案時如果既可以選也可以不選,就隨一個。取 \(B=2.5\times 10^6\)

也可以分為若干塊,塊內折半,塊間選絕對值前 \(k\) 小合併。

K. Tasks and Bugs

模擬。

N. (Un)labeled graphs

\(\log n\) 個點維護每個點的編號,把 \(\log n\) 個點連成一條鏈。剩下 \(3\) 個點。取 \(a\) 為度數最大的點,\(b\) 標記所有的 \(n\) 個點,\(c\) 是唯一不連 \(a\) 的點,標記 \(b\)\(\log n\) 個點的鏈頭。

O. Mysterious Sequence

模擬。

The 3rd Universal Cup. Stage 4: Hongō

B. Black or White 2

\(k=\min(k,nm-k)\)\(n>m\)。第 \(1\) 行隔一個填一個,之後插空一次填 \((i,j)\)\((i-1,j)\)。多出來的填 \((n,m)\)

C. Contour Multiplication

\(dp_{i,s}\) 為與 \(popcount(s\oplus t)=i\) 的所有 \(t\) 的共同係數。依次列舉 \(j\)\(dp_{i,s}\to dp_{i-1}{s\oplus 2^j}\)

D. DRD String

\(dp_i\) 為長為 \(i\) 且不存在 \(s[1,j]=s[i-j+1,i],j<i-j+1\) 的方案數。字首和轉移。

E. Equally Dividing

只要 \(sum\bmod n=0\) 就有解。若 \(m\) 為偶,每列交替升序降序;否則 \(n\) 為奇,可以構造前 \(3\) 列填 \([1,3n]\)

K. Kth Sum

升序排序,二分答案 \(x\)。對於每個 \(i\) 可以 \(O(n)\) 計算 \((i,j,k)\) 的答案。設閾值 \(B\),前 \(B\) 個的貢獻 \(O(nB)\) 計算。如果沒超過 \(k\)\(B\)\((B,j,k)\) 貢獻 \(\le \frac{k}{B}\)。後邊只需要前 \(\frac{k}{B}\) 小的 \((j,k)\) 對,\(O(\frac{k}{B}\log n)\) 預處理。

L. Largest Triangle

取相鄰的 \(a_i,a_{i+1},a_{i+2}\) 海倫公式計算。

N. Number of Abbreviations

對於 \(l<r\) 要求 \(s_l\neq s_r\)

Q. Quotient Sum

形如降序 a 挖去包括 \(n\) 在內的一些位置最後上升的排列。設 \(f_i\) 為前 \(i\) 個且選了 \(i\),有決策單調性。

The 3rd Universal Cup. Stage 5: Moscow

A. Counting Permutations

\(m1\)\(m2\) 相等的可以排列。

B. Bookshelf Tracking

在最後一次 R 操作前維護屬於前半邊還是後半邊。

E. Building a Fence

分類討論先做哪些,剩下的部分填到哪裡。所有方式取 min。

F. Teleports

\(dp_{l,r}\) 為區間 \([l,r]\) 的答案,列舉 \(k\) 翻轉,每次要麼拆成更小的兩個區間要麼從相等長度的區間轉移而來。先做第一種轉移,在最短路第二種轉移。

G. Exponent Calculator

\(e^x=\sum_{n=0}^{\infty}\frac{x^n}{n!}\)。每個 \(n\) 要兩次,\(\mid x\mid\) 增大精度下降。計算 \(e^{\frac{x}{2^B}}\) 後平方 \(B\) 次。取 \(n=7,B=10\)

I. Marks Sum

在後 \(2000\) 位一定存在字首和 \(\bmod 2000=0/1\)。 可以寫為 \(2000x+y\)\(x\le 1000\),傳 \(2x+y\) 即可。

K. Train Depot

區間加,求區間 max。線段樹合併。注意到修改的特殊性,合併時如果存在 \(tree_x=tag_x\) 就一定不優,返回 \(v\),極大減小常數。否則需要遞迴到 \(tree_u=tag_u\)\(tree_v=tag_v\) 再比較 \(tree_u\)\(tree_v\),理論複雜度依然正確但是常數極大。

M. Uniting Amoebas

答案為 \(\sum a_i-\max a_i\)

The 3rd Universal Cup. Stage 6: Osijek

A. Coprime Array

特判 \(gcd(s,x)=1\)。除非 \(s\) 為奇 \(x\) 為偶,兩步可行。否則多一個 \(1\)。隨機第一個數,失敗時對於一個 \(x\) 的質因數 \(p\)\(u\bmod p=0\)\((s-u)\bmod p=0\),成功率為 \(\prod_{p|x}\frac{p-2}{p}\)

B. Square Locator

設 B 座標為 \((x,y)\),繞 A \((0,\sqrt{OA})\) 順時針或逆時針旋轉 \(90\) 度得 D。聯立解方程。

C. -is-this-bitset-

\(dep_u\le 12\)\(a_u\) 設為 \(2^{20-dep_u+1}\),能表示出所有 \(512\) 的倍數。對於 \(dep_u>12\)\(u\)\(dp_{u,i}\)\(1\to u\) 鏈上 \(a_x\) 的揹包模 \(512\)\(i\) 最小和為多少。記錄修改的位置減少空間。

D. Cycle Game

警示:一個 \(3\times 3\) 的全黑矩形也不合法。

先最外層加一圈全為白。等價於時刻白色區域八連通且每個黑點都與一個白點八連通。線段樹分治,初始一些邊在一個字首時間存在。到葉子時檢查如果該點為黑與其八連通的黑點會不會無法與白點八連通。如果不刪這個點,有些邊重新合法。

H. Game Design

\(dp_{i,j}\) 為前 \(i\) 層且有 \(j\) 條邊跨過 \(i\) 的方案數。列舉 \(i\) 的出入邊向前向後轉移。

I. Geometry Hacking

在凹多邊形是可能會死。構造 \((-1,-1)\)\((1,0)\)\((i+2,-i)\)\((0,1)\),面積都相等且最小。

J. Non-Interactive Nim

後手要使先手操作時存在二進位制最高位的 \(a_i\) 只有一個。即後手操作時存在二進位制最高位的 \(a_i\) 只有 \(2\) 個,將其中一個變為 \(0\)。從高位往低位刪即可。

K. String and Nails

每次刪左下角即可,按 \((x,y)\) 排序。

L. All-You-Can-Eat

維護當前選的 \(sum\)\([0,200)\) 的集合,\([200,400)\) 的集合,\([400,600)\) 的集合。\(sum>600\) 一定合法,否則每次加入 \(x\) 時貪心調整三個集合。

The 3rd Universal Cup. Stage 7: Warsaw

A. Bus Analysis

代價 \(2\to 1,6\to 3\)。dp 套 dp。內層 dp,設 \(dp_{i,j}\) 為前 \(i\) 個點,代價為 \(j\) 最長向後多遠。只有 \(mn,mn+1,mn+2\) 的 dp 值有用。外層 dp 設 \(f_{i,x,y,z}\) 為前 \(i\) 個點,\(mn,mn+1,mn+2\) 的 dp 值分別在 \(x,y,z\)。當 mn 增加時增加答案。除了最開始只有 \(a+20\le b,b+20\le c\) 的三元組有用。

B. Missing Boundaries

有不確定的端點先當成 \([p,p]\)。按左端點排序,記錄最多最少能放多少 \((-1,-1)\)

E. Express Eviction

將橫縱座標都小於等於 \(2\) 的障礙連邊,等價於不存在左下邊界到右上邊界的路徑。最小割。

G. Game of Geniuses

答案為最大的行的最小值。

K. Routing K-Codes

\(f_u\)\(u\) 為根的和,\(sum_u=\sum_{v\in subtree(u)} 2^{dep_v}\)\(mxdep_u\) 為最大深度。換根 dp。

L. Random Numbers

\(a_i\) 期望為 \(\frac{n}{2}\)。所以檢查長度為 \([1,B]\)\([\frac{n}{2}-B,\frac{n}{2}+B]\) 的區間。

The 3rd Universal Cup. Stage 8: Cangqian

B. Simulated Universe

\(dp_{i,j,k}\) 為前 \(i\) 個,\(i\) 之前有 \(j\) 個沒匹配的祝福,向後能匹配 \(k\) 個祝福是否可行。把 \(k\) 壓入狀態,即 \(dp_{i,j}\) 表示最大的 \(k\) 是多少。

C. Challenge NPC

構造二分圖,\(1,4\) 為左,\(2,3\) 為右,\(1\to 2,4\to 3\)。然後奇數為左向之前的右連邊,偶數為右向除了 \(2\times i-1\) 之前的左連邊。

D. Puzzle: Easy as Scrabble

一個格子如果有兩個方向的要求則為矛盾格子,最後為空。佇列維護矛盾格子向後推。

E. Team Arrangement

注意到劃分數不多,搜出來每組大小後貪心檢查。按組的大小從小往大,在一個人的左端點處將他的右端點加入優先佇列,對每個組優先取佇列中最小的。

H. Permutation

二分,時刻維護當前區間次大值位置。如果次大值和最大值在同一邊則用一次,否則兩次。每次將 \(len\) 變為 \(d\times len\)\(1\) 次,\((1-d)\times len\)\(2\) 次,取 \(d=0.6\)

I. Piggy Sort

按位置之和排序,可以知道每張照片的先後順序。\(m>n\) 所以必然有一隻豬出現在相鄰照片的同一位置。列舉這個位置,檢查是否存在這樣一條直線經過 \(m\) 個點。每隻豬隻可能出現在一條直線上。

J. Even or Odd Spanning Tree

找到最小生成樹,只替換一條邊,維護奇偶邊權的路徑最大值。

L. Challenge Matrix Multiplication

每次找一條從 \(d_u>0\)\(d_v<0\) 的路徑,\(\sum |in_u-out_u|\) 減少 \(2\)。對於一條路徑,\(a_i\) 的答案包含 \(a_{i+1}\) 的答案。從 \(v\)\(u\) 依次 bfs 計算答案增量,每個點只經過一次。

The 3rd Universal Cup. Stage 9: Xi'an

A. An Easy Geometry Problem

差分,雜湊 \(a_i\) 和反過來的 \(k-a_i\)。線段樹維護雜湊值。二分答案。

E. Dominating Point

出度最大的點 \(u\) 為支配點。設 \(u\) 連向 \(S\)\(T\) 連向 \(u\)。如果存在 \(x\) 使得 \(dis(u,x)>2\),那麼 \(x\) 連向所有 \(S\)\(u\)\(d_x>d_u\),矛盾。如果 \(T\) 為空,無解。否則 \(T\) 組成的子圖的支配點 \(uu\) 也符合條件。如果 \(uu\) 不是指向 \(T\) 所有點,遞迴下去得到 \(uuu\)。否則指向 \(uu\) 且屬於 \(S\) 的部分的支配點符合條件。

F. An Easy Counting Problem

lucas 定理,等價於拆成 \(p\) 進位制數下每一位的組合數之積。設 \(dp_{i,j}\) 為填到前 \(i\) 位,組合數之積為 \(j\)\(cnt_k\) 為一位時的答案。\(dp_{i,j}=\sum_{kl\mod p=j} dp_{i,k}\times cnt_l\)。滿足結合律,快速冪最佳化。\(p\) 為質數有原根,下標 \(i\) 改為 \(g^x\bmod=i\)\(x\),加法卷積。

H. Elimination Series Once More

從小到大加入,每次更新 \(n\) 個點。

I. Max GCD

質因數分解,列舉答案。可能貢獻的 \((i,j,k)\) 滿足 \(i,j\) 是相鄰的 \(v\) 的倍數,雙指標最近的 \(k\)。共 \(O(n\sqrt n)\) 組。把 \((k,v)\) 掛在 \(i\) 上,二位數點,做 \(O(1)\) 插入 \(O(\sqrt n)\) 查詢的分治。

J. Graph Changing

\(>3\) 一次後無解,分討 \(n\)\(t\)