第十四届华中科技大学程序设计竞赛决赛同步赛
第十四届华中科技大学程序设计竞赛决赛同步赛
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拿完。
其实不是很理解为啥一定是这样的-_-