CSP-J Day 3 模拟赛补题报告

姓名:王胤皓,校区:和谐校区,考试时间: 2024 2024 2024 10 10 10 3 3 3 9 : 00 : 00 9:00:00 9:00:00~ 12 : 30 : 00 12:30:00 12:30:00,学号: S 07738 S07738 S07738

请关注作者的 B 站,谢谢~链接

CSP-J Day 3 3 3 模拟赛补题报告

前言

考了我们班 Rank 3 3 3

分数

T1 ip: A c c e p e t e d 100 \color{green}Accepeted\space100 Accepeted 100
T2 same: A c c e p e t e d 100 \color{green}Accepeted\space100 Accepeted 100
T3 box: W r o n g _ a n s w e r 10 \color{red}Wrong\_answer\space10 Wrong_answer 10
T4 party: W r o n g _ a n s w e r 20 \color{red}Wrong\_answer\space20 Wrong_answer 20

T1

题面

在这里插入图片描述

思路

开一个映射数组,下标存的是 ip 地址,内容存的是名称,然后每次询问,直接输出下标所对应的名称,就可以了。

赛时 A c c e p e t e d \color{green}{Accepeted} Accepeted 代码

#include<bits/stdc++.h>
using namespace std;
map<string,string> m;
int main(){freopen("ip.in","r",stdin);freopen("ip.out","w",stdout);int n;cin>>n;while(n--){string a,b;cin>>a>>b;m[b]=a;}int q;cin>>q;while(q--){string c;cin>>c;cout<<m[c]<<"\n";}return 0;
}

T2

题面

在这里插入图片描述

思路

利用双指针找到两个个长度都为 k k k 的不相等的区间,然后双指针后, k k k 就是 l l l 1 1 1,然后按照题目描述模拟,然后逐次判断,最后输出。

代码

#include<bits/stdc++.h>
using namespace std;
int a[1000005],b[1000005];
int main(){freopen("same.in","r",stdin);freopen("same.out","w",stdout);cin.tie(0);ios::sync_with_stdio(false);int t;cin>>t;while(t--){int n;cin>>n;for(int i=1; i<=n; i++) cin>>a[i];for(int i=1; i<=n; i++) cin>>b[i];int l=1,r=n;while(l<r){if(a[l]!=b[l]&&a[r]!=b[r]){l++,r--;}else{break;}}l--;for(int i=1,j=n-l+1; i<=l; i++,j++){swap(a[i],a[j]);} bool flag=0;for(int i=1; i<=n; i++){if(a[i]!=b[i]){flag=1;break;}}if(flag==1) cout<<"No\n";else cout<<"Yes\n";}return 0;
}

T3

题面

在这里插入图片描述

思路

错误思路

按照合并果子的策略,每次合并 m m m 个,最终不够 m m m 个,直接都合起来。

用优先队列实现小顶堆。

正确思路

按照合并果子的策略,每次合并 m m m 个,最终不够 m m m 个,添上不够的数量个 0 0 0,然后再重新执行一遍

用优先队列实现小顶堆。

代码

#include<bits/stdc++.h>
using namespace std;
priority_queue<long long,vector<long long>,greater<long long> > pq,pqq;
int main(){int n,m;cin>>n>>m;long long w;for(int i=1; i<=n; i++){cin>>w;pq.push(w*1ll);pqq.push(w*1ll);}int flag=0;long long cnt=0ll;while(pq.size()>1){long long sum=0ll;int len=pq.size();for(int i=1; i<=min(m,len); i++){sum+=pq.top();pq.pop();}for(int i=len+1; i<=m; i++){flag++;}pq.push(sum);}for(int i=1; i<=flag; i++){pqq.push(0);} while(pqq.size()>1){long long sum=0ll;int len=pqq.size();for(int i=1; i<=m; i++){sum+=pqq.top();pqq.pop();}pqq.push(sum);cnt+=sum;}cout<<cnt<<"\n";return 0;
}

T4

题面

在这里插入图片描述

思路

