牛客小白月赛82(A~C)

目录

A.谜题:质数

输入描述

输出描述

输入

输出

解析

B.Kevin逛超市 2 (简单版本)

输入描述

输出描述

输入

输出

思路

C.被遗忘的书籍

题目描述

输入描述

输出描述

输入

输出

输入

输出

思路


 

比赛链接

牛客小白月赛82_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)

A.谜题:质数

 题目描述

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

给出一个质数 n,请求出一个质数 m,使得 n+m 不是质数。
其中,质数是指大于 1 的自然数,除了 1 和自身外,不能被其他自然数整除的数。

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

输入描述

仅输入一行,包含一个整数 n(2≤n≤2⋅105)n(2\leq n\leq 2\cdot 10^5)n(2≤n≤2⋅105),保证 nnn 是质数。

输出描述

仅输出一行。包含一个质数 m(2≤m≤2⋅1e5),表示答案。如果有多个可行的答案,请输出任意一个。可以证明,在题目所给条件下一定有解。

示例1

输入

复制

11

输出

复制

3

解析

此题解法有很多,由于m很小,这里采用了纯暴力思想, 用线性筛法筛出所有的质数,然后枚举满足条件的m即可。

#include <iostream>
#include <algorithm>using namespace std;const int N= 2e5+10;int primes[N], cnt;
bool st[N];void get_primes(int n)
{for (int i = 2; i <= n; i ++ ){if (!st[i]) primes[cnt ++ ] = i;for (int j = 0; primes[j] <= n / i; j ++ ){st[primes[j] * i] = true;if (i % primes[j] == 0) break;}}
}int main()
{int n;cin >> n;get_primes(N-1);for(int i=2;i<=2e5;i++)if(st[i+n]) {cout<<i;break;}return 0;
}

B.Kevin逛超市 2 (简单版本)

 链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

两个版本唯一的不同是:简单版本中折扣券和立减券的数量均为 111,困难版本中折扣券和立减券的数量为给定值。

氧气少年在逛超市。

他总共买了 n 件商品,第 i 种商品的价格为 pi​。

超市有下面的打折政策:

  •  每名顾客有 1 张折扣券,可以让一件商品的价格打折(如果此商品原价为 pi​,那么使用此优惠券后,价格变为 pi×x%)。
  •  每名顾客有 1 张立减券,可以让一件商品的价格减小 y(如果此商品原价小于 y,那么可以花费 0 买下)。
  •  每个商品最多使用 1 张优惠券。

请求出氧气少年可能付出的最小的花费。

输入描述

第一行包含一个整数 T(1≤T≤1e5),表示测试用例的组数。对于每组测试用例:第一行包含三个整数 n(1≤n≤2⋅1e5),x(1≤x≤99),y(1≤y≤1e4)。
第二行包含 n 个整数 p1…pn (1≤pi≤1e4),表示商品的价格。保证对于所有的测试用例,n 的总和不超过 2⋅1e5。

输出描述

对于每组测试用例:
仅输出一行,包含一个实数,表示答案。如果你的答案和标准答案的绝对误差或相对误差不超过 1e−4,则你的答案会被视为正确。

示例1

输入

复制

2
3 50 50
100 100 50
3 50 200
95 100 50

输出

复制

150.000000000000
97.500000000000

思路

贪心思想,让最大的两个采用上述两种方式,至于具体用哪个,无非两种方式,最大的用第一个方案,第二大的用第二个方案,反之又是一种,可以都枚举,然后取最小值,注意特判只有一个的时候。

#include<bits/stdc++.h>
#define int long long
#define d lld
using namespace std;
const int N=2e5+10;
int t,n;
double x,y;
double p[N];
bool st[N];void solve() {cin>>n>>x>>y;for(int i=1;i<=n;i++) {cin>>p[i];}sort(p+1,p+n+1);if(n==1) {double ans=0;double y1=p[1]*x/100;double y2=max(0.0,p[1]-y);ans=min(y1,y2);printf("%.10lf\n",ans);}else {double ans=0;for(int i=1;i<=n-2;i++) ans+=p[i];double y1=p[n]*x/100;double y2=max(0.0,p[n-1]-y);ans=ans+y1+y2;double ans1=0;for(int i=1;i<=n-2;i++) ans1+=p[i];y1=p[n-1]*x/100;y2=max(0.0,p[n]-y);ans1=ans1+y1+y2;printf("%.10lf\n",min(ans,ans1));        }
}signed main() {cin>>t;while(t--) solve();return 0;
}

