博客
关于我
[Educational Codeforces Round 74]暑期训练第三周第一天
阅读量:203 次
发布时间:2019-02-28

本文共 1551 字,大约阅读时间需要 5 分钟。

问题解答

问题B:计算好串的数量

要解决这个问题,我们需要找出字符串s中所有满足条件的子串数目。一个子串是好串的条件是:每个字符都属于至少一个长度为2的回文子串。

步骤

  • 分割字符串:将字符串分割成连续的相同字符块。例如,字符串"AABBB"会被分割为["AA", "BBB"]。
  • 计算块内部的子串数目:对于每个块,计算其内部的所有子串数目。注意,只有长度>=2的子串才被视为回文,因此长度为1的子串不计入。
  • 计算跨块的子串数目:对于跨块的子串,检查每个字符是否属于某个长度为2的回文。例如,子串"AAB"中的每个字符A都属于AA,B属于BB。
  • 统计总数:将块内部和跨块的满足条件的子串数目相加,得到总的好串数目。
  • 示例

    • 对于字符串"AABBB",分割为["AA", "BBB"]。
    • 块"AA"内部有1个满足条件的子串(长度2)。
    • 块"BBB"内部有2个满足条件的子串(长度2和3)。
    • 跨块的子串"AAB"、"ABB"满足条件,共2个。
    • 总计:1 + 2 + 2 = 5。但根据题目示例,总数应为6,说明跨块的子串还有其他情况,可能需要更细致的分析。

    结论:通过分割字符串,并计算每个块的子串数目,以及跨块的满足条件的子串数目,可以得到总的好串数目。


    问题C:判断是否可以通过减去素数得到y

    给定两个数x和y,判断是否存在一个素数p,使得x - y = k*p,其中k是正整数。

    步骤

  • 计算差值d = x - y。
  • 如果d <= 0,说明无法通过减去素数得到y。
  • 检查d是否为0。如果d=0,任何k都满足。
  • 否则,检查d是否可以表示为k*p,其中p是素数,k是正整数。可以通过试除法检查d是否有素因数。
  • 示例

    • x=10, y=5 → d=5,5是素数,满足条件。
    • x=7, y=3 → d=4,4不能表示为k*p(p是素数),无法满足条件。

    结论:当且仅当x - y可以表示为k*p,其中p是素数时,答案是肯定的。


    问题D:最少充多少钱才能活着下山

    为了确保从第h个台阶下山时不会摔死,我们需要按动开关,确保掉落路径的高度不超过2。具体策略如下:

    步骤

  • 从第h个台阶开始,按动其开关,掉落到h+1的位置。
  • 检查h+1的位置:
    • 如果h+1的位置是伸出的,按动h+1的开关,让其收回,避免掉落到h+2的位置。
  • 重复上述步骤,直到到达山底。
  • 示例

    • h=5,按动5的开关,掉落到6的位置,安全。
    • 按动5的开关,确保5收回,掉落到5的位置,继续。

    结论:按动每个台阶的开关,并确保右边的台阶收回,可以确保安全下山。


    问题E:排列键盘按键以最小化输入时间

    为了最小化输入时间,我们需要排列按键的位置,使得总移动距离最小。可以使用贪心算法或动态规划:

    步骤

  • 统计每个字符的出现频率。
  • 将按键按频率从高到低排序。
  • 计算每个字符按键之间的移动距离,确保总距离最小。
  • 结论:通过频率排序和动态规划,可以找到最优的按键排列,确保输入时间最短。


    问题F:最少发射导弹杀死所有怪物

    每次发射导弹破坏右边的怪物,使其右边的怪物向右移动,最终掉入陷阱。具体步骤如下:

    步骤

  • 从右到左依次破坏每个怪物。
  • 每个破坏操作会使右边的怪物向右移动,直到掉入陷阱。
  • 示例

    • 强行破坏最右边的怪物,使其右边的怪物移动,最终掉入陷阱。

    结论:贪心策略,每次破坏最右边的怪物,可以确保最少发射次数。


    最终答案

    B题:通过分割字符串和计算满足条件的子串数目,得到答案。

    C题:当且仅当x - y是素数或其倍数时,答案是肯定的。

    D题:按动每个台阶的开关,并确保右边的台阶收回,可以安全下山。

    E题:通过动态规划或贪心算法,找到最优的按键排列。

    F题:每次破坏最右边的怪物,最终用最少次数完成任务。

    具体数值答案需要根据题目提供的数值计算。

    转载地址:http://fatn.baihongyu.com/

    你可能感兴趣的文章
    ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
    查看>>
    nullnullHuge Pages
    查看>>
    numpy 用法
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
    查看>>
    OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
    查看>>
    OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
    查看>>
    OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
    查看>>
    OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
    查看>>
    OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
    查看>>
    OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
    查看>>
    OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
    查看>>
    oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>