CF 681

我太水了......数组

这是一场奇差无比的CF。spa

A,看题意有困难,实际上仍是很水的。排序

B,枚举 1234567 和 123456 的个数,时间复杂度1e6如下队列

C,业界毒瘤模拟题。最TM坑的是还要输出操做数...不能在线输出。时间

首先,我一个数组名写错了,结果搞了至少10min才调出来,可能有20min。枚举

而后我空间开小了...

而后我没有判断队列是否非空就取队首...

最后我一个大于号小于号写错了...

最后终于A了,还有26min。

弃疗。

D,给你一些人,构成一个森林。本身算本身的祖先。

给定一个序列,每一个人在这个序列里扫描,遇到第一个本身的祖先就给他送礼物。

i 但愿把礼物送给 ai。求一个这样的序列能知足全部人的需求,或输出 -1。

保证ai是i的祖先。

n <= 100 000

个人想法是对于每个ai,其余的全部做为aj的i祖先都在ai以后。而后拓扑排序便可。

n²不可承受。

而后考虑从1开始依次加入ai。

对于每一个ai,若是在队中就看ai前有没有i的祖先。

不在队中就扫描,在队中找到第一个i的祖先而后把ai插入它前面。而后日后检查......

显然是错的。

问了某大佬,正解:

考虑一对父子:

若儿子y已获得知足,且ay != y

那么ay为父亲x的祖先,那么ax == ay,不然不合法。

若ay == y,则对x无影响。

因此对于已知足的x

ay == ax 或 ay == y,不然不合法。

而后扫一遍便可。

输出:只需输出ai == i的点便可。

相关文章
相关标签/搜索