[蓝桥杯]真题讲解:合并数列(双指针+贪心)

[蓝桥杯]真题讲解:班级活动(贪心)

  • 一、视频讲解
  • 二、正解代码
    • 1、C++
    • 2、python3
    • 3、Java

一、视频讲解

[蓝桥杯]真题讲解:合并数列(双指针+贪心)
在这里插入图片描述

二、正解代码

1、C++

#include<bits/stdc++.h>
#define int long long
using namespace std;signed main(){int n, m; cin >> n >> m;vector<int>a(n), b(m);for(int i = 0; i < n; i ++) cin >> a[i];for(int j = 0; j < m; j ++)cin >> b[j];int p1 = 0, s1 = a[0], p2 = 0, s2 = b[0];int ans = 0;while(p1 < n || p2 < m) {if(s1 < s2) {p1 ++;s1 += a[p1];ans ++;} else if(s1 > s2) {p2 ++;s2 += b[p2];ans ++;}else{p1 ++;p2 ++;if(p1 < n)s1 = a[p1];if(p2 < m)s2 = b[p2];}}cout << ans << endl;return 0;
}

2、python3

n, m = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
p1, s1, p2, s2 = 0, a[0], 0, b[0]
ans = 0
while p1 < n or p2 < m:if s1 < s2:p1 += 1s1 += a[p1]ans += 1elif s1 > s2:p2 += 1s2 += b[p2]ans += 1else:p1 += 1p2 += 1if p1 < n:s1 = a[p1]if p2 < m:s2 = b[p2]print(ans)

3、Java

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();List<Integer> a = new ArrayList<>();List<Integer> b = new ArrayList<>();for(int i = 0; i < n; i ++) {int x = sc.nextInt();a.add(x);}for(int i = 0; i < m; i ++) {int x = sc.nextInt();b.add(x);}int p1 = 0, s1 = a.get(0), p2 = 0, s2 = b.get(0);int ans = 0;while(p1 < n || p2 < m) {if(s1 < s2){p1 ++;s1 += a.get(p1);ans ++;}else if(s1 > s2){p2 ++;s2 += b.get(p2);ans ++;}else{p1 ++;p2 ++;if(p1 < n)s1 = a.get(p1);if(p2 < m)s2 = b.get(p2);}}System.out.println(ans);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/679813.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Metasploit Framework(MSF)从入门到实战(二)

Metasploit Framework&#xff08;MSF&#xff09;从入门到实战&#xff08;一&#xff09;_安装msf更新-CSDN博客 MSF模块介绍 MSF有7个模块&#xff0c;分别对下面目录下的7个子文件夹&#xff1a; auxiliary&#xff08;辅助模块 &#xff09; show auxiliary //查看所有…

UBoat:一款功能强大的HTTP Botnet学习与研究工具

关于UBoat UBoat是一款功能强大的HTTP Botnet概念验证工具&#xff0c;该工具支持复刻一个现实场景中完整功能的Botnet测试环境&#xff0c;广大研究人员可以利用UBoat深入学习和研究Botnet的工作机制&#xff0c;以此来提升安全检测和保护策略。 功能介绍 1、基于C开发&…

分析 vs2019 c++20 语法规范下的全局函数: _Pocca ,这涉及到分配器的传递

&#xff08;1&#xff09;看 STl 源码时涉及到容器对象的 copy 时会调用该函数&#xff0c;例如 string 容器的 copy 操作&#xff1a; &#xff08;2&#xff09;该函数的源码如下&#xff1a; 从此源码得出结论&#xff0c;如果不自己写分配器&#xff0c;使用 STL 提供的标…

【人工智能】博弈搜索(极小极大值、α-β剪枝)

1. 极小极大值算法 人工智能中 “博弈” 通常专指博弈论专家们称为有完整信息的、确定性的、轮流行动的、两个游戏者的零和游戏&#xff08;如国际象棋)。术语中&#xff0c;这是指在确定的、完全可观察的环境中两个 Agent必须轮流行动&#xff0c;在游戏结束时效用值总是相等并…

蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app

本文来自&#xff1a;蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app - 源码1688 卡券绿色循环计划—— 一项旨在构建卡券价值再利用生态的社会责任感项目。在当前数字化消费日益普及的背景下&#xff0c;大量礼品卡、优惠券因各种原因未能有效…

Android 右键 new AIDL 无法选择

提示 (AIDL File)Requires setting the buildFeatures.aidl to true in the build file&#xff09; 解决方式&#xff1a; 在app的build.gradl中 adnroid{} 添加&#xff1a; buildFeatures{aidl true}

IaC实战指南:DevOps的自动化基石

基础设施即代码&#xff08;Infrastructure as Code&#xff0c;IaC&#xff09;是指利用脚本、配置或编程语言创建和维护基础设施的一组实践和流程。通过IaC&#xff0c;我们可以轻松测试各个组件、实现所需的功能并在最小化停机时间的前提下进行扩展。更值得一提的是&#xf…

单链表OJ题练习讲解

目录 前言 1.返回链表的倒数第k个节点 2.判断链表的回文结构 实现寻找中间节点的函数&#xff1a; 链表逆置的函数&#xff1a; 判断回文结构&#xff1a; 3.链表的相交 4.带环链表的判断 1.怎么判断链表是否为带环链表呢&#xff1f; 2.快慢指针方法的可行性验证和补…

ENVI拓展工具资源去哪里找

ENVI拓展工具资源去哪里找&#xff1f; 文章目录 ENVI拓展工具资源去哪里找&#xff1f;前言网站&#xff08;链接见文末&#xff09;ENVI应用商店&#xff08;App Store&#xff09;ENVI官方提供第三方制作自己制作 总结参考 前言 ENVI 拓展工具是指 ENVI 软件的扩展功能或插…

基于模糊控制的AMT自动变速汽车换档智能控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊控制的AMT自动变速汽车换档智能控制系统simulink建模与仿真。 2.系统仿真结果 输入的V&#xff0c;Ac&#xff0c;a 输出的档位&#xff1a; 3.核心程序与模型 版…

Edge的使用心得和深度探索-Sider: ChatGPT 侧边栏

作为一款备受欢迎的网络浏览器&#xff0c;Microsoft Edge在用户体验和功能方面都有着诸多优势。在长期的使用中&#xff0c;我总结出了三条使用心得&#xff0c;同时也发现了三个能够极大提高效率的功能。让我们一起深度探索Edge的潜力吧&#xff01; 使用心得&#xff1a; 界…

2024年数维杯数学建模A题思路

文章目录 1 赛题思路2 比赛日期和时间3 竞赛信息4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…