首页 > 其他分享 >【题解】ARC157 A-D

【题解】ARC157 A-D

时间:2023-03-08 17:55:50浏览次数:37  
标签:cnt 删除 题解 栅栏 times ARC157 性质

因为有的题代码没写出来,所以代码就先咕咕咕了。

A.XXYYX

题目分析:

可以发现每一个 XY 必然伴随着出现一次 YX,当然可能会有一个 XY 没有伴随的 YX 的。
而且若必须存在 XXYY 而不存在 XYYX 的则无解。
所以就根据上述的两个条件判一下就好了。

B.XYYYX

题目分析:

我们设字符串中 \(x\) 的数量为 \(cnt\),则若 \(k > cnt\),最优一定是全部把 \(x\) 变成 \(y\) 之后然后再删除 \(y\),否则最优一定是只是将 \(x\) 变成 \(y\)。
考虑分类讨论。
若 \(k > cnt\):那么我们最优的删除 \(y\) 的办法肯定是每次删除一段最长的 \(y\),因为每当我们删除一段的时候,第一个删除的数造成 \(2\) 的代价以后的数造成 \(1\) 的代价,所以要尽可能少出现 \(2\) 的代价。
若 \(k \le cnt\):那么我们的最优的添加一定是每次添加一段最短的 \(x\),因为每次添加完一段 \(x\),最后一个添加的会造成 \(2\) 的贡献。

C.YY Square

题目分析:

显然需要将平方的代价化简一下,假设某一条路径有 \(x\) 对连续的 y,那么多了一个 \(y\) 后贡献就是 \(x^2 \to x^2 + 2 \times x + 1\)。
考虑如果所有的路径放在一起维护,\(x^2\) 就是原来的答案,\(2 \times x\) 就是路径长度的和,\(1\) 就是路径条数。
所以只要维护好了这些信息就可以轻松地做到多一个 \(y\) 的贡献,当然如果是没了 \(y\) 贡献就更简单了,就是 \(0\)。
那么就直接 \(bfs\) 一遍这个网格图,然后维护一下就好了。

D.YY Garden

题目分析:

(典型的看了题解就会,自己做就是不会)
这个题其实就是几个关键的性质,下面假设 \(h\) 为用了多少行栅栏,\(w\) 为用了多少列栅栏。

性质一:Y 的数量为 \(T\),当 \(T\) 为奇数时无解,当 \(T\) 为偶数时块数一定为 \(\dfrac{T}{2}\)
性质二: 若一种划分方式是合法的,则任意两行栅栏中间的 Y 的数量为 \(2\times(w + 1)\) 且任意两列栅栏中间的 Y 的数量为 \(2\times(h+1)\)
性质三: \((h+1) \times (w+1) = T\)

这三条性质也都很简单,所以应该不需要证明。
可以发现上面这三条性质很强,可以将答案限制在一个很小的范围里,而且对于求可能的划分方案也是很方便的,所以只需要求出可能的划分方式然后暴力判一下就可以了。
具体也就是直接去枚举 \(h\),然后根据性质二就可以得到用了多少列,然后判断一下是不是等于 \(w\) 就好了,最后如果都符合再去暴力判断这个方案是否是真的合法。
时间复杂度是一个低于 \(O(n^2\sqrt{n})\) 的值

标签:cnt,删除,题解,栅栏,times,ARC157,性质
From: https://www.cnblogs.com/linyihdfj/p/17174478.html

相关文章

  • 【题解】[Ynoi2015] 我回来了
    题目分析:所谓的期望乘以\(R-L+1\)其实就是求亵渎的触发次数,因为我们能选择的伤害只有\(R-L+1\)种。有一个很显然的转化,就是对于伤害\(d\),我们以随从的血量......
  • DP练习1题解
    这是2023.3.7DP题单十个题的题解。T1ColoredSubgraphs(CF1796E)简要题意:给定一棵树,你要对树进行链剖分,必须剖成上下竖直的链,求剖后最短链的长度最大值。最小值最大......
  • 【题解】[Ynoi2013] 大学
    题目分析:考虑对于一次修改至少会让\(x\)变成\(\frac{x}{2}\)所以对于每一个数最多被操作\(\log{n}\)次,那么直接暴力操作就好了。所以其实关键问题是每次怎么找到哪......
  • QOJ5256 [CERC2022] H. Insertions 题解
    题面题意:给定字符串\(S,T,P\),求将\(T\)插入进\(S\)之后\(P\)最多的出现次数。输出:最多的出现次数;达到这个最多出现次数的插入位置数量;达到这个最多出现次数......
  • 【题解】[Ynoi2010] y-fast trie
    题目分析:显然可以对于所有的\(x\)对\(C\)取模后处理。那么就是两种情况:\(x+y\geC\)\(x+y<C\)对于第一种情况直接找最大的两个数就好了,关键就是第二种情......
  • 春测2023 T2题解
    这是一个从暴力到正解的过程。暴力从\(1\)枚举到\(\sqrtn\),枚举每一个\(x\),进行累乘,顺便用一个map数组判重,时间复杂度\(\mathcal{O}(\sqrtn\logn\logn)\),直接T飞......
  • Ubuntu服务器ssh缓慢问题解决
    Ubuntu服务器ssh缓慢问题解决现象:ssh登陆或su-账号时间较长 排查:1、查看了/var/log/syslog未发现明显报错2、查看/var/log/auth.log发现有pam_systemd:Failedtocreate......
  • AGC060C题解
    Link简要题意:称一个长为\(2^n-1\)的排列\(P\)像堆,如果\(P_i\ltP_{2i}\),且\(P_i\ltP_{2i+1}\)。给定\(a,b\),设\(u=2^a,v=2^{b+1}-1\),在所有像堆的排列中任取......
  • ABC279H 题解
    学考时候推的。场上记错模数,以为是\(998244353\)然后想了半天组合数怎么算)简单题。首先序列问题考虑每个位置的生成函数然后乘起来。位置\(k\)的生成函数显然是\[\s......
  • 指针8道笔试题解析
    笔试题1:intmain(){inta[5]={1,2,3,4,5};int*ptr=(int*)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));return0;}//程序的结果是什么?第一......