[AtCoder]Grand Contest 028

A Two Abbreviations

题意:给定两个串,长度为\(N\)\(A\)和长度为\(M\)\(B\),一个串\(S\)被称为好的,当且仅当:这个串的长度\(L\)能被\(N,M\)整除,且\(S_{i*L/N} = A_i, S_{j*L/M} = B_j\),求最短的好的串。

显然这个题中\(L\)应该是\(lcm(N, M)\),然后考虑\(A\)\(B\)\(S\)中重叠的部分就行了。

B Removing Blocks

题意:给定一个数列,每次删除一个数,定义这次操作的代价为和这个数连接的数的和,两个数\(a_i,a_j\)连接当且仅当\(\forall i\le k\le j, a_k\)都没有被删除。求删完所有数之后的期望收益。

定义\(P(i,j)\)为在\(a_i\)删除时\(a_j\)\(a_i\)连接的概率,这样,\(a_j\)的期望贡献次数就是\(\sum_{i=1}^n P(i,j)\)。如果在\(a_i\)删除时\(a_j\)\(a_i\)连接,那么\(a_i\)一定是\(a_{i..j}\)中第一个被删除的,所以\(P(i,j) = 1 /(|i-j|+1)\),这样只用求一下\(1..n\)逆元的前缀和就能\(O(n)\)的计算答案了。

C Min Cost Cycle

题意:有一些点,他们有权值\(A,B\),一条有向边\((i,j)\)的权值是\(\min(A_i, B_j)\),找一条覆盖所有点的有向环,使其权值最小。

我们定义点的类型如下:

  • \(X\):这个点贡献\(A,B\)
  • \(Y\):这个点只贡献\(A\)
  • \(Z\):这个点只贡献\(B\)
  • \(W\):这个点没有贡献。

由此,我们发现,题目要求的环只有如下三种情况:

  • 全是\(Y\)
  • 全是\(Z\)
  • \(X\)点和\(W\)点的数量为\(\ge1\)且相等。

前两种情况很好算,最后一种情况可以这样计算:将\(A_1..A_n,B_1..B_n\)升序排序,如果前\(N\)个里存在一个\(v\)使得\(A_v,B_v\)都在前\(N\)个中,显而易见直接取前\(N\)个是合法且很优的。否则,对于每个点,我们让它是\(W\)。然后贪心的附加上剩下的\(N-1\)个点(取前\(N+1\)\(N+2\)个),取答案的最小值即可。

D Chords

题意:环上有\(2N\)个等距的点,用\(N\)个线段连接这些点,定义两个点联通为这两个点可以在只经过这些线段的情况下互相到达。现在已经画了\(K\)个线段,问最后联通块的数量的期望。

E High Elements

题意:给定一个\(1..N\)的排列\(P\),一个长度为\(N\)\(01\)序列是好的当且仅当:构造两个序列\(X,Y\),一开始,两个序列都是空的,如果\(S\)的第\(i\)个数是\(0\),则\(P_i\)放入\(X\)中,否则放入\(Y\)中,且\(X,Y\)的元素数量一样。一个元素\(a_i\)的,当且仅当对于任意\(j<i\),都有\(a_j<a_i\)

F Reachable Cells

题意:给定一个矩阵\(A\)\(A_{i,j}\)\(1..9\)\(\#\),两个点是联通的,当且仅当可以从一个点,只向下或向右,不经过填有\(\#\)的格子,可以到达另一个点。求出所有联通的点的权值的乘积的和。

转载于:https://www.cnblogs.com/wyxwyx/p/agc028.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值