Codeforces Round #519

有生之年tourist竟然fst了。

A. Elections

模拟

B. Lost Array

暴力模拟

C.Smallest Word

把所有a放到最前面

s[n+1]="b"

cout<<(s[i]!=s[i+1]<<)" ";

D. Mysterious Crime

设$dp[i]$表示第一个序列前$i$位匹配的方案,如果第$i$位能匹配(匹配指能在所有字符串中找到a[i-1],a[i]这个子串)那么$dp[i]$可以从$dp[i-1]$转移。

E. Train Hard, Win Easy

卡我题意..

题意其实是求所有的答案的和而不是最优的答案。

如果$x[i]+y[j]<y[i]+x[j]$,把$x$在$i$的时候取更优秀。

那么移项然后按照$x[i]-y[i]$排序,前面都是取$x$,后面都是取$y$,维护前缀和and后缀和。

减去不合法的答案即可。

F. Make It One

考虑到答案最多只有7,其实可以枚举答案。

那么统计一下选择$x$个数,他们$gcd=1$的方案数。

然后就是Luogu四元组统计

但是答案会很大,可以把答案对两个大质数取膜。

如果有一个是1那么这个就是合法答案。

G. Speckled Band

全场都没人做出来,溜了溜了。

Leave a Reply

Your email address will not be published. Required fields are marked *