1. 程式人生 > >第十四屆華中科技大學程序設計競賽決賽同步賽

第十四屆華中科技大學程序設計競賽決賽同步賽

祖先 思維 simple HR .cn 題意 競賽 並查集 正整數

第十四屆華中科技大學程序設計競賽決賽同步賽

A Beauty of Trees 思維,帶權並查集

題意:
長度為 n 的序列,沒告訴你具體數是多少。只給出 m 個查詢,表示區間 [l,r] 的異或和為 k 。但是第 i 個查詢如果和前面的查詢有矛盾,那就是錯誤的。輸出所有的錯誤查詢。
tags:
對於一個查詢,我們知道 sum[r] ^ sum[l-1] = k 。 建成圖就是 r -> (l-1) ,但要快速地求出異或值,就要用帶權並查集處理。如有 sum[r]^sum[l-1]=k,即 r 的祖先向 l-1 的祖先連了一條 sum[r]^sum[l-1]^k 的邊。
代碼:https://paste.ubuntu.com/p/CczHkGTR3f/


B Trees on Sale 思維

題意:
給出 n、k ,問至少要多少個正整數才能相加組成任意 n 個 <=k 的數。 比如 n=3, k=4,至少要 1、1、1、2、2、3、4 這 7 個數。
tags:
真的搞不懂這種題 -`-
結論:假如當前的數和為 sum,當前優先加入的數就是 sum/n+1 ,直到 sum>=n*k 。

E A Simple Problem 字符串hash

題意:
給出 n 個數,每個數是 [0,k) 區間內的數,然後給出 m個數,每個數也是 [0,k) 區間內的。k<=11。這 m 個數可以改成 [0,k) 內的任意的數,但原本相同的數改完後還要相同,原本不同的數改完後也要不同。問 n 個數裏,有多少個長度為 m 的區間可以是由這 m 個數變過來的。

tags:
直接 hash 懟過去。。 枚舉 m 個數,然後快速確定 hash 值,看兩個是否一樣即可。
隊友拍了這個題,就懶得拍了。。 http://www.cnblogs.com/Noevon/p/9007681.html

F Beautiful Land 背包

簽到題,看數據範圍,轉一下,求價值的最小體積。

G Cards Game 思維

題意:
n 堆牌,每張牌有個分數,兩個從輪流選一堆取一張牌,但先手只能取最頂上的那張牌,後手只能取最底下那張。兩人都想使自己的分數盡可能大,問最後兩人的分數分別是多少。
tags:
官方題解:可以發現對於偶數牌數的牌堆,最終肯定會被兩名玩家對半拿完,對於奇數牌數的牌堆兩側同樣被平分拿完,對於奇數牌堆的中間牌,會從大到小輪流被A,B拿完。

其實不是很理解為啥一定是這樣的-_-

第十四屆華中科技大學程序設計競賽決賽同步賽