牛客小白月赛101(上)

tb的区间问题

题目描述

登录—专业IT笔试面试备考平台_牛客网

运行代码

#include <iostream>
#include <climits>using namespace std;int main() {int n, k;cin >> n >> k;int arr[50000];for (int i = 0; i < n; ++i) {cin >> arr[i];}int sum = 0, maxSum = INT_MIN;int jud = n - k;for (int j = 0; j < n; ++j) {sum = 0;for (int i = 0; i < jud; ++i) {sum += arr[i + j];}maxSum = max(maxSum, sum);}cout << maxSum << endl;return 0;
}

代码思路

  1. 首先确定一个观察窗口的大小,这里用变量 jud 表示,其值为 n - k,即最终剩余的元素个数。
  2. 然后通过两层循环来遍历数组:
    • 外层循环 for (int j = 0; j < n; ++j) 用于确定起始位置,每次循环都会重新计算一个从当前起始位置开始长度为 jud 的子数组的和。
    • 内层循环 for (int i = 0; i < jud; ++i) 用于计算从当前起始位置 j 开始长度为 jud 的子数组的和,将子数组中的元素累加到 sum 变量中。
  3. 在每次内层循环结束后,更新 Maxsum 的值,使其始终保持为当前找到的最大子数组和。具体更新方式为 Maxsum = (sum > Maxsum)? sum : Maxsum;,即如果当前子数组和 sum 大于之前找到的最大子数组和 Maxsum,则更新 Maxsum 为 sum,否则保持 Maxsum 不变。
  4. 最后输出 Maxsum,即为经过 k 次操作后剩余数组元素之和的最大值。

tb的数数问题

题目描述

登录—专业IT笔试面试备考平台_牛客网

运行代码

#include <iostream>
#include <vector>const int MAXN = 1000005;
const int MOD = 998244353;using namespace std;int n;
vector<bool> vis(MAXN, false);
vector<bool> isGood(MAXN, true);
int ans = 0;void solve() {cin >> n;for (int i = 0; i < n; ++i) {int x;cin >> x;vis[x] = true;}if (vis[1]) {for (int i = 1; i <= MAXN - 1; ++i) {if (isGood[i] && vis[i]) {ans++;} else {for (int j = 2; i * j <= MAXN - 1; ++j) {isGood[i * j] = false;}}}}cout << ans << endl;
}int main() {solve();return 0;
}

代码思路

  1. 首先定义一些常量和变量:

    • MAXN表示可能的最大数字范围。
    • MOD在这段代码中似乎未被实际使用。
    • n表示集合的大小。
    • vis是一个布尔类型的向量,用于标记输入集合中出现的数字。
    • isGood是一个布尔类型的向量,用于标记每个数字是否可能是 “好的”。
    • ans用于统计 “好的” 数字的个数。
  2. 读取输入集合:

    • 通过cin >> n读取集合的大小。
    • 然后使用一个循环读取集合中的每个数字,并将其在vis向量中对应的位置标记为true
  3. 检查每个数字是否是 “好的”:

    • 首先检查数字1是否在集合中。如果数字1在集合中,才进行后续的判断。
    • 对于从1MAXN - 1的每个数字i
      • 如果isGood[i]truevis[i]也为true,说明数字i是 “好的”,将ans加一。
      • 如果数字i不是 “好的”,则对于所有i的倍数i * j(其中j >= 2i * j <= MAXN - 1),将isGood[i * j]标记为false,因为如果i不是 “好的”,那么它的倍数也不可能是 “好的”。
  4. 输出结果:最后输出ans,即 “好的” 数字的个数。

tb的排列问题

题目描述

登录—专业IT笔试面试备考平台_牛客网

运行代码

#include <iostream>
#include <vector>const int mod = 998244353;using namespace std;void solve() {int n, w;cin >> n >> w;vector<int> b(n + 1);vector<int> P(n + 1, 0);vector<int> pre(n + 1, 0);for (int i = 1; i <= n; ++i) {int x;cin >> x;if (x!= -1) P[x] = i;pre[i] = pre[i - 1] + (x == -1? 1 : 0);}for (int i = 1; i <= n; ++i) cin >> b[i];long long ans = 1;int cnt = 0;for (int i = 1; i <= n; ++i) {int x = b[i];if (P[x]) {if (P[x] > (i + w)) {cout << "0\n";return;}continue;}ans *= (pre[min(n, i + w)] - cnt);ans %= mod;cnt++;}cout << ans << '\n';
}int main() {int t;cin >> t;while (t--) {solve();}return 0;
}

