博客
关于我
Codeforces Round #616 (Div. 2) C - Mind Control(暴力枚举)
阅读量:387 次
发布时间:2019-03-05

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

给定一个初始序列,每次操作只能拿序列的头元素和尾元素。现在作为第m个拿的,我可以控制k个人的选择。问题在于,在我控制了k个人的选择后,不论剩下的m-1-k个人如何选择,我最后选的数字都会大于一个数X,求X的最大值。

解决这个问题的思路如下:

  • 枚举可能性:我需要枚举我控制的人在头部和尾部各自拿的数量。假设我控制的人在头部拿了i个,尾部拿了j个。剩下的k-i个人在尾部拿了k-i个,剩下的m-1-k个人在头部拿了剩下的位置。

  • 计算剩余位置:剩下的头部位置数为n - (m - 1 - k) - (k - i)。剩下的尾部位置数为j。

  • 确定最后位置:最后一次操作时,头部的位置是a[i + j],尾部的位置是a[n - 1 - (剩下的尾部位置数)]。

  • 取最大值:对于每一种i和j的情况,取头部和尾部的最大值,这个值就是我能保证的最小值X。

  • 遍历所有情况:通过遍历所有可能的i和j,找到最大的X。

  • 通过上述步骤,可以确定X的最大值,确保无论其他人如何选择,最后一次操作的数字都大于X。

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

    你可能感兴趣的文章
    Orcale表被锁
    查看>>
    svn访问报错500
    查看>>
    sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
    查看>>
    ORCHARD 是什么?
    查看>>
    Struts2中使用Session的两种方法
    查看>>
    Stream API:filter、map和flatMap 的用法
    查看>>
    STM32工作笔记0032---编写跑马灯实验---寄存器版本
    查看>>
    Static--用法介绍
    查看>>
    ssm旅游信息管理系统的设计与实现bus56(程序+开题)
    查看>>
    order by rand()
    查看>>
    SSM(Spring+SpringMvc+Mybatis)整合开发笔记
    查看>>
    ViewHolder的改进写法
    查看>>
    Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
    查看>>
    org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
    查看>>
    sql查询中 查询字段数据类型 int 与 String 出现问题
    查看>>
    org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
    查看>>
    org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
    查看>>
    sqlserver学习笔记(三)—— 为数据库添加新的用户
    查看>>
    org.apache.http.conn.HttpHostConnectException: Connection to refused
    查看>>
    org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
    查看>>