C.被遗忘的书籍

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

这里有一本包含 nnn 个小写英文字母的书籍,可惜的是书上的字体很模糊,并不知道具体的字符。但我们已经知道的是,这本书包含子串 "txt"。

其中,子串是指字符串中连续的一段字符序列。

请求出这本书籍的内容的可能的种类数量。答案对 998244353取模。

输入描述

第一行包含一个整数 T(1≤T≤2⋅1e5),表示测试用例的组数。对于每组测试用例:仅输入一行,包含一个整数 n(1≤n≤2⋅1e5)。

输出描述

对于每组测试用例:
仅输出一行,包含一个整数,表示答案。

示例1

输入

复制

3
2
3
4

输出

复制

0
1
52

示例2

输入

复制

3
199998
199999
200000

输出

复制

866730100
551952279
943410719

思路

 这题给人的第一感觉是组合计数,但是用状态压缩的思想更加方便。

引入四种状态

#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N=2e5+10,mod=998244353;
int t,n;
int dp[N][5];
signed main() {dp[0][0]=1;for(int i=1;i<N;i++) {dp[i][0]=(dp[i][0]+dp[i-1][0]*25+dp[i-1][1]*24+dp[i-1][2]*25)%mod;dp[i][1]=(dp[i][1]+dp[i-1][0]+dp[i-1][1])%mod;dp[i][2]=(dp[i][2]+dp[i-1][1])%mod;dp[i][3]=(dp[i][3]+dp[i-1][2]+dp[i-1][3]*26)%mod;}cin>>t;while(t--) {cin>>n;cout<<dp[n][3]<<"\n";}return 0;
}

 

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

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

相关文章

C++基础 -28- 友元

友元用于访问类中的所有数据成员 类中的私有成员&#xff0c;类外不可访问 定义友元的格式&#xff08;友元函数必须要在类内&#xff0c;声明&#xff09; friend void show(person &b); 使用友元访问类的所有成员 #include "iostream"using namespace std…

Istio可观测性

Istio可观测性 image-20231129072302901 前言 Istio 为网格内所有的服务通信生成详细的遥测数据。这种遥测技术提供了服务行为的可观测性&#xff0c;使运维人员能够排查故障、维护和优化应用程序&#xff0c;而不会给开发人员带来其他额外的负担。通过 Istio&#xff0c;运维…

好用的桌面管理软件推荐

随着电脑的普及&#xff0c;桌面管理软件已经成为我们日常生活和工作中不可或缺的一部分。一个好的桌面管理软件可以帮助我们更高效地组织和管理电脑上的文件和应用程序&#xff0c;提高我们的工作效率。下面&#xff0c;我将为大家推荐几款好用的桌面管理软件。 1、腾讯桌面整…

Nacos 注册中心下载到搭建详细步骤【微服务】

文章目录 一、下载与安装二、Nacos 服务注册1. 引入依赖2. 修改配置文件3. 开启 Nacos 注解4. 启动项目 三、Nacos 服务集群1. 模拟多实例部署2. 配置集群属性3. 服务权重配置 四、Nacos 环境隔离五、Nacos 注册中心原理1. Nacos 与 Eureka 比较2. 配置非临时实例 一、下载与安…

LeNet对MNIST 数据集中的图像进行分类--keras实现

我们将训练一个卷积神经网络来对 MNIST 数据库中的图像进行分类&#xff0c;可以与前面所提到的CNN实现对比CNN对 MNIST 数据库中的图像进行分类-CSDN博客 加载 MNIST 数据库 MNIST 是机器学习领域最著名的数据集之一。 它有 70,000 张手写数字图像 - 下载非常简单 - 图像尺…

MMdetection3.0 问题:DETR验证集上AP值全为0.0000

MMdetection3.0 问题&#xff1a;DETR验证集上AP值全为0.0000 条件&#xff1a; 1、选择的是NWPU-VHR-10数据集&#xff0c;其中训练集455张&#xff0c;验证、测试相同均为195张。 2、在Faster-rcnn、YOLOv3模型上均能训练成功&#xff0c;但是在DETR训练时&#xff0c;出现验…

