当前位置: 首页 > news >正文

牛客周赛 Round 51

目录

A.小红的同余

B.小红的三倍数 

C.小红充电 

D.小红的gcd 

 E.小红走矩阵

F.小红的数组 


这次周赛题目比较简单,算法题也基本上是板子题,出得很好(~ ̄▽ ̄)~

 

A.小红的同余

思路:签到题,别看成逆元题就行 

#include<iostream>
#define int long long
using namespace std;int32_t main()
{int m;cin>>m;cout<<(m+1)/2;
}

B.小红的三倍数 

思路:签到题,如果这个数能被三整除,则这个数每一位的数相加得到的和也能被三整除

#include<iostream>
#include<cstring>
using namespace std;
int main()
{int n;cin>>n;int sum=0;for(int i=0;i<n;i++){string s;cin>>s;for(int j=0;j<s.size();j++){sum+=s[j]-'0';}}if(sum%3==0)puts("YES");else puts("NO");
}

C.小红充电 

 

思路:总共分两种情况讨论:

            ①  x<=t 时使用超级快充即可

            ②  x>t 时,计算先玩到电量为t时启用超级快充更快还是直接充电更快

#include<iostream>using namespace std;
int main()
{double x,y,t,a,b,c;cin>>x>>y>>t>>a>>b>>c;if(x<=t){printf("%.9lf",(100*1.0-x)/c);}else{double wan=x-t;double t1=1.0*wan/y;//这个地方分母要乘1.0double t2=(100*1.0-t)/c;double t3=(t1+t2);double t4=(100*1.0-x)/b;printf("%.9lf",min(t3,t4));}
}

D.小红的gcd 

思路:可以迭代线性遍历a,来求解a%b的值,然后在求gcd(a%b, b)

#include<iostream>
#define int long long
using namespace std;
int gcd(int a,int b)
{return b?gcd(b,a%b):a;
}
int32_t main()
{string a;cin>>a;int b;cin>>b;int res=0;for(auto t:a){res=(res*10+(t-'0'))%b;}cout<<gcd(res,b);
}

 E.小红走矩阵

思路:用Dijkstra来写,优先队列每次弹出所有路径最大值的最小值

#include<iostream>
#include<vector>
#include<queue>
#define x first
#define y second
using namespace std;
typedef pair<int,int> PII;
typedef pair<int,PII> PIII;
const int N=505;
int ne[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
int a[N][N],n,dist[N][N];
bool st[N][N];
void Dijkstra()
{priority_queue<PIII,vector<PIII>,greater<PIII>> heap;heap.push({a[1][1],{1,1}});dist[1][1]=a[1][1];while(heap.size()){auto it=heap.top();heap.pop();int xx=it.y.x,yy=it.y.y,ma=it.x;if(st[xx][yy]) continue;st[xx][yy]=true;for(int i=0;i<4;i++){int tx=xx+ne[i][0],ty=yy+ne[i][1];if(tx>=1&&tx<=n&&ty>=1&&ty<=n&&!st[tx][ty]){dist[tx][ty]=max(ma,a[tx][ty]);heap.push({dist[tx][ty],{tx,ty}});}}}
}
int main()
{cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++) cin>>a[i][j];Dijkstra();cout<<dist[n][n];
}

F.小红的数组 

 

思路: 线段树板题,跟“你能回答这些问题吗”做法一样,只是多了一个要存储每个区间的最小线段和,这里得用scanf输入才不会超时,关闭流用cin,cout还是会超时

#include<iostream>
#define int long long
using namespace std;
const int N=5e5+5;
int w[N];
struct node{int l,r;int sum,sum_min;int lmax,lmin;int rmax,rmin;int tmax,tmin;
}tr[4*N];void pushup(node &u,node &l,node &r)
{u.sum=l.sum+r.sum;u.lmax=max(l.lmax,l.sum+r.lmax);u.rmax=max(r.rmax,r.sum+l.rmax);u.tmax=max(max(l.tmax,r.tmax),l.rmax+r.lmax);u.sum_min=l.sum_min+r.sum_min;u.lmin=min(l.lmin,l.sum_min+r.lmin);u.rmin=min(r.rmin,r.sum_min+l.rmin);u.tmin=min(min(l.tmin,r.tmin),l.rmin+r.lmin);
}void pushup(int u)
{pushup(tr[u],tr[u<<1],tr[u<<1|1]);
}void build(int u,int l,int r)
{if(l==r) tr[u]={l,l,w[l],w[l],w[l],w[l],w[l],w[l],w[l],w[l]};else{tr[u]={l,r};int mid=(l+r)>>1;build(u<<1,l,mid),build(u<<1|1,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];else{int mid=(tr[u].l+tr[u].r)>>1;if(mid>=r) return query(u<<1,l,r);else if(mid<l) return query(u<<1|1,l,r);else{node L=query(u<<1,l,r);node R=query(u<<1|1,l,r);node res;pushup(res,L,R);return res;}}
}int32_t main()
{int n;scanf("%lld",&n);for(int i=1;i<=n;i++) scanf("%lld",&w[i]);build(1,1,n);int q;scanf("%lld",&q);while(q--){int l,r;scanf("%lld %lld",&l,&r);node res=query(1,l,r);printf("%lld\n",max(abs(res.tmax),abs(res.tmin)));}
}

 

相关文章:

牛客周赛 Round 51

目录 A.小红的同余 B.小红的三倍数 C.小红充电 D.小红的gcd E.小红走矩阵 F.小红的数组 这次周赛题目比较简单&#xff0c;算法题也基本上是板子题&#xff0c;出得很好(&#xff5e;&#xffe3;▽&#xffe3;)&#xff5e; A.小红的同余 思路&#xff1a;签到题&am…...

【Linux】详解加锁实现线程互斥

一、多线程不加线程互斥可能会引发的问题 下面是一个抢标逻辑。抢票为什么会抢到负数&#xff1a;假设当票数为1时&#xff0c;此时四个进程的判断条件tickets都大于0&#xff0c;都会进入抢票操作&#xff0c;第一个进程抢完票以后tickets0并写回内存&#xff0c;第二个进程再…...

Java学习高级四

JDK8开始&#xff0c;接口新增了三种形式的方法 接口的多继承 内部类 成员内部类 静态内部类 局部内部类 匿名内部类 import javax.swing.*; import java.awt.event.ActionEvent;public class Test {public static void main(String[] args) {// 扩展 内部类在开发中的真实使用…...

mmc-utils 的 MMC 测试工具

MMC 工具介绍 有一个名为 mmc-utils 的 MMC 测试工具&#xff0c;由 Ulf Hansson 维护&#xff0c;您可以在以下公共 git 存储库中找到它&#xff1a; mmc/mmc-utils.git - Unnamed repository; edit this file description to name the repository. 功能 mmc-utils 工具可以…...

使用Python Turtle绘制圣诞树和装饰

简介(❤ ω ❤) 在这篇文章中&#xff0c;我们将探索如何使用Python的Turtle模块来绘制一个充满节日气氛的圣诞树&#xff0c;以及一些可爱的装饰品。Turtle是一个受Logo语言启发的图形库&#xff0c;非常适合初学者学习编程和创建图形。 码农不是吗喽&#xff08;大学生版&…...

非常好的新版网盘系统,是一款PHP网盘与外链分享程序,支持文件预览

这是一款PHP网盘与外链分享程序&#xff0c;支持所有格式文件的上传&#xff0c; 可以生成文件外链、图片外链、音乐视频外链&#xff0c;生成外链同时自动生成相应的UBB代码和HTML代码&#xff0c; 还可支持文本、图片、音乐、视频在线预览&#xff0c;这不仅仅是一个网盘&a…...

针对【module_or_function】的单元测试,全面覆盖可能的【edge_cases】

针对【module_or_function】的单元测试&#xff0c;全面覆盖可能的【edge_cases】 编写单元测试是为了验证代码模块或函数的正确性和鲁棒性。对于module_or_function&#xff0c;首先需要确定这个模块或函数的具体功能和预期输入范围。一个好的单元测试应该包括以下几个步骤&a…...

OTA测试!

OTA测试&#xff0c;全称“Over-The-Air Testing”&#xff0c;是一种无线通信设备的性能测试方法&#xff0c;主要用于评估设备在无线传输环境中的性能表现。以下是关于OTA测试的详细介绍&#xff1a; 一、定义与目的 OTA测试着重进行整机辐射性能方面的测试&#xff0c;以评…...

[H最短路] lc2959. 关闭分部的可行集合数目(Floyd最短路+二进制枚举+模板题)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接&#xff1a;2959. 关闭分部的可行集合数目 2. 题目解析 看了看题好像还没啥思路&#xff0c;结果一看数据范围&#xff0c;好家伙…n 最大就 10 啊&#xff0c;那不直接闭眼直接 Floyd枚举所有情况即可吗&#xff1f;&…...

pyinstaller用法详解3

本文使用创作助手。 大家好&#xff0c;时隔多日&#xff0c;我又更新了pyinstaller的用法详解&#xff01; 当然&#xff0c;这一次要比之前更详细&#xff0c;十分详细。 谢谢大家的支持&#xff0c;我们现在开始&#xff01; 一、快速开始使用pyinstaller 我之前的文章…...

养猫新手不会挑智能猫砂盆?2024最新挑选干货分享!

不得不说智能猫砂盆真的帮了我很大的忙&#xff0c;四年以来我陆陆续续养了很多的猫咪&#xff0c;但是因为需要上班&#xff0c;所以有时候也对铲屎的工作有些力不从心&#xff0c;后面听了朋友的建议&#xff0c;去入手了智能猫砂盆&#xff0c;不得不说买智能猫砂盆也非常的…...

上海理工大学24计算机考研考情分析!初复试分值比55:45,复试逆袭人数不算多!

上海理工大学&#xff08;University of Shanghai for Science and Technology&#xff09;&#xff0c;位于上海市&#xff0c;是一所以工学为主&#xff0c;工学、理学、经济学、管理学、文学、法学、艺术学等多学科协调发展的应用研究型大学&#xff1b;是上海市属重点建设大…...

Pandas库学习之DataFrame.drop()函数

Pandas库学习之DataFrame.drop()函数 一、简介 DataFrame.drop 是 Pandas 库中一个非常实用的函数&#xff0c;用于删除 DataFrame 中的行或列。通过指定列名或行索引&#xff0c;可以灵活地从数据集中移除不需要的数据。这对于数据清洗和预处理非常有用。 二、语法和参数 D…...

WHAT - 介绍一个不太一样的 UI 组件库 shadcn/ui

目录 一、介绍主要特点核心组件示例代码社区和支持总结 二、copy/paste1. 高度可定制性2. 避免依赖锁定3. 学习和理解4. 简化调试5. 项目需求变化 官方文档&#xff1a;https://ui.shadcn.com/docs 一、介绍 ShadCN (ShadCN/UI) 是一个现代的 React 组件库&#xff0c;旨在提…...

python--实验 11 模块

目录 知识点 模块基础 模块使用方式 自定义模块示例 模块的有条件执行 Python包结构 定义和导入包 常用第三方库及安装 实例代码 第三方库自动安装脚本 Python标准库介绍 PyInstaller 小结 实验 1.(基础题)制作文本进度条。 2.(基础题) 蒙特卡罗方法计算圆周率…...

Vue3+Vite+TS+Axios整合详细教程

1. Vite 简介 Vite是新一代的前端构建工具&#xff0c;在尤雨溪开发Vue3.0的时候诞生。类似于Webpack Webpack-dev-server。其主要利用浏览器ESM特性导入组织代码&#xff0c;在服务器端按需编译返回&#xff0c;完全跳过了打包这个概念&#xff0c;服务器随起随用。生产中利用…...

【深度学习入门篇 ⑨】循环神经网络实战

【&#x1f34a;易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…...

宝塔安装RabbitMq教程

需要放开15672端口&#xff0c;默认账号密码为guest/guest...

韦东山嵌入式linux系列-驱动进化之路:设备树的引入及简明教程

1 设备树的引入与作用 以 LED 驱动为例&#xff0c;如果你要更换LED所用的GPIO引脚&#xff0c;需要修改驱动程序源码、重新编译驱动、重新加载驱动。 在内核中&#xff0c;使用同一个芯片的板子&#xff0c;它们所用的外设资源不一样&#xff0c;比如A板用 GPIO A&#xff0c…...

长轮询(Long Polling)实现原理和java代码示例

长轮询&#xff08;Long Polling&#xff09;背景 长轮询是一种在Web开发中常用的技术&#xff0c;用于实现服务器与客户端之间的即时通信或近乎实时的数据交换。在传统的轮询&#xff08;Polling&#xff09;中&#xff0c;客户端会定期向服务器发送请求以检查是否有新数据。…...

OWASP 移动应用 2024 十大安全风险

1. OWASP 移动应用 2024 十大安全风险 开放全球应用程序安全项目 &#xff08;OWASP&#xff09; 是一个非营利性基金会&#xff0c;致力于提高软件的安全性。自 2014、2016 年两次发布了移动应用的十大风险后&#xff0c;今年再次发布2024版。这对移动应用软件的检查工具有着…...

Qt界面假死原因

创建一个播放器类&#xff0c;继承QLabel&#xff0c;在播放器类中起一个线程用ffmpeg取流解码&#xff0c;将解码后的图像保存到队列&#xff0c;在gui线程中调用update()刷新显示。 当ffmpeg打开视频流失败后调用update()将qlabel刷新为黑色&#xff0c;有一定概率会使得qla…...

python调用MATLAB出错matlab.engine.MatlabExecutionError无法调用MATLAB函数报错

python调用MATLAB出错matlab.engine.MatlabExecutionError无法调用MATLAB函数报错 说明(废话)解决方案MATLAB异常乱码python矩阵转MATLAB矩阵matlab.engine.MatlabExecutionError 说明(废话) python调用MATLAB&#xff0c;调用m文件中的函数&#xff0c;刚开始都没有问题&…...

[GXYCTF2019]Ping Ping Ping1

打开靶机 结合题目名称&#xff0c;考虑是命令注入&#xff0c;试试ls 结果应该就在flag.php。尝试构造命令注入载荷。 cat flag.php 可以看到过滤了空格,用 $IFS$1替换空格 还过滤了flag&#xff0c;我们用字符拼接的方式看能否绕过,ag;cat$IFS$1fla$a.php。注意这里用分号间隔…...

成为git砖家(1): author 和 committer 的区别

大家好&#xff0c;我是白鱼。一直对 git author 和 committer 不太了解&#xff0c; 今天通过 cherry-pick 的例子搞清楚了区别。 原理 例如我克隆了著名开源项目 spdlog 的源码&#xff0c; 根据某个历史 commit A 创建了分支&#xff0c; 然后 cherry-pick 了这个 commit …...

Lianwei 安全周报|2024.07.15

新的一周又开始了&#xff0c;以下是本周「Lianwei周报」&#xff0c;我们总结推荐了本周的政策/标准/指南最新动态、热点资讯和安全事件&#xff0c;保证大家不错过本周的每一个重点&#xff01; 政策/标准/指南最新动态 01 《人工智能全球治理上海宣言》发布 我们强调共同促…...

Linux - 基础开发工具(yum、vim、gcc、g++、make/Makefile、git、gdb)

目录 Linux软件包管理器 - yum Linux下安装软件的方式 认识yum 查找软件包 安装软件 如何实现本地机器和云服务器之间的文件互传 卸载软件 Linux编辑器 - vim vim的基本概念 vim下各模式的切换 vim命令模式各命令汇总 vim底行模式各命令汇总 vim的简单配置 Linux编译器 - gc…...

Git使用介绍教程

Git使用介绍教程 小白第一次写博客,内容写的可能不是很详细,仅供参考,大家一起努力 gitee网址:https://gitee.com 大部分的开发团队都以 Git 作为自己的版本控制工具,需要对 Git 的使用非常的熟悉。这篇文章中本人整理了自己在开发过程中经常使用到的 Git 命令,方便在偶…...

STM32的TIM1之PWM互补输出_死区时间和刹车配置

STM32的TIM1之PWM互补输出_死区时间和刹车配置 1、定时器1的PWM输出通道 STM32高级定时器TIM1在用作PWM互补输出时&#xff0c;共有4个输出通道&#xff0c;其中有3个是互补输出通道&#xff0c;如下&#xff1a; 通道1&#xff1a;TIM1_CH1对应PA8引脚,TIM1_CH1N对应PB13引…...

C++复习的长文指南

C复习的长文指南 一、入门语法知识1.预备1.1 main函数1.2 注释1.3 变量1.3 常量1.4 关键字1.5 标识符明明规则 2. 数据类型2.1 整型2.1.1 sizeof关键字 2.2 实型&#xff08;浮点型&#xff09;2.3 字符型2.4 转义字符2.5 字符串型2.6 布尔类型bool2.7 数据的输入 3. 运算符3.1…...

宜昌做网站的/极速一区二区三区精品

DHCP基础部分DHCP全称 Dynamic Host Configuration Protocol &#xff08;动态主机配置协议&#xff09;。提供主机 IP 地址的动态租用配置、并将其他配置参数分配给合法网络客户的 TCP/IP 服务协议。DHCP 提供既安全、可靠&#xff0c;又简便的 TCP/IP 网络配置&#xff0c;可…...

网站开发的费用计入什么科目/百度手机助手网页版

我一直有一个疑惑——计算机到底是怎么启动的&#xff1f; 而且似乎有点矛盾——要想启动&#xff0c;就必须运行程序&#xff0c;但是计算机没开机怎么加载和运行程序呢&#xff1f; 为了解决这个矛盾&#xff0c;工程师终于想出将一小段程序固化进一块存储设备&#xff0c;…...

固镇网站建设/南安网站建设

Shiro提供了记住我&#xff08;RememberMe&#xff09;的功能&#xff0c;比如访问如淘宝等一些网站时&#xff0c;关闭了浏览器下次再打开时还是能记住你是谁&#xff0c;下次访问时无需再登录即可访问&#xff0c;基本流程如下&#xff1a; 1、首先在登录页面选中RememberMe然…...

广州迅优网站建设公司怎么样/seo站长常用工具

数据恢复软件使用经验-支持U盘&#xff0c;手机SD卡&#xff0c;硬盘数据。解决图片恢复后打不开的问题。用过非常多数据恢复软件。最早EasyRecovery pro。恢复过U盘。手机SD卡&#xff0c;硬盘数据。但如今下载不了最新版&#xff0c;并且BAIDU出来的都是国产收费软件假冒的&a…...

徐州网站建设求职简历/成都广告公司

2019独角兽企业重金招聘Python工程师标准>>> ubuntu&#xff1a;在用libpcap写程序时&#xff0c;可能碰到pcap_lookupdev这个函数找不到设备&#xff0c;就我遇到的一种问题是没有root权限&#xff0c;你可以在命令行里sudo一下&#xff0c;另参考&#xff1a; htt…...

电商网站有哪些平台/网站搜索排名靠前

每个类分别控制自己的成员初始化过程&#xff0c;与之类似&#xff0c;每个类还分别控制着成员对于派生类来说是否可访问。 受保护的成员 如前所述&#xff0c;一个类使用protected关键字来声明那些它希望与派生类分享但是不想被其他公共访问使用的成员。protected说明符可以看…...