2018.5.19-20 ACM-ICPC2018 西安邀请赛 5/11 Rank40 Ag
开场各自读题。
Hong看了眼A急速想了个假算法..果然WA了..(以后不是一眼的签到题还是应该两人确定题意)
看榜发现E是签到..He上了就A了..
然后Hong发现了A的问题..和He讨论了一下..改了就过了..
然后发现D是博弈..Hong就去推了..
Huang发现G是简单几何..就上了..没抄版出了些问题..改了就过了..
Hong梦游了..WA了数发D..
He和Huang讨论了K..感觉可上就上了..
Hong发现D的代码出现了惊人的SB错..改了就过了..
然后Hong去吃了个汉堡..终于找回了自我..
He和Huang卡K..和Hong讨论一下..然后就过了..
Hong推了C..发现是个背包..就让He上了..
然后我们处理了很久的读入..
然后发现T了..改了一下发现RE了..好像读入出了问题..然后xjb改疯狂提交..
然后就..时间到了啊..
GG..
还好校排29...
不然真的丢人了啊..
题解
A
暴力。从右向左考虑连续的1,对于连续的大于3个的1,可以使用一个 + 和一个 - 来更快的算出,这样就可以On的算出结果。
B
C
DP。可以令Ki = Bi - Ai - B,即获得第二能量的利润。那么对于Ki小于0的物品,一定只取第一能量。那么只要获得>=B的价值,就能获得所有其他利润。即要寻找最小的sigma ki使得sigma ai >= B。这恰好是背包的模型。我们将ki取反,以ai为容量,做01背包即可。
D
博弈。考虑先手必胜态和先手可转移的必胜态。用SG函数打表或手玩可以得出,设石子数为n,x = logn,当x%3 == 0 || 1时,为先手必胜态,其中当x % 3 == 1且x != 1时,为先手可转移必胜态,即先手可以通过若干次操作转移先后手。那么,当先手必胜态石子堆数为奇数,或先手必胜态石子堆数为偶数,可转移必胜态为奇数时,Alice获胜,否则Bob获胜。
E
排序。若较短的n - 1条边的和大于最长边,则可以。
F
G
简单计算几何。
H
I
J
K
线段树。对于每个点,只需要保存他被更新的次数n,以及被更新的时间点和sigma ti。那么在时间T,改点询问值即nT - sigma ti + 初始值。
用线段树或树状数组维护即可。
吐槽
感觉体验有点差啊..
这C的读入..是个鬼哟..
还疯狂发clarification..
还有..Hong梦游了3h啊..感觉前3h几乎0贡献啊..
真是难受啊..以后不能梦游了啊..