《地理信息系统原理》笔记/期末复习资料(7. 空间分析)

目录 7. 空间分析 7.1 空间分析的内容与步骤 7.2 数据检索及表格分析 7.2.1 属性统计分析 7.2.2 布尔逻辑查询 7.2.3 空间数据库查询语言 7.2.4 重分类&#xff0c;边界消除与合并 7.3 叠置分析 7.3.1 栅格系统的叠加分析 7.3.2 矢量系统的叠加分析&#xff08;拓扑叠…

视频后期特效处理软件 Motion 5 mac中文版

Motion mac是一款运动图形和视频合成软件&#xff0c;适用于Mac OS平台。 Motion mac软件特点 - 精美的效果&#xff1a;Motion提供了多种高质量的运动图形和视频效果&#xff0c;例如3D效果、烟雾效果、粒子效果等&#xff0c;方便用户制作出丰富多彩的视频和动画。 - 高效的工…

设计模式-结构型模式之桥接设计模式

文章目录 三、桥接模式 三、桥接模式 桥接模式&#xff08;Bridge&#xff09;是用于把抽象化与实现化解耦&#xff0c;使得二者可以独立变化。它通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。 这种模式涉及到一个作为桥接的接口&#xff0c;使得实体类…

Windows本地搭建Emby媒体库服务器并实现远程访问「内网穿透」

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中&#xff0c;观看视频绝对是主力应用场景之一&…

jQuery选择器、操作DOM、事件处理机制、动画、ADJX操作知识点梳理

jQuery 核心理念就是写的更少&#xff0c;做的更多实现的代码更加简洁有效的提高开发效率 jQuery跟JavaScript的用法是不一样的 跟jQuery相继诞生的JavaScript库还有很多&#xff0c;不包括node.js 关于代码$("li").get(0)&#xff0c;获取DOM对象 jQuery对象声…

前缀和 LeetCode1094 拼车

1094. 拼车 车上最初有 capacity 个空座位。车 只能 向一个方向行驶&#xff08;也就是说&#xff0c;不允许掉头或改变方向&#xff09; 给定整数 capacity 和一个数组 trips , trip[i] [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassengersi 乘客&#xff0c;接…

Tomcat 漏洞修复

1、去掉请求响应中Server信息 修复方法&#xff1a; 在Tomcat的配置文件的Connector中增加 server" " &#xff0c;server 的值可以改成你任意想返回的值。

Elasticsearch:什么是自然语言处理(NLP)?

自然语言处理定义 自然语言处理 (natural language processing - NLP) 是人工智能 (AI) 的一种形式&#xff0c;专注于计算机和人们使用人类语言进行交互的方式。 NLP 技术帮助计算机使用我们的自然交流模式&#xff08;语音和书面文本&#xff09;来分析、理解和响应我们。 自…

一进三出宿舍限电模块的改造升级

一进三出宿舍限电模块改造升级石家庄光大远通电气有限公司智能模块功能特点&#xff1a; 电能控制功能&#xff1a;可实施剩余电量管理&#xff0c;电量用完时将自动断电&#xff1b; 剩余电量可视报警提示功能&#xff1a;剩余电量可视&#xff0c;并当电量剩余5度时&#xff…

C#和MySQL技巧分享:日期的模糊查询

文章目录 前言一、EF Core 模糊查询二、MySql 日期模糊查询分析和优化2.1 测试环境准备2.1.1 创建数据库2.1.2 查看测试数据 2.2 查询日期的运行效率对比2.3 运行效率优化 三、EF Core 模糊查询优化3.1 字符串转日期3.2 使用日期格式查询 四、优化建议总结 前言 在处理数据库查…

go开发之个人微信号机器人开发

简要描述&#xff1a; 下载消息中的文件 请求URL&#xff1a; http://域名地址/getMsgFile 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型…

Linux Spug自动化运维平台本地部署与公网远程访问

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件…

版本控制系统Git学习笔记-Git分支操作

文章目录 概述一、Git分支简介1.1 基本概念1.2 创建分支1.3 分支切换1.4 删除分支 二、新建和合并分支2.1 工作流程示意图2.2 新建分支2.3 合并分支2.4 分支示例2.4.1 当前除了主分支&#xff0c;再次创建了两个分支2.4.2 先合并test1分支2.4.3 合并testbranch分支 2.5 解决合并…