Codeforces Round #616 (Div. 2) C. Mind Control
题目链接:http://codeforces.com/contest/1291/problem/C
思路:
我们可以很容易想到,只有前m-1个人才能影响m的选择的大小,后面的人无法影响。
如果所有人都无法控制,那么选数情况的不可控性很大,于是如果我们可以控制k个人,让他们的选择被我们控制,
那么,可控性随之上升,我们知道,只有前m-1个人能影响m的选择,于是,我们应该尽可能多的控制前m-1个人,
于是,我们可以控制的人数应该是x=min(k,m-1),如果x = m-1,说明m前面的所有人都可以控制,那就是可控的情况了,
我们就可以枚举x个人的选择情况,比如有3个人选了前3个数,那么x-3个人选了后x-3个数,ansi = max(a[4],a[n-(x-3)])。
最后的答案应该是end_ans = max(end_ans,ans1,ans2...ansm-1)一个for循环就可以搞定。
如果x < m-1,及有y = m-1-k个人的选择不确定,说明有了随机性,那么我就在上面可以确定的情况中枚举所有的随机选择,
对于随机情况我们需要选择最小值。因为ans要求的是任何情况的ans至少是多少。
#include <iostream>
#include <cstdio>
using namespace std; int main(){ int a[];
int n,m,k,p,T;
cin >> T;
while(T--){
cin >> n >> m >> k;
for(int i = ; i <= n; ++i) cin >> a[i];
k = min(k,m-);//可控制的人数
p = max(m--k,);//不可控制的人数
int ans = -;
for(int i = ; i <= k; ++i){//i个人选前面的数,可控制的人
int tmp_ans = (int)1e9+;
for(int j = ; j <= p; ++j){//j个人选前面的数,不可控制的人
tmp_ans = min(tmp_ans,max(a[i+j+],a[n-(k-i)-(p-j)]));
}
ans = max(ans,tmp_ans);
}
cout << ans << endl;
} return ;
}
Codeforces Round #616 (Div. 2) C. Mind Control的更多相关文章
- Codeforces 1291 Round #616 (Div. 2) C. Mind Control(超级详细)
C. Mind Control You and your n−1 friends have found an array of integers a1,a2,-,an. You have decide ...
- Codeforces Round #616 (Div. 2) B. Array Sharpening
t题目链接:http://codeforces.com/contest/1291/problem/B 思路: 用极端的情况去考虑问题,会变得很简单. 无论是单调递增,单调递减,或者中间高两边低的情况都 ...
- Codeforces Round #616 (Div. 2) 题解
A. Even But Not Even 题意: 定义一个数所有位置的和为偶数它本身不为偶数的数为ebne,现在给你一个数字字符串,你可以删除任意位置上的数字使其变为ebne输出任意改变后的结果,如果 ...
- Codeforces Round #616 (Div. 2)
地址:http://codeforces.com/contest/1291 A题就不写解析了,就是给一个数,是不是本身满足这个条件或者删除某些数字来达到这个条件:奇数,各个位上的数字加起来是偶数. # ...
- Codeforces Round #616 (Div. 2) D
莫队的模板 struct node{ int l,r,id; }q[maxn]; int cmp(node a,node b) { ) ? a.r < b.r : a.r > b.r); ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
随机推荐
- docker启动nginx的ssl配置
前提条件 一台云服务器(阿里云.腾讯云等的centOS) 服务器上面要有docker(安装方法这里不做介绍) 一个域名 ssl证书(两个文件:一个key后缀,一个pem后缀:生成方法很多这里不再介绍) ...
- echarts 的 formatter用法
前言:formatter格式化方法.使用formatter调用自定义的数据,把内容通过处理让变成我们想要的样子. 比如,echarts数据显示是这样的(bug:部分内容被隐藏掉了,显示太长,不美观) ...
- JavaScrip流程控制之switch选择,for循环
swith根据表达式的值来case ,break执行跳转语句 <!DOCTYPE html> <html lang="en"> <head> & ...
- RxJava的concat操作符
更多文章请点击:http://77blogs.com/?p=170 转载请标明出处:https://www.cnblogs.com/tangZH/p/12088332.html,http://77bl ...
- 12-Factor与云原生Part2
12-Factor与云原生Part2 12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用声明式格式来搭建自动化,从而使新的开发者花费最少的学习成本加入这个项目 和底层操作系统保持简洁 ...
- Linux下的 Mysql 8.0 yum 安装 并修改密码
1.MySQL版本: mysql> select @@version;+-----------+| @@version |+-----------+| 8.0.18 |+-----------+ ...
- [MySQL] mysql索引的长度计算和联合索引
1.所有的索引字段,如果没有设置not null,则需要加一个字节.2.定长字段,int占4个字节.date占3个字节.char(n)占n个字符.3.变长字段,varchar(n),则有n个字符+两个 ...
- Android开发之adt bundle安装
这个学期开了一门手机游戏开发的课,所以就接触到了adt bundle,Android开发环境有三种方式,分别是JDK+SDK+Eclipse+ADT.JDK+adt-bundle与JDK+Androi ...
- Python基础知识总结笔记(四)函数
Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...
- Python 中使用 Pillow 处理图片增加水印
这个是个比较常见的需求,比如你在某个网站上发布了图片,在图片上就会出现带你昵称的水印.那么在Python中应该如何处理这一类需求呢? 其实在我的<Django实战开发>视频教程中有讲到这一 ...