首页 > TAG信息列表 > CERC2014
[CERC2014] Virus synthesis 题解
你谷 link 回文自动机好题,首先发现第二种操作的结果肯定是一个回文串,那么理想的结果肯定是一个回文串加上前后接一些杂字符,因为又是和字符串的所有回文子串相关,所以先建出回文自动机【Luogu P4762】[CERC2014]Virus synthesis
[CERC2014]Virus synthesis: 题目大意: 初始有一个空串,利用下面的操作构造给定串 \(S\) 。 1、串开头或末尾加一个字符 2、串开头或末尾加一个该串的逆串 求最小化操作数, \(|S| \leq 10^5\) 。 思路: 回文自动机好题。在求出失配指针时,求出 \(\mathrm{trans}_i\) 表示以 \(i\) 结尾的【洛谷4765】[CERC2014] The Imp(贪心+DP)
点此看题面 有\(n\)个物品,第\(i\)个物品需要\(c_i\)的花费,具有\(v_i\)的价值。 恶魔会最小化你的收益,它可以至多\(k\)次在你买下一个物品后施展法术,施法会使你当前买下的物品失去价值,不施法则你可以获得这个物品的价值并结束购买。 求你能获得的最大收益。 \(n\le1.5\times10^5,k[CERC2014]Virus synthesis【回文自动机+DP】
[CERC2014]Virus synthesisBZOJ4044 [Cerc2014] Virus synthesis
神仙题qwq 当时在某校听梁大讲课就没听懂qaq 又研究了一下Claris的题解发现好像还阔以qwq 我们可以很自然地想到回文自动机 我们令f[x]表示回文自动机上的节点x最少需要f[x]个操作 可以发现有这样几种转移 f[x]=len[x](len[x]&1==1) f[x]=len[x]/2+1 (len[x]&1==0) f[x]=len[x]/2-lenbzoj4044: [Cerc2014] Virus synthesis
做题要冷静啊。。 仔细分析一下题面会发现这样造串的方式,对于任意一个串一定是前面一堆+一个偶回文+后面一堆 答案就是把某一个回文造出来的代价+n-这个回文的长度 还有就是翻转永远不会劣于加字符 那么把回文自动机造出来,把每个回文的最小步数搞出来就好了 假如是奇回文,直接f[pre]