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

牛客周赛 Round 69(A~E)

文章目录

  • A 构造C的歪
    • 思路
    • code
  • B 不要三句号的歪
    • 思路
    • code
  • C 仰望水面的歪
    • 思路
    • code
  • D 小心火烛的歪
    • 思路
    • code
  • E 喜欢切数组的红
    • 思路
    • code

牛客周赛 Round 69

A 构造C的歪

思路

签到题,求出公差d,让最大的数加上公差d即可

code

	int a,b;cin >> a >> b;int k=max(a,b)-min(a,b);cout << max(a,b)+k; 

B 不要三句号的歪

思路

最优解法用scanf流直接读入中间的逗号和省略号

我的思路是用字符串截取,找到第一个逗号和最后一个逗号,截取字符串,再让字符串转化为long long类型
最后输出结果

code

void solve(){string s;cin >> s;string a;for(int i=0;i<s.size();++i){if(s[i]==','){a=s.substr(0,i);break;} }int k=s.rfind(',');string b=s.substr(k+1);int x=stoll(a)+1;int y=stoll(b);cout << y-x-1 << endl;return ;
}

C 仰望水面的歪

思路

在草稿纸把玩一下不难得出:一个点经过水面反射到达最终坐标经过的距离等于这个点到水面的距离
那么我们延长这个点到水面的距离,使得这两个线段相同,看下图:
牛客题解的图(太懒我就不画了QVQ):
在这里插入图片描述
容易证明三角形CDE与三角形CEB全等,显然D点的横纵坐标与最终坐标B相同,竖坐标等于 2 ∗ h − z 2*h-z 2hz
因此只要在AD上面的点都满足经过水面反射会到达B点
对D点的坐标进行gcd处理,输出结果即可

code

void solve(){int n,h;cin >> n >> h;for(int i=1;i<=n;++i){int a,b,c;cin >> a >> b >> c;int z=2*h-c;int g=__gcd(__gcd(a,b),z);cout << a/g << " " << b/g << " " << z/g << endl;}return ;
}

D 小心火烛的歪

思路

考点:dfs

数据范围很小,直接纯暴力模拟所有情况即可
需要注意:空地可以堆放多个炸弹,有杂草的地方不能放任何炸弹
我们只需要判断能否将空地全部填上炸弹即可

code

const int N=10;
char a[N][N],b[N][N][N],v[N][N];
int cnt[N][N];
int sum=0;
vector<int> ans,c;
int n,m,q,r;
void dfs(int num){int f=1;for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){if(v[i][j]=='0'){f=0;break;}}if(f){if(r==0){for(auto i : c) ans.push_back(i);}else{if(sum<ans.size()){while(!ans.empty()) ans.pop_back(); for(auto i : c) ans.push_back(i);}}r=1;return ;}for(int k=num;k<=q;++k){int flag=1;for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){if(a[i][j]=='1' && b[k][i][j]=='1'){flag=0;break;}}if(flag){c.push_back(k);sum++;for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){if(b[k][i][j]=='1'){cnt[i][j]++;v[i][j]='1';} }dfs(k+1);sum--;c.pop_back();for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){if(b[k][i][j]=='1'){cnt[i][j]--;if(cnt[i][j]==0) v[i][j]='0';} }}}
}
void solve(){cin >> n >> m >> q;for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){cin >> a[i][j];v[i][j]=a[i][j];}for(int k=1;k<=q;++k){for(int i=1;i<=n;++i)for(int j=1;j<=m;++j){cin >> b[k][i][j];}}dfs(1);if(r==0) cout << -1 << endl;else{cout << ans.size() << endl;for(auto i : ans) cout << i << " ";}return ;
}

E 喜欢切数组的红

思路

考点:前缀和

将数组a进行前缀和处理,另开一个数组b进行正数的前缀和处理
这时分2种情况考虑:

  • 累加数组a中所有元素,如果不能被3整除,直接输出0(说明它不能被分为3个区域)
  • 如果满足,在定义两个动态数组 f , g f,g f,g ,遍历前缀和数组a
    当第一个区域满足 a [ i ] = = a [ n ] / 3 a[i]==a[n]/3 a[i]==a[n]/3 ,将下标存入f数组
    当第二个区域满足 a [ i ] = = a [ n ] / 3 ∗ 2 a[i]==a[n]/3*2 a[i]==a[n]/32 ,将下标存入g数组