代码思路

  1. 输入与预处理

    • 首先读取输入的nw,分别表示排列的长度和幸运数字。
    • 然后创建三个向量:b用于存储给定的排列BP用于记录已知元素在最终可能的完整排列中的位置;pre用于记录从开始位置到当前位置的未知元素个数的前缀和。
    • 遍历输入的部分已知排列A,如果某个位置上的元素不是 -1,则将该元素在P中的对应位置记录为当前遍历的位置i。同时,计算pre向量,统计每个位置之前的未知元素个数。
  2. 主要计算过程

    • 初始化答案ans为 1,以及计数器cnt为 0。
    • 遍历给定的排列B
      • 如果当前元素在P中有记录,表示这个元素在部分已知排列A中是确定的位置。如果这个确定的位置大于当前位置i加上幸运数字w,说明无法得到这样的排列,输出 0 并返回。否则,继续处理下一个元素。
      • 如果当前元素在P中没有记录,表示这个位置在部分已知排列A中是未知的。此时,答案ans乘以在区间[i, min(i+w, n)]内的未知元素个数,即pre[min(n, i + w)] - cnt。然后更新计数器cnt,表示已经处理了一个未知位置。
  3. 输出结果:最后输出答案ans,即为可能的完整排列A的数量对998244353取模后的结果。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始,Docker进阶之路(一):Docker基础

一、简介与概述 1.Docker是一个开源的应用容器引擎&#xff0c;基于Go语言并遵从Apache2.0协议开源。 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。 2.Docker的主要…

可视化设计:华为不出,谁与争锋。

在可视化设计上&#xff0c;华为也是独树一帜的存在&#xff0c;本期分享几个华为的可视化作品。

vue echarts tooltip动态绑定模板,并且处理vue事件绑定

先上代码&#xff1a; tooltip: {// 这里是车辆iconshow: true,// trigger: "item",// backgroundColor: "transparent",appendToBody: true,textStyle: {color: "#ffffff" //设置文字颜色},formatter: (params) > {const TruckTooltip Vue.…

# 高可用的并发解决方案nginx+keepalived(三)

高可用的并发解决方案nginxkeepalived&#xff08;三&#xff09; 一、Nginx搭建图片服务器 针对任何站点&#xff0c;几乎都要访问图片&#xff0c;而一个网页里面几乎有好些张图片&#xff0c;这时候会占据大量tomcat连接&#xff0c;造成大量并发&#xff0c;我们可以通过…

动漫影视渲染合成- NVMe全闪NAS存储应用

电台、影视制作中心、动漫公司等需要进行大量视频渲染&#xff0c;动画渲染的机构&#xff0c;选用NVMe全闪存储 NAS性能发挥稳定

第十四届蓝桥杯嵌入式国赛

一. 前言 本篇博客主要讲述十四届蓝桥杯嵌入式的国赛题目&#xff0c;包括STM32CubeMx的相关配置以及相关功能实现代码以及我在做题过程中所遇到的一些问题和总结收获。如果有兴趣的伙伴还可以去做做其它届的真题&#xff0c;可去 蓝桥云课 上搜索历届真题即可。 二. 题目概述 …

nVisual到底能为机房运维管理解决哪些问题?

一、nVisual是什么&#xff1f; nVisual是一套运维管理软件&#xff0c;以可视化的方式记录机房内设备信息、物理位置、物理连接关系等&#xff0c;通过nVisual可以建立完善的设备档案。能真实还原机房平面图、还可画机柜布置图、不仅可以管理设备还可以管理设备端口和链路&am…

从零开始构建后台管理系统列表:新手友好教程,全程使用 HTML+CSS+JavaScript,涵盖增删查改、导入导出、排序等功能(含完整源码)

b站视频演示效果&#xff1a; 效果图&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>后台管理系统</title><!-- 引入正确的 Vue.js 版本 --><script src"https:/…

有关 签到/签退 业务逻辑 的梳理与学习

