\(1900-12=1888\)。怎么 rating 还是这么好笑。
感觉每回打 cf 都要破防是怎么回事?被诈骗不还是因为菜?交 \(12\) 发不知道自己是怎么想的。然后 E 也不难,但是太晚了打不动了。
下次交代码之前能不能拜托先把 hack 测一下?占了将近一半的 RE 哪个不是因为没开 long long
?
A
01 字符串,初始全是 0,每次把两个不相邻的 0 变成 1,问能不能变成指定的 \(s\)。
不行当且仅当 1 数量为奇或只有两个 1 且它们相邻。
B
\(n\) 头奶牛打架,每头都有自己的战力 \(a_i\)(各不相同),打架胜出者一定是战力更高者。打架顺序是先 1 跟 2 打,然后赢家跟 3 打,然后赢家跟 4 打,直到 \(n\)。然后 Bessie 是第 \(k\) 头奶牛,她能跟一只奶牛交换位置,并想最大化自己打赢的场数。
要么跟 1 换,要么跟第一个大于她的换。
C
买东西。第 \(i\) 天价格 \(a_i\),每天最多买 \(m\) 个,每买一个东西,之后的天里价格都加一(当天不变),问买 \(k\) 个最少花费。
这个题主要看思考方向,方向对了就秒杀。
注意到在任意购买方案基础上在某天添加一个,总花费变化量是(这天原本价格)+(之前的天买的总数)+(之后的天买的总数)。于是你惊讶地发现排列顺序不影响答案,并且直接贪心就是对的。
D
卖东西。你可以建立至多 \(\red{60}\) 个摊位卖这个东西并对每个摊位设置一个价格,爱丽丝身上有 \(n\) 块钱。她会依次光临这些摊位:在一个摊位购买这个东西直到买不起再前往下一个买买买(什么败家波特)。你想让她恰好买 \(k\) 个东西,构造一个设价格方法。(\(n,k\leq\red{10^{18}}\))
不会出题可以不出。看到标红的两个数字了吗?哦我的上帝啊,\(2^{60}\approx10^{18}\) 嘛对不对?于是我像一只愚蠢的土拨鼠一样想了好久二进制并被 \(n=8,k=3\) 整破防了。然后我又觉得这个是保证对数级复杂度上界的,我真像那邻居家的蠢驴约翰太太一样,想了好久怎么贪心,怎么保证每次规模至少减小一半并被 \(n=16,k=5\) 整破防了。后来写了一个暴力 DP 并输出 pre,我真想用我两只脚上的靴子狠狠地分别踢我和出题人的屁股!
首先 \(n<k\) 无解,\(n=k\) 有解,然后 \(k>\lceil n/2\rceil\) 无解,这是因为即使价格设到 \(2\),\(n,k\) 以 \(2:1\) 的比例减小,\(k\) 依旧无法 \(\leq\lceil n/2\rceil\),另一方面没有比 \(2:1\) 更小的比例使达到 \(n=k\),又最小情况 \(4,3\) 无解,证毕。这些都很显然,我拿到题就想到了,但是更显然的部分是对于 \(k\leq\lceil n/2\rceil\),令价格 \(p_1=n-k+1\),则一次购买后 \(n\to k-1,k\to k-1\),再令 \(p_2=1\) 就好了。
标签:十字线,PVP,lceil,texttt,我要,leq,回文,rceil,逆序 From: https://www.cnblogs.com/hagasei/p/18121261