1984: LXX的能力值

Submit Page   Summary   Time Limit: 3 Sec     Memory Limit: 128 Mb     Submitted: 17     Solved: 6


Description

LXX学习了N种算法知识,并且对于不同的算法知识掌握的程度不一样。为了能够在比赛中取得更好的成绩,他需要把自己的弱项填补。 就像木桶一样,能盛多少水,并不取决于桶壁上最高的那块木板,而恰恰取决于桶壁上最短的那块。已知LXX对第i种算法知识的能力值为Ai。LXX去向好心的上帝求救,上帝送给了他一个修补工具,但是最多只能使用M(M*L<N)次,且只能使连续的不超过L种知识的能力值提高至任意数值。现在问如何修补才能使能力值最小的最大呢?能力值的序列可以看成跟木桶类似的环状。

Input

第1行包含3个正整数,N, M, L。1≤N≤1000,1≤L≤20
第2行包含N个正整数,A1...Ai...An,1≤Ai≤1000000000

Output

每行输出结果。

Sample Input

8 2 3
8 1 9 2 3 4 7 5

Sample Output

7

Hint

我们要使最终能力值的最小值尽可能大,求这个最大的最小能力值。
这是一个环状木桶,最好的办法是,我们修补{8,1,2}和{4,5,6}这两组位置(即把他们的值提高到很大很大),还剩下两个数没被提升,第3个数9和第7个数7,最小值是7。

Source

2017年暑期集训校队选拔

Author

廖璇璇

 
 
题解:
二分能力值最大  的最小能力值      
再遍历一次数组   检查可以达到这个最大的最小能力值不   就可以得到答案
队友问过我一个问题    :   我二分的那个能力值  要是数组中没有那个值怎么办
其实这个是可以不用去管的     这么说  数组中没有m这个值但是有m+1,m+2    
那么我们二分的时候  如果m可以得话   m+1肯定也是可以得  
所以二分求出来的  一定会是数组中有的元素
 
 
 
#include <cstdio>
#include <time.h>
#include <cmath>
#include <stdlib.h>
#include <cstring>
using namespace std;
long long int a[];
long long int n,m,l;
bool zs(long long int y,long long int x)
{
long long int mm=m;
for(long long int i=; i<n; ++i)
{
if(a[y+i]<x)
{
mm--;
i=i+l-;
} }
if(mm<)return false;
return true;
}
bool jug(long long int x)
{
for(long long int i=; i<n; ++i)
{
if(zs(i,x))
return true;
}
return false;
}
int main()
{ while(~scanf("%lld%lld%lld",&n,&m,&l))
{
long long int ma=,mi=,mid;
for(long long int i=; i<n; ++i)
{
scanf("%lld",&a[i]);
a[n+i]=a[i];
if(ma<a[i])ma=a[i];
if(mi>a[i])mi=a[i];
}
while(mi<=ma)
{
mid=(mi+ma)>>;
if(jug(mid))
{
mi=mid+;
}
else
ma=mid-;
}
// printf("%d\n",mid); if(jug(mid))
{
while(jug(mid))
{
mid++;
}
printf("%lld\n",mid-);
}
else
{
while(!jug(mid))
{
mid--;
}
printf("%lld\n",mid);
} } return ;
}

csu 1984: LXX的能力值的更多相关文章

  1. csu 1978: LXX的图论题

    1978: LXX的图论题 Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 71   ...

  2. BZOJ 1984: 月下“毛景树” [树链剖分 边权]

    1984: 月下“毛景树” Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 1728  Solved: 531[Submit][Status][Discu ...

  3. csu 1812: 三角形和矩形 凸包

    传送门:csu 1812: 三角形和矩形 思路:首先,求出三角形的在矩形区域的顶点,矩形在三角形区域的顶点.然后求出所有的交点.这些点构成一个凸包,求凸包面积就OK了. /************** ...

  4. CSU 1503 点到圆弧的距离(2014湖南省程序设计竞赛A题)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1503 解题报告:分两种情况就可以了,第一种是那个点跟圆心的连线在那段扇形的圆弧范围内,这 ...

  5. CSU 1120 病毒(DP)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1120 解题报告:dp,用一个串去更新另一个串,递推方程是: if(b[i] > a ...

  6. CSU 1116 Kingdoms(枚举最小生成树)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1116 解题报告:一个国家有n个城市,有m条路可以修,修每条路要一定的金币,现在这个国家只 ...

  7. CSU 1113 Updating a Dictionary(map容器应用)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1113 解题报告:输入两个字符串,第一个是原来的字典,第二个是新字典,字典中的元素的格式为 ...

  8. CSU 1333 Funny Car Racing (最短路)

    题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1333 解题报告:一个图里面有n个点和m条单向边,注意是单向边,然后每条路开a秒关闭b秒 ...

  9. CSU 1337 搞笑版费马大定理(2013湖南省程序设计竞赛J题)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1337 解题报告:虽然x和y的范围都是10^8,但是如果a 是大于1000的话,那么a^3 ...

随机推荐

  1. 关于defer.promise.then 异步的一个疑问 | 用柯里化做promise | 用递归做promise

    疑问:感觉会报错,因为执行到defer.promise.then这时候还没到defer.resolve,因为异步读文件,总归会慢 解答:先执行defer.promise.then,是给callback ...

  2. Edraw Max 9.4 Crack Method

    使用010editor修改以下两个文件. BaseCore.dll (修改二进制内容hex) Before C6 45 C8 62 C6 45 C9 64 C6 45 CA 65 C6 45 CB 6 ...

  3. chart.xkcd 可绘制粗略,开通,手绘样式的图表库

    chart.xkcd 可以用来绘制手绘样式的图表,使用简单,样式也挺好看 简单使用 代码 index.html <!DOCTYPE html> <html lang="en ...

  4. Xamarin NuGet 缓存包导致 already added : Landroid/support/annotation/AnimRes 问题解决方案

    在VS中打开您遇到问题的解决方案. 转到工具> NuGet包管理器>包管理器设置 - >常规,然后点击“清除所有NuGet缓存” 这应该返回一个错误,因为你有一个项目打开,但如果没有 ...

  5. 洛谷 P5269 欧稳欧再次学车 题解

    P5269 欧稳欧再次学车 题目背景 请自行脑补一张欧稳欧学车的图 题目描述 欧稳欧学车时经常用一辆橡树车练习.这辆橡树车共有 \(N\) 个挡位,欧稳欧每秒可以把挡位增加或减少 \(1\),初始时( ...

  6. MySQL避免插入重复记录:唯一性约束

      mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法.1.insert ignore2.replace into3.insert on duplicate ke ...

  7. 拼多多面试真题:如何用 Redis 统计独立用户访问量!

    阅读本文大概需要 2.8 分钟. 作者:沙茶敏碎碎念 众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作 3 年的开发,稍微优秀一点的,都给到 30K 的 Offer. 当然,拼 ...

  8. 初识RSA

    基础知识:http://www.guideep.com/read?guide=5676830073815040# python实现:https://blog.csdn.net/bian_h_f6127 ...

  9. leetcode 85. 最大矩形

    题目描述: 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 思路分析: 这题是之前那道最大正方形的进阶,同样是利用dp来求解.通过逐行去计算最大矩形,即优化的 ...

  10. Chrome调试工具Developer Tools——前端必备神器

    本文链接:https://blog.csdn.net/u012542647/article/details/79401485 今天要给大家介绍一个神器,就是谷歌浏览器(Chorme)自带的前端调试工具 ...