导言 最近搞到了个签到管理&#xff0c;其中的业务逻辑感觉有点复杂(可能是我的方向不对),虽然是实现了&#xff0c;不过代码和逻辑很多&#xff0c;也有些乱&#xff0c;想趁着还记得逻辑来记录梳理一下&#xff0c;看看自己以后有没有更好的思路&#xff0c;或者有大佬有思路…

Day 43~48 smbms

SMBMS SMBMS是超市订单管理系统的简称 数据库&#xff1a; 项目如何让搭建&#xff1f; 考虑使用不使用Maven&#xff1f; 依赖&#xff0c;jar 项目搭建准备工作 1.搭建一个mavenweb项目 2.配置Tomcat 3.测试项目是否能够跑起来 4.导入项目中会遇到的jar包 jsp,servle…

html TAB切换按钮变色、自动生成table--使用函数优化结构

<!DOCTYPE html> <head> <meta charset"UTF-8"> <title>Dynamic Tabs with Table Data</title> <style> /* 简单的样式 */ .tab-content { display: none; border: 1px solid #ccc; padding: 1px; marg…

基于Springboot社区论坛JAVA|VUE|SSM计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统&#xff1a;Window操作系统 2、开发工具&#xff1a;IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

2024双11买什么东西比较好?2024双十一好物推荐

双十一各种爆款商品&#xff0c;打折商品非常多&#xff0c;容易让人挑花眼也容易落入消费主义的陷阱&#xff0c;买回家后发现并不实用&#xff0c;甚至可能是自己平常生活中根本用不上的东西&#xff01;即使是打折活动也要在购买前考虑一下自己是否需要&#xff0c;在日常生…

Android (rust) vulkan (JNI) 画一个三角形: VulkanSurfaceView 初始化

上文说到, vulkan 作为一种 GPU 编程接口标准, 具有很好的跨平台能力. 并且在 wayland (GNU/Linux) 成功使用 vulkan 绘制了一个三角形. 今天, 我们同样使用 vulkano (rust), 在 Android (手机) 也画一个三角形吧 ~ 本文的解决方案主要参考了 stackoverflow 的一篇文章 (链接…

ITU标准引领车内通讯新纪元

在现代汽车科技更迭的今天&#xff0c;车内通讯与免提通话系统的性能与稳定性成为了消费者购车时不可忽视的重要因素。随着国际电信联盟&#xff08;ITU&#xff09;一系列标准的推出&#xff0c;车内通讯体验正迈向新的高度。本文将深入探讨ITU-T P.1100、P.1110、P.1120、P.1…

PTA L1-070 吃火锅

L1-070 吃火锅&#xff08;15分&#xff09; 以上图片来自微信朋友圈&#xff1a;这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”&#xff0c;那就厉害了&#xff0c;我们的故事就开始了。 本题要求你实现一个程序&#xff0c;自动检查你朋友给你发来的信息…

Django 对数据库的增删改查

新增 使用方法&#xff1a;类模型.objects.create 类模型 from django.db import models# Create your models here. class Car(models.Model):user models.CharField(max_length200)plate_number models.CharField(max_length20)def __str__(self):return f{self.user} -…

论文 | Reframing Instructional Prompts to GPTk’s Language

作者&#xff1a;Swaroop Mishra, Daniel Khashabi, Chitta Baral, Yejin Choi, Hannaneh Hajishirzi 论文摘要&#xff1a;语言模型 (LM) 更容易遵循哪些类型的指令提示&#xff1f; 我们通过进行广泛的实证分析来研究这个问题&#xff0c;这些分析阐明了成功指令提示的重要特…

vs2019 当前不会命中断点,还没有为该文档加载任何符号

问题&#xff1a; 解决问题&#xff1a; 1.检查C/C中的调试信息格式&#xff1b; 2. 检查连接器中的生成调试信息&#xff1b; 3.我的错误是修改过调试中的 “命令”这项导致的&#xff0c;下图已经改回默认&#xff1b;

责任链模式优化 文章发布的接口(长度验证,敏感词验证,图片验证等环节) 代码,示例

需求&#xff1a;后端需要提供一个文章发布的接口&#xff0c;接口中需要先对文章内容进行如下校验&#xff0c;校验通过后才能发布 1. 文章长度不能超过1万个字符 2. 不能有敏感词 3. 文章中图片需要合规 责任链相当于一个链条一样&#xff0c;链条上有很多节点&#xff0c;节…