Warning: session_start(): open(/tmp/sess_11d5d31c7e0e02175b38a84bd9a8a12d, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239
Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
Codeforces round 658 Div.2
链接:https://codeforces.com/contest/1381
本来是上周就应该写完的,拖了好久,这周上传。
====== A Common Subsequence ======
===== 题意: =====
大水题,求两个序列$a,b$的最短的公共子序列。
===== 题解: =====
最短那就是一个字母,直接枚举就行。除非两个序列的全部元素都不同,那么不存在,直接输出''%%No%%''。
====== B Sequential Nim ======
===== 题意: =====
给出每组有$a[i]$个石头的$N$个石头堆,从第一堆开始往后面取,如果不能取到石头,就判为输。
===== 题解: =====
感觉是个博弈论的问题,但简单分析一下可以知道如果$a_1 > 1$,那么先手必赢。但如果前缀中有奇数个 1,那么后手必赢。 但需要注意的是特判所有堆都只有一个石头子的情况,此时只需要判断$n$的奇偶性就行。
====== C1 Prefix Flip (Easy Version) ======
===== 题意: =====
有$a,b$两个01的串,现需要你执行如下操作,将$a$变成$b$.选定$a$的前缀反转0和1,然后把这个前缀倒过来
===== 题解: =====
简单版本就直接暴力了,每次用$a$字符串的第一个字符和$b$字符串的最后一个字符进行判断。如果不相等。则翻转整个$a$字符串。然后两个字符串长度减一。如果相等的话,就先对$a$的第一个字符进行反转操作。然后再反转整个$a$。
====== C2 Prefix Flip (Hard Version) ======
===== 题意: =====
同C1
===== 题解: =====
题目说操作的步数不能超过$2n$步。而且hard version的数据也更强,n的范围也变了,所以暴力是不行的了。 现在我们先用$n$个操作将$a$串变成同一个字符,再去跟$b$串每个位置作比较 从后往前保证修改过的值不被影响。 每次修改后记录当前位置往前的串的样子,重复上述操作。直至满足题意。
====== D Unmerge ======
===== 题意: =====
给出一个长度为$2n$的序列,问这个序列是否可以由两个长度为$n$的序列$a$和$b$按特定的规则归并而成。
===== 题解: =====
现对长度为$2n$的序列分组,再01背包判断选出几组刚好能构成长度为$n$的数组
====== E Mastermind ======
===== 题意: =====
对两个长度为$n$的数组,数组中的元素有$x$个是相同的,有$y$个是不同的,但是可以通过换序使其相同。现在给出其中一个数组,$x,y$。问是否存在另一个数组满足题意。
===== 题解: =====
暂时咕一下,感觉还是有些难度的。过段时间来补