zoukankan      html  css  js  c++  java
  • Atcoder Beginner Contest 194 题意+题解 [暂无F]

    题解

    A

    给定参数 (A)(B),同时有四档分类如下:

    • I 类:(A+Bge 15)(Bge 8)
    • II 类:(A+Bge 10)(Bge 3)
    • III 类:(A+Bge 3)
    • 其余皆为 IV 类。

    求分类。

    直接判定即可。

    B

    有两项工作,对于第 (i) 个人分别耗费 (A_i)(B_i) 的时间。

    如果一个人做两项工作,则所需时间为其和,否则为他所做的工作需要的时间,如果没有工作则为 (0)

    将这两项工作分配给 (N) 个人中的若干名,总时间为所有人耗费时间的最大值,求最小总时间。


    前摇过长,一道细节题。

    • 如果 (min {A_i})(min {B_i}) 不是同一个人,则分配给这两个最快的即可;
    • 否则,就是下面三种情况的最小值:
      1. 同时分配给一个人;
      2. 将 A 工作分配给第二快的,而 B 给最快的;
      3. 将 B 给第二快的,A 给最快的。

    C

    给定一个长为 (N)(2le nle 3 imes 10^5))的序列 (A),求:

    [sumlimits_{i=2}^N sumlimits_{j=1}^{i-1} (A_i-A_j)^2 ]

    是个人都知道不能暴力,所以我们拆一下式子:

    [egin{aligned} sumlimits_{i=2}^N sumlimits_{j=1}^{i-1} (A_i-A_j)^2=&sumlimits_{i=2}^N sumlimits_{j=1}^{i-1} (A_i^2-2A_iA_j+A_j^2)\ =& sumlimits_{i=2}^N (i-1)A_i^2+sumlimits_{i=2}^N sumlimits_{j=1}^{i-1} A_j^2 + 2sumlimits_{i=2}^N sumlimits_{j=1}^{i-1} A_iA_j end{aligned} ]

    注意到 (A_j^2) 会被 (j+1le ile n) cue 到,所以 (sumlimits_{i=2}^N sumlimits_{j=1}^{i-1} A_j^2=sumlimits_{j=1}^{N-1}(N-j)A_j^2),和 (A_i^2) 加一起,恰好得到每一个数的平方会被算 (N-1) 次。

    同时,(A_iA_j) 只需要双倍一下,就可以得到 (2sumlimits_{i=2}^N sumlimits_{j=1}^{i-1} A_iA_j=left(sum A_i ight)^2-sum A_i^2),分别统计即可。

    D

    (N)(1le Nle 10^5))个节点,初始没有边。每一步均匀随机选择一个节点,向其连一条边并移动到此节点。求使图连通的期望步数。

    易得只有一个有边的连通块,设其有 (k) 个节点。则每一步有 (dfrac{N-k}{N}) 的概率连入一个新节点,同时有 (dfrac{k}{N}) 的概率不变。最后即求:

    [sumlimits_{k=1}^{N-1} sumlimits_{i=1}^infty left(dfrac{k}{N} ight)^{i-1}dfrac{(N-k)i}{N} ]

    进行如下操作:

    [egin{aligned} sumlimits_{k=1}^{N-1} sumlimits_{i=1}^infty left(dfrac{k}{N} ight)^{i-1}dfrac{(N-k)i}{N}=&sumlimits_{k=1}^{N-1}dfrac{N-k}{N}sumlimits_{i=1}^infty ileft(dfrac{k}{N} ight)^{i-1} end{aligned} ]

    (X=sumlimits_{i=1}^infty ileft(dfrac{k}{N} ight)^{i-1}),则交错相减可得:

    [egin{aligned} X-dfrac{kX}{N}=&sumlimits_{i=1}^infty ileft(dfrac{k}{N} ight)^{i-1}-sumlimits_{i=1}^infty ileft(dfrac{k}{N} ight)^{i}\ =&sumlimits_{i=1}^infty ileft(dfrac{k}{N} ight)^{i-1}-sumlimits_{i=2}^infty (i-1)left(dfrac{k}{N} ight)^{i-1}\ =&sumlimits_{i=0}^infty left(dfrac{k}{N} ight)^{i}\ =&dfrac{1}{1-frac{k}{N}}\ =&dfrac{N}{N-k} end{aligned} ]

    (dfrac{(N-k)X}{N}=dfrac{N}{N-k}=dfrac{N-k}{N}sumlimits_{i=1}^infty ileft(dfrac{k}{N} ight)^{i-1}),所以,

    [sumlimits_{k=1}^{N-1} sumlimits_{i=1}^infty left(dfrac{k}{N} ight)^{i-1}dfrac{(N-k)i}{N}=sumlimits_{k=1}^{N-1}dfrac{N}{N-k} ]

    E

    给定长为 (N)(1le N,Mle 1.5 imes 10^6))的序列 (A)(M),定义区间 mex 为最小的未出现过的自然数,求 (A) 中所有长度为 (M) 的连续子序列中,mex 最小值是多少。

    注意到如果一个数 (A_i) 上一次出现在 (A_j)(i-j+1ge M),那么 (A_ige operatorname{mex} {(i,j)}ge ans)。同时,注意到如果一个数第一出现在 (A_t)(tge M+1),则 (A_tge operatorname{mex} {(0,t)}ge ans)

    也就是说,如果两个相同的数中间没有相同的数,且距离超过 (M),就有可能成为最终的答案,但也有可能是在边缘处。

    为了方便,我们令 (A_0)(A_{N+1})(0,1,2cdots,N-1) 的叠加态,这样任何的边缘都可以被统计成一个完整的区间。

    https://atcoder.jp/contests/abc194/submissions/20710494

    F【暂无】

    Official Editorial 介绍了一个玄学的 DP,不太理解。

    评价

    感觉这次难度十分不均衡。

    一方面,前面的 5 题只用了不到 1h 就码完了,但 F 却卡到比赛结束都没整出来。

    同时,没有大码量题,,A 不那么简洁,DE 都是性质题,还要推一下式子(害得我 LaTeX 输了好久),总体感觉不太好。

    不要有借口,做不出来还不是因为蔡。


    非常感谢您读完此文章。

    如果您喜欢这篇文章,请点一个赞支持一下博主。

    如果您对此文有意见,欢迎在评论区留下你的看法,5ab 会尽力达到。

    如果您真的不喜欢这篇文章,也请不要喷,5ab 欢迎私信反馈意见。

  • 相关阅读:
    Java深度历险(四)——Java垃圾回收机制与引用类型
    Java深度历险(三)——Java线程​:基本概念、可见性与同步
    Java深度历险(一)——Java字节代码的操纵(转)
    SVN问题:Cleanup failed to process the following paths: xxxxxx
    解决 ORA-12154: TNS:could not resolve service name
    Linq 实现普通sql中 where in 的功能
    C# 操作电脑 关机 重启 注销 休止 休眠
    使用C#代码追加和提交文件到SVN服务器
    access 2007 vba (亖)
    access 2007 vba 开发中学到的知识(三)
  • 原文地址:https://www.cnblogs.com/5ab-juruo/p/abc194-statement_solution.html
Copyright © 2011-2022 走看看