首页 > 其他分享 >篮桥训练(第一场)

篮桥训练(第一场)

时间:2023-10-25 17:23:51浏览次数:26  
标签:过河 训练 int 篮桥 long return 第一场 const include

青蛙过河 - 蓝桥云课 (lanqiao.cn)

题意:现在一只青蛙过河,河里有石头,石头每踩一下就会下沉一厘米,然后给你河宽n,需要过河的次数,和里面石头的高度,0厘米就不能用了

然后现在让你给出一个最小的x,就是青蛙的跳跃能力,一次能跳多远,你可以跳1到x,让你给出一个最小的x

 

题解:一看题我们就可以直接想到二分x答案,然后在判断一下即可,

问题就是这个怎么判断x符不符合答案,能不能让青蛙跳完x次

首先我们想一下,每次跳x那么在一开始可以跳的范围就是1到x,然后就是2到x+1,然后就是3到x+2,以此类推

我们发现也就是每一个区间里就需要跳到过河的次数就行,我们用前缀和处理每一个区间,然后取一个最小值,然后这个最小值大于或者等于过河次数,那就行

#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cmath>
//#define double long double
//#define int long long
//#define endl '\n';
using namespace std;
const int N=5e6+7,M=1e1;
const int INF = 0x3f3f3f3f;
const int mod=100003;
typedef pair<int,int> PII;

int a[N];
int s[N];
int n,x;
bool check(int mid)
{
    int mi=1e9;
    for(int i=1;i+mid<=n;i++)
    {
        mi=min(mi,s[i+mid-1]-s[i-1]);
    }
    if(mi>=x) return true;
    else return false;
}

void solve()
{

   cin>>n>>x;
   x*=2;
   for(int i=1;i<n;i++)
   {
       cin>>a[i];
       s[i]=s[i-1]+a[i];
   }
   int l=1,r=n;
    while (l<r)
    {
        int mid=(l+r)/2;
        if(check(mid)) r=mid;
        else l=mid+1;
    }
    cout<<l<<endl;
}
signed main(){
//    std::ios::sync_with_stdio(false);
//    std::cin.tie(nullptr);
    int T=1;
//    cin>>T;
    while(T--){
        solve();
    }
    return 0;
}

 

标签:过河,训练,int,篮桥,long,return,第一场,const,include
From: https://www.cnblogs.com/whatdo/p/17787710.html

相关文章

  • 大模型增量预训练
    增量预训练也叫领域自适应预训练(domain-adapterpretraining),即在所属领域数据上继续预训练。主要问题是在增量预训练后可能发生灾难性遗忘。避免灾难性遗忘主要从以下几个方面入手:1领域相关性增量数据与所选基座模型的原始训练数据尽量一定的相关性。2新数据分布与原始数据......
  • 大模型训练中CPU与GPU使用率的优化策略
    随着深度学习和人工智能的快速发展,训练模型的需求不断增加。然而,在实践中,我们经常遇到一个令人困扰的问题:当训练模型时,CPU经常达到100%的使用率,但GPU使用率却仅仅维持在5%左右。这种不均衡的使用情况导致了训练过程的缓慢,甚至可能影响模型的准确性。在了解这个问题之前,我们需要先了......
  • 代码随想训练营第十四天(Python)| 层序遍历 10 、● 226.翻转二叉树 、101.对称二叉树 2
    层序遍历1、迭代法,使用队列classSolution:deflevelOrder(self,root:Optional[TreeNode])->List[List[int]]:res=[]ifrootisNone:returnresqueue=[root]whilequeue:n=len(queue)......
  • 深度理解预训练语言模型
    在过去的几年里,预训练语言模型(PretrainedLanguageModels)在自然语言处理(NLP)领域取得了显著的突破。这些模型,尤其是大语言模型,通过在大量无标签文本上进行训练,从而在各种NLP任务中展示出卓越的性能。本文将深入探讨大语言模型的预训练,涉及基本概念原理、神经网络的语言模型、Transf......
  • 基于MFCC特征提取和GMM训练的语音信号识别matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述       语音信号识别是将输入的语音信号映射到对应的文本或语音标签的过程。基于MFCC(Mel-FrequencyCepstralCoefficients)特征提取和GMM(GaussianMixtureModel)训练的方法在语音识别领域取......
  • 代码随想训练营第十三天(Pyhton)| 239. 滑动窗口最大值、347.前 K 个高频元素
    239.滑动窗口最大值classSolution:defmaxSlidingWindow(self,nums:List[int],k:int)->List[int]:res=[]tmp=MyQueue()foriinrange(k):tmp.push(nums[i])res.append(tmp.front())fo......
  • 昇腾CANN 7.0 黑科技:大模型训练性能优化之道
    本文分享自华为云社区《昇腾CANN7.0黑科技:大模型训练性能优化之道》,作者:昇腾CANN。目前,大模型凭借超强的学习能力,已经在搜索、推荐、智能交互、AIGC、生产流程变革、产业提效等场景表现出巨大的潜力。大模型经过海量数据的预训练,通常具有良好的通用性和泛化性。用户基于“大......
  • c语言训练4
    #求圆的面积与周长输入球的半径,输出圆的面积与周长,中间用空格隔开(结果保留6位小数)(代码后面都会有适当解释的哈)例如:输入:2输出:28.27431018.849540代码:#include<stdio.h>#include<stdlib.h>#definePI3.14159//定义一个PI,用PI代替3.14159,但注意定义的位置以及      ......
  • c语言训练5
    #已知三角形的底和高,求其面积例如:输入:42输出:4代码:#include<stdio.h>#include<stdlib.h>intmain(){  inta,b,S;  scanf("%d%d",&a,&b);  S=a*b/2;  printf("%d",S);  return0;}......
  • 代码训练营第十一天(Python)| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150
    20.有效的括号思路:分析出三种情况,画图模拟。写代码容易写错。classSolution:defisValid(self,s:str)->bool:a_stack=list()foriins:ifi=='(':a_stack.append(')')elifi=='{':......