大家来写 ICPC 西安(没写完)
感觉是好题啊,写一下,不过我好像把两场当成同一场了说是。
开题顺序:难度排序。
最开始读错题了,被普及-的题目卡了,我很唐。
考虑至多有一个不是因数,因此我们只需要找出最大值和次大值即可。因为当一个数比另一个数小的时候,那个数不可能是这个数的因数。只有两个需要找的,我们暴力判断即可。
唐题,排序直接做即可。
这题是不是比较显然,我们知道一个凸多边形成立只需要满足除了最大值的边的总和大于最大边,否则不成立。
比较显然的,每个企鹅之间只有两个状态:每秒距离不变和每秒距离-1。我们直接把企鹅的时间扔到一个小根堆里,取出来之后更新状态即可,可以发现只会对以停止为代价的企鹅进行影响,所以可做。
哈哈这题我昨天看了可以直接过,这里写一下思路,就是说钦定 \(root=1\),然后我们发现如果 \(A_{i,x}\oplus A_{i,y} = A_{x,y}\) 就能证明 \(x\) 和 \(y\) 的 LCA 为 root,如果 \(A_{i,x}\oplus A_{i,y}\oplus A_{x,y}=x\) 那么可以证明 \(x\) 是 \(y\) 的祖先,然后就可以直接做了。
这题好说,你可以先跑一边树形 dp 把每个点的拿到这个点的最小代价取出来。然后进行贪心,它必然是一条链的状态,然后直接暴力贪心即可。可以发现深度为 \(\log_3\) 级别,所以复杂度是 \(\log\) 级别的,可以过。
这题绝对绝对没有蓝,最多黄题。
先考虑什么情况的序列是可以的,很简单,手模发现如果有 \([2,n-1]\) 范围内的数是必然可以的。如果是 \(1\) 我们需要分讨,如果都没有就可以直接投降了喵。对于 \(1\) 我们发现只需要考虑 \(1\) 在两端或者有连续两个及以上的 \(1\) 时的情况。
然后这题就转化成了一个很板的插板。
最开始想错了,这题比较水。就是,我们发现我们可以维护一个前缀美丽段一个后缀美丽段。然后中间的部分就是我们需要去排序的段,我们对于这个段里头的三种字符进行统计权值,每出现一个不同的就 \(-1\),出现一个相同的就 \(+1\),如果端点外那个数是这个字符就 \(-1\),我们的目标是没有任何一个权值 \(>1\)。
构造一组解就比较肆意了吧。
神秘猜猜题,可以很容易猜到是需要没有超过两个节点不是叶子节点的邻居。这题有紫?随便维护一下即可。
我们考虑先按照攻击和防御力进行排序,对于 \(\max\{a_i\}\),只要防御力 \(b_i\) 大于这个数就必然不会死。我们在 \(b_i\) 中找到攻击中最高的去尽可能消灭掉一个。我们可以发现答案最多是防御力比 \(\max\{a_i\}\) 少的所有数,最少则是这些 \(-1\)。

浙公网安备 33010602011771号