【魔怔】拼接。记忆。破碎。
__Allen_123__ · · 题解
你是一名因水平原因而遗憾退役的 OIer。退役之际,你正努力寻找和拼接着你在 OI 生涯中的回忆。
按顺序,你有
n 片关于 OI 的记忆,每一片用一个数字a_i(1\le a_i\le 20) 代表,数字相同代表记忆内容相近。你想把其中最具有代表性的记忆拼接在一起,可以不在原序列中连续。具体地,你要求出一个
a 的可不连续的子序列,其中两片相近的记忆(a_i=a_j )需要在子序列中连续。同时,你不想让过多重复的记忆进入,所以每一片记忆的内容只会出现0 次或2 次。请求出你所获得的回忆子序列的最长长度。
你马上想到,可以使用状压求出分别是否选择了
你考虑从小到大枚举
具体地,设当前状态为
你也发现暴力地求出
你的代码。
你成功地把你 OI 生涯中最具代表性的事物留在了脑海中,可你却仍感空虚。仅用至多
回望这些回忆,你忽而感到它们在破碎。正因缺少了什么,或是前因后果,或是平凡琐事,你感觉它们都失去了意义。越往深入去想,你的自我怀疑越深,情绪也越崩溃。可于千钧一发之际,你似乎找到了一切的答案,它能够串联起你的整个 OI 生涯,不遗留,也无遗憾。
这就是你热爱 OI 的心。