双重循环遍历这些区域,如果划分之后的3块区域都含有正数, a n s + + ans++ ans++
最后输出 a n s ans ans

code

const int N=1e6+5;
int a[N],b[N];
void solve(){int n;cin >> n;for(int i=1;i<=n;++i){cin >> a[i];if(a[i]>0) b[i]++;a[i]+=a[i-1];b[i]+=b[i-1];}if(a[n]%3!=0){cout << 0 << endl;return ;}vector<int> f,g;for(int i=1;i<=n;++i){if(a[i]==a[n]/3) f.push_back(i);if(a[i]==a[n]/3*2) g.push_back(i);}int ans=0;for(auto i : f){if(b[i]==0) continue;for(auto j : g){if(b[j]-b[i]>0 && b[n]-b[j]>0) ans++;}}cout << ans << endl;return ;
}

相关文章:

牛客周赛 Round 69(A~E)

文章目录 A 构造C的歪思路code B 不要三句号的歪思路code C 仰望水面的歪思路code D 小心火烛的歪思路code E 喜欢切数组的红思路code 牛客周赛 Round 69 A 构造C的歪 思路 签到题&#xff0c;求出公差d&#xff0c;让最大的数加上公差d即可 code int a,b;cin >> a &…...

Spring Boot 实战:分别基于 MyBatis 与 JdbcTemplate 的数据库操作方法实现与差异分析

