牛客周赛 Round 51 (C++)

目录

A-小红的同余_牛客周赛 Round 51 (nowcoder.com)

思路:

代码: 

B-小红的三倍数_牛客周赛 Round 51 (nowcoder.com)

思路:

代码: 

C-小红充电_牛客周赛 Round 51 (nowcoder.com)

思路:

代码:

D-小红的 gcd_牛客周赛 Round 51 (nowcoder.com)

思路:

代码:

 E-小红走矩阵_牛客周赛 Round 51 (nowcoder.com)​

思路:

代码:

F-小红的数组_牛客周赛 Round 51 (nowcoder.com)

思路:

代码:

A-小红的同余_牛客周赛 Round 51 (nowcoder.com)

思路:

通过二分查找答案即可 

代码: 

#include<iostream>
using namespace std;
int m, ans;
int judge(int x)
{if ((2 * x) % m == 1)return 1;elsereturn 0;
}
int main()
{cin >> m;int l = 0, r = m;while (l < r){int mid = (1 + l + r) >> 1;if (judge(mid)){l = mid+1;ans = mid;}elser = mid-1;}cout << ans;
}

B-小红的三倍数_牛客周赛 Round 51 (nowcoder.com)

思路:

为3的倍数的数有一个特点:各个位数相加的和为3的倍数,所以将所有数的各个位数加起来看和是否为3的倍数

代码: 

#include<iostream>
using namespace std;
int n;
string s[110];
long long ans = 0;
int main()
{int n;cin >> n;for (int i = 1; i <= n; i++){cin >> s[i];long long sum = 0;for (int j = 0; j < s[i].length(); j++){sum += s[i][j] - '0';}ans += sum % 3;}if (ans % 3 == 0)cout << "YES";elsecout << "NO";
}

C-小红充电_牛客周赛 Round 51 (nowcoder.com)

思路:

分两种情况讨论:第一种低于超级充电的触发条件,直接用C求即可;第二种高于超级充电触发条件,看是直接用B求所耗时间短 还是 先将电路用到低于超级充电触发条件然后用C求时间短。

代码:

#include<iostream>
using namespace std;
int main()
{double x, y, t, a, b, c;cin >> x >> y >> t >> a >> b >> c;double time;if (x <= t){time = (100 - x) * 1.0 / c;}else{double ans1= (100 - x) * 1.0 / b;double ans2=(x-t)/y+ (100 - t) * 1.0 / c;time = min(ans1, ans2);}printf("%.9lf", time);
}

D-小红的 gcd_牛客周赛 Round 51 (nowcoder.com)

思路:

借用字符串来求,注意需要对每次求出来的值进行对b求余,不然会爆。

代码:

#include<iostream>
#define int long long
using namespace std;
int gcd(int a, int b)
{return  b > 0 ? gcd(b, a % b) : a;
}
signed main()
{string a;int b;cin >> a >> b;int x=0;int n = a.length();for (int i = 0; i < n; i++){x *= 10;x += a[i] - '0';x %= b;}int ans = gcd(x, b);cout << ans;return 0;
}

 E-小红走矩阵_牛客周赛 Round 51 (nowcoder.com)

思路:

用二分法求答案,答案判断是否存在用深度搜索是否能走到终点

代码:

#include<iostream>
#include<queue>
#define int long long
using namespace std;
int n, m, k;
int s[510][510];
int dx[4] = { 1,0,0,-1 };
int dy[4] = { 0,1,-1,0 };
int flag = 0;//标志是否能走通迷宫
typedef struct node
{int x, y;
}node;
node start, end1;
int bfs(int ans)
{queue<node> q;if(s[1][1]>ans)return 0;q.push({1,1});int book[510][510] = { 0 };book[1][1]=1;while (!q.empty()){int x = q.front().x;//取x坐标int y = q.front().y;//取y坐标q.pop();for (int i = 0; i < 4; i++)//遍历四个方向{int tx = x + dx[i];int ty = y + dy[i];if (tx<1 || ty<1 || tx>n || ty>n || book[tx][ty] == 1 || s[tx][ty] > ans)//是否越界,是否走过,是否可走continue;else{book[tx][ty] = 1;q.push({ tx,ty});if(tx==n&&ty==n)return 1;}}}return 0;
}
signed main()
{cin >> n ;for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++){cin >> s[i][j];}int l = 1, r = 1e9;while (l < r){int mid = (l + r) >> 1;if (bfs(mid)) r = mid;else l = mid + 1;}cout << l;return 0;
}