dfs+分组背包,就没了(唐题)

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=514;
int n,m,cnt,a[N][N],sz[N][2],col[N];
bool f[N],vis[N];
bool dfs(int u,int c){vis[u]=1;col[u]=c;sz[cnt][c]++;for(int i=1; i<=n; i++){if(i!=u&&(!a[i][u]||!a[u][i])){if(vis[i]){if(col[u]==col[i]) return false;}else if(!dfs(i,1-c)) return false;}}return true;
}
int main(){scanf("%d",&n);for(int i=1; i<=n; i++){for(int j=1; j<=n; j++){cin>>a[i][j];}}for(int i=1; i<=n; i++){if(!vis[i]){cnt++;if(!dfs(i,0)){cout<<"No\n";return 0;}}}m=n>>1;f[0]=1;for(int i=1; i<=cnt; i++){for(int j=m;j;j--){if(j<sz[i][0]&&j<sz[i][1]) break;if(j>=sz[i][0]) f[j]|=f[j-sz[i][0]];if(j>=sz[i][1]) f[j]|=f[j-sz[i][1]];}}for(int j=m; j>=1; j--){if(f[j]){cout<<"Yes\n"<<n-j;return 0;}}return 0;
}

请关注作者的 B 站,谢谢~链接

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

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

相关文章

[20241003] 狂飙500天,国产大模型如何突破商业化之困?

大模型加速狂飙&#xff0c;AI商业化却面临巨大鸿沟。 一方面&#xff0c;传统企业不知道怎么将AI融入原始业务&#xff0c;另一方面&#xff0c;AI企业难以找到合适的变现方式。AI企业究竟该如何突破商业化之困&#xff1f;B端和C端&#xff0c;呈现出两种不同的路径。 纵…

Pikachu-暴力破解-验证码绕过(on client)

访问页面&#xff0c; 从burpsuite 上看到返回的源代码&#xff1b; 验证码生成时通过 createCode 方法生成&#xff0c;在前端页面生成&#xff1b; 同时也是在前端做的校验&#xff1b; 直接验证&#xff1b;F12 -- 网络&#xff0c;随便输入个账号、密码、验证码&#xff0…

OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,当初有的问题未解决,目前新版未尝试

OceanBase—02&#xff08;入门篇——对于单副本单节点&#xff0c;由1个observer扩容为3个observer集群&#xff09;——之前的记录&#xff0c;有的问题未解决&#xff0c;新版未尝试 1、前言—安装单副本单节点集群1.1 docker安装OB 2、查看现有集群情况2.1 进入容器&#x…

计算机网络的整体认识---网络协议,网络传输过程

计算机网络背景 网络发展 独立模式: 计算机之间相互独立; 网络互联: 多台计算机连接在一起, 完成数据共享; 局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 广域网WAN: 将远隔千里的计算机都连在一起;所谓 "局域网" 和 "广域网" 只是一个相…

【EXCEL数据处理】000011 案列 EXCEL带有三角形图标的单元格转换,和文本日期格式转换。

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【EXCEL数据处理】000011 案列 EXCEL带有三角形图标的单元格转换。使用…

基于SpringBoot+Vue+MySQL的民宿预订平台

系统展示 用户前台界面 管理员后台界面 商家后台界面 系统背景 随着旅游业的蓬勃发展&#xff0c;民宿作为一种独特的住宿方式&#xff0c;受到了越来越多游客的青睐。然而&#xff0c;传统的民宿预定方式往往存在信息不对称、效率低下等问题&#xff0c;难以满足游客的个性化需…

npm切换到淘宝镜像

1、输入以下命令后回车&#xff0c;npm切换至淘宝镜像 npm config set registry https://registry.npmmirror.com 2、输入以下命令后回车&#xff0c;检查是否切换成功 npm config get registry 若返回此信息&#xff0c;表示切换成功 3、切换后就可使用淘宝镜像加快npm包的…

es6语法

es6语法 let和const命令 let let声明的变量&#xff0c;只在let命令所在的代码块内有效 {let a 10;var b 20; } console.log(a); //a is not defined console.log(b); //202.不存在遍历提升现象 var命令会发生变量提升现象&#xff0c;即变量可以在声明之前使用&#xf…

Cpp::STL—vector类的模拟实现(11)

