1. 程式人生 > >2017 Multi-University Training Contest 5 solutions BY 吉如一

2017 Multi-University Training Contest 5 solutions BY 吉如一

出題時難度安排大概是:

Easy: 06,08,1106,08,11

Medium-Easy:01,0901,09

Medium:02,04,0702,04,07

Medium-Hard:03,05,1003,05,10

感覺全放中檔題無法阻止多人多機 AK 的鐵蹄啊..

1001 Rikka with Candies

考慮預處理出所有 kk 的答案,問題相當於一個模 22 意義下的 \text{mod}mod 卷積,即給出陣列 A,BA,B,將 A_i \times B_jAi×Bj 累加到 w_{i\ \text{mod}\ j}wimodj 上。

因為 i\ \text{mod}\ j=i-j\lfloor \frac{i}{j} \rfloor

imodj=ijji,因此可以列舉 jj 和 k=\lfloor \frac{i}{j} \rfloork=ji。這時相當與把 AA 中區間 [kj,(k+1)j)[kj,(k+1)j)中的所有數依次加到 ww 的 [0,j)[0,j) 區間上。

因為模 22 意義下的加法可以用異或實現,因此可以用壓位來優化,這樣時間複雜度為 \sum_{i=1}^n \frac{n}{i} \times (32+\frac{i}{32})i=1nin×(32+32i),這約是 \frac{n^2}{32}32n2

注意因為 bitset 不支援提取區間操作,因此需要手寫壓位。如果不手寫也可以用分塊的方法來達到同樣的複雜度但是常數比手寫 bitset 大很多,可能需要一些常數優化才能通過時限。

1002 Rikka with String

如果沒有反對稱串的限制,直接求一個長度為 LL 的 0101 串滿足所有給定串都出現過,那麼是一個經典的 AC 自動機的問題,狀態 f[i][j][S]f[i][j][S] 表示長度為 ii,目前在 AC 自動機的節點 jj 上,已經出現的字串集合為 SS 的方案數,然後直接轉移即可,時間複雜度 O(2^nL\sum |s|)O(2

相關推薦

2017 Multi-University Training Contest 5 solutions BY

出題時難度安排大概是: Easy: 06,08,1106,08,11。 Medium-Easy:01,0901,09。 Medium:02,04,0702,04,07。 Medium-Hard:03,05,1003,05,10。 感覺全放中檔題無法阻止多人多機 AK 的鐵

[多校補題]2017 Multi-University Training Contest 6 solutions BY 福州大學

1003 Inversion Inversion Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1826 

[多校補題]2017 Multi-University Training Contest 7 solutions BY 杭州二中

1005 Euler theorem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 1322    Accepted Submissio

HDU 6356 Glad You Came 2018 Multi-University Training Contest 5 (線段樹)

build bsp clu const 區間更新 hup unsigned pda int 題目中沒有明說會爆int和longlong 的精度,但是在RNG函數中不用unsigned int 會報精度,導致隊友debug了很久... 根據每次生成的l,r,v對區間更新m次,

2018 Multi-University Training Contest 5 HDU 6356 Glad You Came(線段樹)

題意 給你n個數(隨機計算得到),有m次修改,每次修改區間L,R,將這個區間內所有小於v(隨機val)的值修改為v,求最後i*a[i]的異或和。 題解 通過線段樹記錄區間最小值,假如當前區間最小值大於等於v的話就遞迴修改了,否則對當前區間打更新標記。複雜度是O(nlogn),由於查詢數很

2017 Multi-University Training Contest - Team 3

E - RXD and dividing RXD has a tree TT, with the size of nn. Each edge has a cost.  Define f(S)f(S) as the the cost of th

2017 Multi-University Training Contest

RXD has a tree TT, with the size of nn. Each edge has a cost.  Define f(S)f(S) as the the cost of the minimal Steiner Tree of the set SS

2017 Multi-University Training Contest 10 1002 Array Challenge HDU 6172(找規律 矩陣快速冪)

題意:There’s an array that is generated by following rule.h0=2,h1=3,h2=6,hn=4hn−1+17hn−2−12hn−3−16And

HDU 6052 2017 Multi-University Training Contest

題意:給出一個n*m(1<=n,m<=100)的矩陣,每個矩陣元素有一個顏色值ai(0<=ai<=10000),現在定義一個子矩陣的value為子矩陣中不同顏色的數量,求子矩陣value的期望。 題解:期望=所有子矩陣的value總和/子矩陣個數。首

HDU 6058 2017 Multi-University Training Contest

題意:給定一個n(<=5e5)的全排列,以及一個 K 。定義value(l , r , k)=區間[ l , r ]中第 k 大的元素,如果區間長度 len = r - l + 1 < k 則 value( l , r , k ) = 0 求所有子序列的valu

HDU 6073 Matching In Multiplication —— 2017 Multi-University Training 4

ble %d cep 左右 兩個 efi ane mes tip Matching In Multiplication Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java

HDU 6121 Build a tree —— 2017 Multi-University Training 7

color thml 二叉樹 滿二叉樹 rst def 位置 實現 es2017 HazelFan wants to build a rooted tree. The tree has nn nodes labeled 0 to n?1, and the father of

2018 Multi-University Training Contest 1

線段樹 tinc substr 線段 bst value 我們 ring lar 1001 Maximum Multiple 顯然,\(x\),\(y\),\(z\)三個數越接近越優秀 那麽當我們根據\(1=\frac{1}{3}+\frac{1}{3}+\frac{1}{

【2018 Multi-University Training Contest 2 1007】Naive Operations

min out ans ack ive txt 題解 syn class 【鏈接】 我是鏈接,點我呀:) 【題意】 給你兩個數組a,b; b數組是1..n的一個排列。 現在給你兩種操作: add l,r將a[l..r]都加上1 query l,r 詢問$∑^r_l

2018 Multi-University Training Contest 2

ring 交換 gif swap ans space deb add 數組 Game 題意:   Alice和Bob先後手玩遊戲,每次可以從一個集合中拿出一個數(初始為1~n),拿出之後,這個數的所有因數都會從這個集合中消失,誰沒有數可拿時,就輸了。問Alice是否能贏?

HDU - 6315 Naive Operations (線段樹+思維) 2018 Multi-University Training Contest 2

延遲 給定 要求 lse define 位置 efi operation date 題意:數量為N的序列a和b,a初始全為0,b為給定的1-N的排列。有兩種操作:1.將a序列區間[L,R]中的數全部+1;2.查詢區間[L,R]中的 ∑?ai/bi?(向下取整) 分析:對於一

hdu 6319 Problem A. Ascending Rating (2018 Multi-University Training Contest 3 A)

while ble con -- test ++ nbsp ini for 鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=6319 思路: 單調隊列倒著維護,隊列裏面剩下的值的數量就是這一段區間的count值,如樣例

2018 Multi-University Training Contest 4

names The else preview miss end res sent title Problem D. Nothing is Impossible Time Limit: 2000/1000 MS (Java/Others) Memory Limi

2018 Multi-University Training Contest 3 - HDU Contest

sub str define oid ini truct while enc -h 題解: solution Code: A. Ascending Rating #include<cstdio> const int N=10000010;

杭電2018多校第四場(2018 Multi-University Training Contest 4) 1004.Problem D. Nothing is Impossible (HDU6335) -思維題

假設 spa 。。 lan 多校 () class span tdi 6335.Problem D. Nothing is Impossible 題意:給你n道題目,m個人,每題有x個正確選項,y個錯誤選項,問你做對題數量最多的人做對了多少道題目。 如果一道題有