F-小红的数组_牛客周赛 Round 51 (nowcoder.com)

思路:

用线段树存正数时的绝对值最大和负数时的绝对值最大,相当于建了两棵树。

需要加一句 ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) 不然会超时。

代码:

#include<iostream>
#define lc u<<1
#define rc u<<1|1
using namespace std;
const int N = 5e5 + 10;
typedef long long ll;
struct node {int l, r;ll sum, lm, rm, m;ll fsum, flm, frm, fm;
}tr[N << 2];
int n, q;
ll a[N], b[N];
void pushup(node& u, node& l, node& r)
{u.sum = l.sum + r.sum;u.lm = max(l.lm, l.sum + r.lm);u.rm = max(r.rm, r.sum + l.rm);u.m = max(l.m, max(r.m, l.rm + r.lm));u.fsum = l.fsum + r.fsum;u.flm = max(l.flm, l.fsum + r.flm);u.frm = max(r.frm, r.fsum + l.frm);u.fm = max(l.fm, max(r.fm, l.frm + r.flm));
}
void pushup(int u)
{pushup(tr[u], tr[lc], tr[rc]);
}
void build(int u, int l, int r)
{if (l == r)tr[u] = { l,l,a[l],a[l],a[l],a[l],b[l],b[l],b[l],b[l] };else {tr[u] = { l,r };int mid = (l + r) >> 1;build(lc, l, mid), build(rc, mid + 1, r);pushup(u);}
}
node query(int u, int l, int r)
{if (tr[u].l >= l && tr[u].r <= r)return tr[u];int mid = tr[u].l + tr[u].r >> 1;if (l > mid)return query(rc, l, r);else if (r <= mid)return query(lc, l, r);else {node res;node L = query(lc, l, r);node R = query(rc, l, r);pushup(res, L, R);return res;}
}
signed main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];b[i] = -a[i];}cin >> q;build(1, 1, n);while (q--){int a, b;cin >> a >> b;node t = query(1, a, b);cout << max(t.m, t.fm) << '\n';}return 0;
}

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

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

相关文章

SHOT(方向直方图)

Salti等人在2014年提出一种表面匹配的局部三维描述子SHOT。Salti等人将现有三维局部特征描述方法分为两类&#xff0c;即基于特征的描述方法与基于直方图的描述方法&#xff0c;并分析了两种方法的优势&#xff0c;提出基于特征的局部特征描述方法要比后者在特征的描述能力上更…

基于视觉工具箱和背景差法的行人检测,行走轨迹跟踪,人员行走习惯统计matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 在三维图中&#xff0c;幅度越大&#xff0c;则表示人员更习惯的行走路线。 2.算法运行软件版本 matlab2022a 3.部分核…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第二十九章 NFS服务器的搭建和使用

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

VS2022配置Qt环境

文章目录 前言VS2022写Qt的好处下载插件前提条件离线下载在线安装配置VS For Qt 创建项目总结 前言 在许多开发环境中&#xff0c;Visual Studio 2022&#xff08;VS2022&#xff09;和Qt都是非常重要的工具。VS2022是微软开发的一款强大的集成开发环境&#xff08;IDE&#x…

前缀和算法——部分OJ题详解

&#xff08;文章的题目解释可能存在一些问题&#xff0c;欢迎各位小伙伴私信或评论指点&#xff08;双手合十&#xff09;&#xff09; 关于前缀和算法 前缀和算法解决的是“快速得出一个连续区间的和”&#xff0c;以前求区间和的时间复杂度是O(N)&#xff0c;使用前缀和可…

STM32智能农业灌溉系统教程

目录 引言环境准备智能农业灌溉系统基础代码实现&#xff1a;实现智能农业灌溉系统 4.1 数据采集模块 4.2 数据处理与决策模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;农业灌溉管理与优化问题解决方案与优化收尾与总结 1. 引言 智能农业灌溉系…

react基础样式控制

