摘要: C. Fence Painting 显然对于我们不同的就直接修改 但是我们应该贪心的叫更后面来的人来修改 这样前面的人怎么造都无所谓了 for(int i=1;i<=n;i++){ if(a[i]!=b[i]){ if(cnt[b[i]].size()){ auto t=cnt[b[i]].back 阅读全文
posted @ 2022-10-19 21:53 ycllz 阅读(26) 评论(0) 推荐(0)
摘要: C. Planar Reflections 考虑dp dp[i][j]表示i能量的在第j层的cnt 显然我们会分裂成左右两部分 显然我们这里是要分方向的 但是可以把向左的部分 找到对称点之后 就相当于向右了 所以我们可以少维护一维 dp[i][j]=dp[i-1][n-j+2]+dp[i][j+1] 阅读全文
posted @ 2022-10-19 16:53 ycllz 阅读(23) 评论(0) 推荐(0)
摘要: A. Balance the Bits 显然对于一个字符串s 我们每一对0之间必须是()一个合法的括号才行)(也可以 显然是等价的 因为你a拿前者 b就会拿后者 所以这就要求了我们0的个数必须是偶数 然后我们贪心的构造1即可 我们前面全填(后面填) 这样必然是最优的 然后最后再判断一下是否合法 #i 阅读全文
posted @ 2022-10-19 13:28 ycllz 阅读(17) 评论(0) 推荐(0)
摘要: D. Min Cost String 显然我们对于每两个组 都要本质不同 我们考虑本质不同两个组的数量为k^2 我们考虑如何构造将这k^2的连接起来 不然显然如果一个借着一个显然会产生新的组别 我们需要的就是两个组之间都会由相交 这样不会才不会产生新组 意思就是我们由k^2个组 我们考虑如何构造将他 阅读全文
posted @ 2022-10-19 00:18 ycllz 阅读(18) 评论(0) 推荐(0)