1. 数据库新建表 CREATE TABLE table_emp(id INT AUTO_INCREMENT,emp_name CHAR(100),age INT,emp_salary DOUBLE(10,5),PRIMARY KEY(id) );INSERT INTO table_emp(emp_name,age,emp_salary) VALUES("tom",18,200.33); INSERT INTO table_emp(emp_name,age,emp_sala…...

【jmeter】服务器使用jmeter压力测试(从安装到简单压测示例)

一、服务器上安装jmeter 1、官方下载地址&#xff0c;https://jmeter.apache.org/download_jmeter.cgi 2、服务器上用wget下载 # 更新系统 sudo yum update -y# 安装 wget 以便下载 JMeter sudo yum install wget -y# 下载 JMeter 压缩包&#xff08;使用 JMeter 官方网站的最…...

使用Python实现自动化邮件通知:当长时程序运行结束时

使用Python实现自动化邮件通知&#xff1a;当长时程序运行结束时 前提声明 本代码仅供学习和研究使用&#xff0c;不得用于商业用途。请确保在合法合规的前提下使用本代码。 目录 引言项目背景项目设置代码分析 导入所需模块定义邮件发送函数发送邮件 实现步骤结语全部代码…...

框架学习07 - SpringMVC 其他功能实现

一. 拦截器实现HandlerInterceptor 接⼝ SpringMVC 中的 Interceptor 拦截器也是相当重要和相当有⽤的&#xff0c;它的主要作⽤是拦截⽤户的请求并进⾏相应的处理。⽐如通过它来进⾏权限验证&#xff0c;或者是来判断⽤户是否登陆等操作。对于 SpringMVC 拦截器的定义⽅式有两…...

NAT:连接私有与公共网络的关键技术(4/10)

一、NAT 的工作原理 NAT 技术的核心功能是将私有 IP 地址转换为公有 IP 地址&#xff0c;使得内部网络中的设备能够与外部互联网通信。其工作原理主要包括私有 IP 地址到公有 IP 地址的转换、端口号映射以及会话表维护这几个步骤。 私有 IP 地址到公有 IP 地址的转换&#xff1…...

RabbitMQ2:介绍、安装、快速入门、数据隔离

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…...

衡山派D133EBS 开发环境安装及SDK编译烧写镜像烧录

1.创建新文件夹&#xff0c;用来存放SDK包&#xff08;其实本质就是路径要对就ok了&#xff09;&#xff0c;右键鼠标通过Open Git Bash here来打开git 输入命令 git clone --depth1 https://gitee.com/lcsc/luban-lite.git 来拉取&#xff0c;如下所示&#xff1a;&#xff0…...

【Spring MVC】如何获取cookie/session以及响应@RestController的理解,Header的设置

前言 &#x1f31f;&#x1f31f;本期讲解关于SpringMVC的编程之参数传递~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废…...

C++设计模式行为模式———策略模式

文章目录 一、引言二、策略模式三、总结 一、引言 策略模式是一种行为设计模式&#xff0c; 它能让你定义一系列算法&#xff0c; 并将每种算法分别放入独立的类中&#xff0c; 以使算法的对象能够相互替换。与模板方法模式类似&#xff0c;都是以扩展的方式来支持未来的变化。…...

Spring Cloud 中 bootstrap.yml 配置文件详解

Spring Cloud 中 bootstrap.yml 配置文件详解 1. 什么是 bootstrap.yml&#xff1f; bootstrap.yml 是 Spring Cloud 提供的一个特殊配置文件&#xff0c;主要用于初始化 Spring Cloud 应用程序的环境。与常见的 application.yml 不同&#xff0c;bootstrap.yml 在 Spring 应用…...

Java项目实战II基于SpringBoot前后端分离的网吧管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着互联网技术的不断发展…...

ASP网络安全讲述

一 前言   Microsoft Active Server Pages&#xff08;ASP&#xff09;是服务器端脚本编写环境&#xff0c;使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页 、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序…...

DFS 创建分级菜单

菜单级别不确定&#xff0c;想要自适应&#xff0c;且可以折叠的菜单。 数据是一个数组。 <template><div class"Level" ref"Level"></div> </template>import {ref} from vue export default{data(){Level:ref(null),menuData…...

HDU Go Running(最小点覆盖 + 网络流优化)

题目大意&#xff1a;有一条无限长跑道&#xff0c;每个人可以规定自己跑步的方向&#xff0c;起点&#xff0c;跑步起止时间。每个人跑步的速度都是1m/s。最后从监控人员哪里得到了n个报告&#xff0c;每个报告给出了某人在某一时候所在的位置&#xff0c;问跑步的最少可能人数…...

C++设计模式-中介者模式

动机(Motivation) 多个对象相互关联的情况&#xff0c;对象之间常常会维持一种复杂的引用关系&#xff0c;如果遇到一些需求的更改&#xff0c;这种直接的引用关系将面临不断的变化。在这种情况下&#xff0c;可以使用一种”中介对象“来管理对象间的关联关系&#xff0c;避免…...

文件上传与下载服务 | Flask 实战

之前介绍了 droppy 文件共享服务的搭建。但在一些场景中&#xff0c;我们需要在命令行或在 Python 代码中&#xff0c;临时上传和下载文件。这时可以用一个更简单的策略&#xff1a;使用 flask 编写一个临时的 API。 服务端配置 以下是一个简单的 Flask 应用程序代码示例&…...

MySQL 中的排序:索引排序与文件排序

文章目录 MySQL 中的排序&#xff1a;索引排序与文件排序全解析一、引言二、索引排序&#xff08;一&#xff09;原理&#xff08;二&#xff09;示例 三、文件排序&#xff08;一&#xff09;单路排序&#xff08;二&#xff09;双路排序&#xff08;三&#xff09;归并排序 四…...

深入理解React Hooks:使用useState和useEffect

引言 React Hooks是React 16.8引入的一项强大功能&#xff0c;它使函数组件能够使用状态和其他React特性。本文将深入探讨两个最常用的Hooks&#xff1a;useState和useEffect&#xff0c;并通过实际代码示例展示它们的使用方法。 1. 什么是React Hooks&#xff1f; React Ho…...

AWS codebuild + jenkins + github 实践CI/CD

前文 本文使用 Jenkins 结合 CodeBuild, CodeDeploy 实现 Serverless 的 CI/CD 工作流&#xff0c;用于自动化发布已经部署 lambda 函数。 在 AWS 海外区&#xff0c;CI/CD 工作流可以用 codepipeline 这项产品来方便的实现&#xff0c; CICD 基本概念 持续集成( Continuous…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...

React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?

系列回顾&#xff1a; 在上一篇《React核心概念&#xff1a;State是什么&#xff1f;》中&#xff0c;我们学习了如何使用useState让一个组件拥有自己的内部数据&#xff08;State&#xff09;&#xff0c;并通过一个计数器案例&#xff0c;实现了组件的自我更新。这很棒&#…...

前端工具库lodash与lodash-es区别详解

lodash 和 lodash-es 是同一工具库的两个不同版本&#xff0c;核心功能完全一致&#xff0c;主要区别在于模块化格式和优化方式&#xff0c;适合不同的开发环境。以下是详细对比&#xff1a; 1. 模块化格式 lodash 使用 CommonJS 模块格式&#xff08;require/module.exports&a…...

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema&#xff0c;不需要复杂的查询&#xff0c;只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 &#xff1a;在几秒钟…...