行内样式 <div style{{width:500px, height:300px,background:#ccc,margin:200px auto}}>文本</div> class类名 注意&#xff1a;在react中使用class类名必须使用className 在外部src下新建index.css文件写入你的样式 .fontcolor{color:red } 在用到的页面引入…

基于springboot和mybatis的RealWorld后端项目实战二之实现tag接口

修改pom.xml 新增tag数据表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for tags -- ---------------------------- DROP TABLE IF EXISTS tags; CREATE TABLE tags (id bigint(20) NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,PR…

IP地址定位与智慧城市和智能交通

智慧城市和智能交通是现代城市发展的关键领域&#xff0c;通过先进技术提升城市管理和居民生活质量。IP地址定位在交通监控、智能路灯管理等方面发挥了重要作用&#xff0c;本文将深入探讨其技术实现及应用。 交通监控与优化 通过IP地址连接交通传感器和摄像头&#xff0c;可…

Hive 函数

分类 Hive 的函数分为两大类&#xff1a;内置函数&#xff08;Built-in-Functions&#xff09;、用户自定义函数&#xff08;User-Defined-Functions&#xff09;&#xff1b;内置函数可分为&#xff1a;数值类型函数、日期类型函数、字符串类型函数、集合函数等&#xff1b;用…

使用llama.cpp量化模型

文章目录 概要整体实验流程技术细节小结 概要 大模型量化是指在保持模型性能尽可能不变的情况下&#xff0c;通过减少模型参数的位数来降低模型的计算和存储成本。本次实验环境为魔搭社区提供的免费GPU环境&#xff08;24G&#xff09;&#xff0c;使用Llama.cpp进行4bit量化可…

行业模板|DataEase物业管理大屏模板推荐

DataEase开源数据可视化分析工具于2022年6月发布模板市场&#xff08;https://templates-de.fit2cloud.com&#xff09;&#xff0c;并于2024年1月新增适用于DataEase v2版本的模板分类。模板市场旨在为DataEase用户提供专业、美观、拿来即用的大屏模板&#xff0c;方便用户根据…

基于搜索二叉树的停车收费管理系统

系统效果&#xff1a;录入汽车信息 查看汽车信息 收费信息查看 查询车库车辆 代码展示&#xff1a; //SearchBinaryTree.h #pragma once #include<iostream> #include<string> #include<time.h> #include<Windows.h> using namespace std;template<…

FPGA资源容量

Kintex™ 7 https://www.amd.com/zh-tw/products/adaptive-socs-and-fpgas/fpga/kintex-7.html#product-table AMD Zynq™ 7000 SoC https://www.amd.com/en/products/adaptive-socs-and-fpgas/soc/zynq-7000.html#product-table AMD Zynq™ UltraScale™ RFSoC 第一代 AMD Z…

gemini-pro-vision 看图说话

一、安装 pip install -U langchain-google-vertexai 二、设置访问权限 申请服务账号json格式key 三、完整代码 import gradio as gr import json import base64 from pathlib import Path import os import time import requests from fastapi import FastAPI, UploadFile,…

图扑低代码数字孪生 Web SCADA 智慧钢厂

2024 年 4 月&#xff0c;中国钢铁工业协会发布了《钢铁行业数字化转型评估报告&#xff08;2023年&#xff09;》&#xff08;以下简称《报告》&#xff09;。《报告》指出&#xff0c;绝大部分钢铁企业建立了数字化转型相关管理组织和团队&#xff0c;并加强其规划落实&#…

Qt Creator:C++与Python混合编程

目录 1.前言 2.调用Python前的准备 3.在Qt Creator中配置Python库 4.在Qt Creator中添加Python代码 5.在Qt Creator中运行Python代码 6.运行效果 前言 在进行软件开发过程中&#xff0c;我们一般都是在特定的环境下特定的开发语言下进行编程。但是在开发中总有特殊情况&#xf…

算法2--贪心算法

1.老鼠和猫的交易 小老鼠准备了M磅的猫粮&#xff0c;准备去和看守仓库的猫做交易&#xff0c;因为仓库里有小老鼠喜欢吃的五香豆。 仓库有N个房间&#xff1b; 第i个房间有 J[i] 磅的五香豆&#xff0c;并且需要用 F[i] 磅的猫粮去交换&#xff1b; 老鼠不必交换该房间所有的五…

Qt窗口程序整理汇总

到今日为止&#xff0c;通过一个个案例的实验&#xff0c;逐步熟悉了 Qt6下 窗体界面开发的&#xff0c;将走过的路&#xff0c;再次汇总整理。 Qt Splash样式的登录窗https://blog.csdn.net/castlooo/article/details/140462768 Qt实现MDI应用程序https://blog.csdn.net/cast…

每日复盘-20240716

20240716 六日涨幅最大: ------1--------300807--------- 天迈科技 五日涨幅最大: ------1--------600650--------- 锦江在线 四日涨幅最大: ------1--------301016--------- 雷尔伟 三日涨幅最大: ------1--------301016--------- 雷尔伟 二日涨幅最大: ------1--------301016…