文章目录 前言一、各函数接口总览二、默认成员函数vector();vector(size_t n, const T& val T( ));template< class InputIterator> vector(InputIterator first, InputIterator last);vector(const vector<T>& v);vector<T>& operator(const v…

Oracle exadata存储节点更换内存操作及报错处理

1.报错信息 在进行Oracle exadata巡检时&#xff0c;发现cell节点有一根内存报错&#xff0c;报错信息如下&#xff1a; 报错内存位置为&#xff1a;CPU1 P1/D2槽位 报错内存信息&#xff1a; 根据报错信息确认内存PN号、大小等息&#xff0c;并将信息反馈公司&#xff0c;及…

【java数据结构】顺序表

【java数据结构】顺序表 一、了解List接口二、顺序表2.1 线性表2.2 顺序表2.2.1 顺序表接口的实现给数组增加新元素判断数组数据是否为满在 pos 位置新增元素判定是否包含某个元素查找某个元素对应的位置获取 pos 位置的元素给 pos 位置的元素设为 value删除第一次出现的关键字…

数据结构:将复杂的现实问题简化为计算机可以理解和处理的形式

整句话的总体意义是&#xff0c;**数据结构是用于将现实世界中的实体和关系抽象为数学模型&#xff0c;并在计算机中表示和实现的关键工具**。它不仅包括如何存储数据&#xff0c;还包括对这些数据的操作&#xff0c;能够有效支持计算机程序的运行。通过这一过程&#xff0c;数…

语言模型发展史

四个阶段 第一阶段&#xff1a;基于规则和统计的语言模型 由人工设计特征并使用统计方法对固定长度的文本窗口序列进行建模分析&#xff0c;这种建模方式也被称为N-gram语言模型。 优点&#xff1a; 1&#xff09;采用极大似然估计, 参数易训练 2&#xff09;完全包含了前n-…

Spring(学习笔记)

<context:annotation-config/>是 Spring 配置文件中的一个标签&#xff0c;用于开启注解配置功能。这个标签可以让 Spring 容器识别并处理使用注解定义的 bean。例如&#xff0c;可以使用 Autowired 注解自动装配 bean&#xff0c;或者使用 Component 注解将类标记为 bea…

虚拟机三种网络模式详解

在电脑里开一台虚拟机&#xff0c;是再常见不过的操作了。无论是用虚拟机玩只有旧版本系统能运行的游戏&#xff0c;还是用来学习Linux、跑跑应用程序都是很好的。而这其中&#xff0c;虚拟机网络是绝对绕不过去的。本篇文章通俗易懂的介绍了常见的虚拟网络提供的三种网络链接模…

鸿蒙OpenHarmony

开源鸿蒙系统编译指南 Ubuntu编译环境配置第一步&#xff1a;Shell 改 Bash第二步&#xff1a;安装Git和安装pip3工具第三步&#xff1a;远程仓配置第四步&#xff1a;拉取代码第五步&#xff1a;安装编译环境第六步&#xff1a;本地编译源码 Windows开发环境配置第一步&#x…

dubbo微服务

一.启动nacos和redis 1.虚拟机查看是否开启nacos和redis docker ps2.查看是否安装nacos和redis docker ps -a3.启动nacos和redis docker start nacos docker start redis-6379 docker ps二.创建三个idea的maven项目 1.第一个项目dubboapidemo 2.1.1向pom.xml里添加依赖 …

x-cmd pkg | qrencode - 命令行生成二维码,小白也能轻松上手!

目录 简介首次用户功能特点竞品和相关项目进一步阅读 简介 qrencode 是一个用于生成二维码的命令行工具。它可以将文本、URL、电话号码等信息转换为二维码图像。生成的二维码图像可以保存为图片文件&#xff0c;方便在电子文档、网页、移动应用等各种场景中使用。 它支持的二维…

深入理解 Solidity 中的支付与转账:安全高效的资金管理攻略

在 Solidity 中&#xff0c;支付和转账是非常常见的操作&#xff0c;尤其是在涉及资金的合约中&#xff0c;比如拍卖、众筹、托管等。Solidity 提供了几种不同的方式来处理 Ether 转账&#xff0c;包括 transfer、send 和 call&#xff0c;每种方式的安全性、灵活性和复杂度各有…

SKD4(note上)

微软提供了图形的界面API&#xff0c;叫GDI 如果你想画某个窗口&#xff0c;你必须拿到此窗口的HDC #include <windows.h> #include<tchar.h> #include <stdio.h> #include <strsafe.h> #include <string>/*鼠标消息 * 键盘消息 * Onkeydown * …