2024河南萌新联赛第(三)场 河南大学
B. 正则表达式
题目:
https://ac.nowcoder.com/acm/contest/87865/B
给出n个地址,每个地址的形式为x.x.x.x,找四个x都满足x>=0&&x<=255的个数
思路:
首先定义四个数组和一个字符,然后按题目所给的形式输入,判断四个数组若都满足条件,ans++,最后输出ans。
AC代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int N=1100;
int a[N],b[N],c[N],d[N];
char s;
signed main()
{IOSint n,ans=0;cin>>n;for(int i=1;i<=n;i++){cin>>a[i]>>s>>b[i]>>s>>c[i]>>s>>d[i];if(a[i]>=0&&a[i]<=255&&b[i]>=0&&b[i]<=255&&c[i]>=0&&c[i]<=255&&d[i]>=0&&d[i]<=255)ans++;}cout<<ans<<'\n';
}
C. Circle
题目:
https://ac.nowcoder.com/acm/contest/87865/C
给出一个整数n,求n个圆可以分割的最大区域数
思路:
找规律,一开始看着样例直接写的pow(2,n),想简单了,又花了一下4,5个的情况,发现0,1的时候是pow(2,n),当n>1时,满足n*n-(n-2)。
AC代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
signed main()
{IOSint t;cin>>t;while(t--){int n;cin>>n;if(n<2)cout<<pow(2,n)<<" ";else{cout<<n*n-(n-2)<<" ";}}
}
D. 开心消消乐(Right Version)
题目:
https://ac.nowcoder.com/acm/contest/87865/D
给定一个n个数的数列,可执行若干次操作,每次操作选定两个数𝑙,𝑟(1≤𝑙≤𝑟≤𝑛)l,r(1≤l≤r≤n),使得∀𝑖∈[𝑙,𝑟],𝑎i=ai⨁al。要求l一直递减。求让这个序列全部转换为0的最小操作次数。
思路:
这个题比赛的时候过的人挺少,直接没看,后来别人给我说这道题特别简单,看了一眼真的特别简单,立马写出来。
因为题目已经限制l一直递减了,所以只需要定义一个数组,令a[0]=-1,从a[1]开始,如果a[i]!=a[i-1],就让ans++,最后得出的ans就是答案。
AC代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int N=2e6+20;
int a[N];
signed main()
{IOSint n,ans=0;a[0]=-1;cin>>n;for(int i=1;i<=n;i++){ cin>>a[i];if(a[i]!=a[i-1]){if(a[i]!=0)ans++;}}cout<<ans<<'\n';}
F.累加器
题目:
https://ac.nowcoder.com/acm/contest/87865/F
给出一个数n,每次加1,观察二进制下位数有几位变化,在加了k次1后总共变化了多少。
思路1:
1.跟第一次萌新联赛的题相似,1是每两次出现1次,2是每4次出现1次,依次类推n是每pow(2,n)出现1次。
2.累加,令e=1;sum=sum+x/e;e*=2;当x<e的时候截止
3.再利用前缀和,用x+y次加1二进制下的改变量减去x次加1的改变量。
AC代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int N=2e6;int solve(int x)
{int e=1,sum=0;while(x>=e){sum=sum+x/e;e*=2;}return sum;
}signed main()
{IOSint t;cin>>t;while(t--){int x,y;cin>>x>>y;int ss=solve(x+y)-solve(x);cout<<ss<<'\n';}
}
思路2:
用异或写:
1.首先累加位数的改变量,用bitset定义p,q,s,然后令p=1,进入循环,令q=i,然后s=q^p,异或的性质是相同为0,不同为1,统计异或后1的个数,后面令p=q。不断循环累加异或后1的个数。存在数组a中
2.利用前缀和,a[y+x]-a[x]得出最后答案。
AC代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#include<bitset>
int a[2000010];
bitset<64>p,q,s;int x,y,w=0;void solve()
{cin>>x>>y;cout<<a[y+x]-a[x]<<endl;
}signed main()
{IOSint t=1;cin>>t;p=1;for(int i=1;i<=2000010;i++){q=i;s=p^q;w+=s.count();a[i]=w;p=q;}while(t--){solve();}return 0;
}
J.keillempkill学姐の卷积
题目:
https://ac.nowcoder.com/acm/contest/87865/J
给一个nn的矩阵和一个mm的矩阵(1≤n≤m≤20),卷积操作得出最后结果。
卷积操作是:比如nn比较小,就在mm的矩阵中从头开始先找出与nn数量相同的矩阵,对应位置分别相乘再相加,然后再让列加1,直到覆盖完全部的列,再把行加1,直到把整个mm的矩阵覆盖完全。最后输出一个(m-n+1)*(m-n+1)的矩阵。
思路:
1.首先看for循环吧nn和mm的矩阵输入
2.开for循环,i<=n;j<=n,x=0,y=0;累加ans+=a[i][j]*b[i+x][j+y];当in&&jn的时候就把此时的ans值存入数组里,如果此时的j+y!=0,就让y++,否则x++,并且此时让y重置回0,当i+xm&&j+ym时说明m*m的矩阵已经全被覆盖,结束循环。
3.输出储存的ans的值,当**(i+1)%(m-n+1)==0**时,输出换行。
AC代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
int a[30][30],b[30][30],tt[1000];
signed main()
{IOSint n,m,ans=0,x=0,y=0,s=0;cin>>n>>m;int t=m-n+1;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)cin>>a[i][j];for(int i=1;i<=m;i++)for(int j=1;j<=m;j++)cin>>b[i][j];for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){ans+=a[i][j]*b[i+x][j+y];//cout<<ans<<'\n';if(i==n&&j==n){//cout<<"0"<<'\n';tt[s++]=ans;if(i+x==m&&j+y==m){//tt[s++]=ans;break;}if(j+y!=m)y++;else{x++;y=0;}i=0,j=0;ans=0;//cout<<x<<" "<<y<<'\n';}}}//cout<<s<<'\n';//cout<<"-1"<<'\n';for(int i=0;i<s;i++){cout<<tt[i]<<" ";if((i+1)%t==0)cout<<'\n';}
}
L.SSH
题目:
https://ac.nowcoder.com/acm/contest/87865/L
1.输入m,n,q,m是密钥对,包含一个公钥和一个私钥;n是主机;q代表q次查询
2.输入m行,每行两个字符串代表一个公钥和一个私钥。
3.n组数据,包含一个字符串代表id,和一个整数k代表用户数量,然后是k行,每行一个字符串用户名,一个整数t表示公钥数量,t个字符串表示公钥
4.接下来q行,表示q次查询,每行一个字符串表示用户名,一个字符串表示用户id,一个字符串表示私钥。
思路:
首先用一个map来存公钥,然后再用两个map里面套vector来分别存用户名和私钥,然后利用for循环找是否有满足条件的(细节见代码注释),按要求输出。
AC代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int N=2e5+20;
signed main()
{IOSint m,n,q;cin>>m>>n>>q;map<string,string> a;for(int i=1;i<=m;i++){string s1,s2;cin>>s1>>s2;a[s2]=s1;}map<string,vector<string> > s;map<string,vector<string> > b;for(int i=1;i<=n;i++){string t;int k;cin>>t>>k;for(int j=1;j<=k;j++){string user;cin>>user;s[t].push_back(user);int tt;cin>>tt;for(int cnt=1;cnt<=tt;cnt++){string ss;cin>>ss;b[user].push_back(ss);}}}for(int i=1;i<=q;i++){string s1,s2,s3;cin>>s1>>s2>>s3;int flag=0;for(auto t : s[s2])//将该ip对应的用户名赋给t{if(t==s1)//如果该ip对应的用户名中包含s1{flag=1;break;}}if(flag==0)cout<<"No"<<'\n';else{string ans=a[s3];//所要查询私钥对应的公钥int f=0;for(auto t : b[s1])//将该ip该用户有的公钥赋给t{if(t==ans)//如果该ip该用户有的公钥中有所要查询私钥对应的公钥{f=1;break;}}if(f==0)cout<<"No"<<'\n';elsecout<<"Yes"<<'\n';}}
}
相关文章:
2024河南萌新联赛第(三)场 河南大学
B. 正则表达式 题目: https://ac.nowcoder.com/acm/contest/87865/B 给出n个地址,每个地址的形式为x.x.x.x,找四个x都满足x>0&&x<255的个数 思路: 首先定义四个数组和一个字符,然后按题目所给的形式…...
回溯法---分割回文串
题目:给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。 思路: 第一步:确定参数与返回值。参数为字符串s,分割起始下标startIndex,无返回值 第二…...
DDR等长,到底长度差多少叫等长?
DDR4看这一篇就够了 - 知乎 (zhihu.com) 【全网首发】DDR4 PCB设计规范&设计要点PCB资源PCB联盟网 - Powered by Discuz! (pcbbar.com) 终于看到较为权威的DDR4等长要求了: !!!! 依据这个要求,H616项目的等长线不合格:...
程序员面试题------N皇后问题算法实现
N皇后问题是一个著名的计算机科学问题,它要求在NN的棋盘上放置N个皇后,使得它们之间不能相互攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上。这个问题可以看作是一个回溯算法问题,通过逐步尝试不同的放置位置…...
【C++学习】6、继承
1、什么是继承? 继承描述的是类与类之间的关系,A类继承B类,A类就拥有B类的数据和方法。 继承的方式: 公有继承(public) 保护继承(protected) 私有继承(private&…...
从零开始的MicroPython(三) 按键与外部中断
上一篇:从零开始的MicroPython(二) GPIO及点灯代码 文章目录 前言硬件原理软件原理注意代码编写轮询外部中断其他 前言 点灯是嵌入式GPIO输出的典型,按键则是输入的典型。 硬件原理 按键对角接通。 软件原理 如果是一端接高电平,一端接单…...
Windows下编译安装Kratos
Kratos是一款开源跨平台的多物理场有限元框架。本文记录在Windows下编译Kratos的流程。 Ref. from Kratos KRATOS Multiphysics ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, a…...
汽车-腾讯2023笔试(codefun2000)
题目链接 汽车-腾讯2023笔试(codefun2000) 题目内容 现在塔子哥有 n 个汽车,所有的汽车都在数轴上,每个汽车有1.位置 pos 2.速度 v ,它们都以在数轴上以向右为正方向作匀速直线运动。 塔子哥可以进行任意次以下操作:选择两个汽车…...
软测面试二十问(最新面试)
1.软件测试的流程是什么 参加需求评审会,解决需求疑问---写测试用例---对测试用例进行评审---评审后开始执行测试---提交bug---追踪bug---关闭bug---回归测试---交叉测试---编写测试报告---冒烟测试 2.什么是黑盒测试和白盒测试?它们有何区别 黑盒测试…...
风吸杀虫灯采用新型技术 无公害诱虫捕虫
TH-FD2S】风吸杀虫灯利用害虫的趋光性和对特定波长的光源(如紫外光、蓝光)的敏感性,通过光波引诱害虫成虫扑灯。同时,内置的风扇产生强烈的气流,形成负压区,将害虫迅速吸入到收集器中。害虫在收集器内被风干…...
随手记录第十二话 -- JDK8-21版本的新增特性记录(Lambda,var,switch,instanceof,record,virtual虚拟线程等)
本文主要用于记录jdk8以来的新增特性及使用方法! 1.Java8 Lambda表达式(8) 1.1 方法引用 List<String> list List.of("1", "2", "3");list.forEach(i -> System.out.println(i));//方法引用list.forEach(System.out::println);1.2 接…...
SpringCloud网关 SpringBoot服务 HTTP/HTTPS路由/监听双支持
背景 一般来说SpringCloud Gateway到后面服务的路由属于内网交互,因此路由方式是否是Https就显得不是那么重要了。事实上也确实如此,大多数的应用开发时基本都是直接Http就过去了,不会一开始就是直接上Https。然而随着时间的推移,…...
JavaScript做网页是否过期的处理
通过路由上的参数生成唯一md5和路由上token做验证_md5 token-CSDN博客 前言:基于这篇文章我们做网页是否超时,网页是否过期的处理。打开一个网页允许他在一定时间内可以访问,过了这个时间就不可以访问了,encrypt是h5加密方法&…...
python coding时遇到的问题
Q:只有cpu的时候加载模型 A:checkpoint torch.load(model_path, map_locationtorch.device(‘cpu’)) Q:vscode的文件路径和spyder的不一样 A:在vscode中,右键要用的文件,选择“文件相对路径”...
攻防演练号角吹响,聚铭铭察高级威胁检测系统助您零失分打赢重保攻坚战
在数字化浪潮中,攻防演练成为了衡量网络安全防御力的核心标尺,其重要性与日俱增。这项由政府、行业监管或企业内部主导的安全活动,随着互联网普及而兴起,现已发展成为全球公认的检验网络安全体系效能的标准。它不仅关乎技术实力的…...
个人量化交易兴起!有什么好用的量化软件推荐?迅投QMT量化平台简介!
QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端,拥有高速行情、极速交易、策略交易、多维度风控等专业功能,满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。 适合用QMT的投资者&#x…...
SQL labs-SQL注入(七,sqlmap对于post传参方式的注入,2)
本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。参考:SQL注入之Header注入_sqlmap header注入-CSDN博客 序言: 本文主要讲解基于SQL labs靶场,sqlmap工具进行的post传参方式的SQL注入,…...
SAM 2: Segment Anything in Images and Videos
Introduction 提出的目的: 1.现有的应用像自动驾驶,AR等来说都是需要temporal localization beyond image-level segmentation(时序定位而不仅是图片分割) 2. 一个好的分割模型不应该仅仅局限于图片领域,而是图视频两…...
软件测试面试,如何自我介绍?
又是一年金九银十,相信不少小伙伴都在准备跳槽面试,而面试中一个必不可少的环节就是自我介绍,所以,今天我们就来聊一聊软件测试面试中如何自我介绍。 为什么要自我介绍 在讨论如何自我介绍之前,我们先来讨论一下为…...
力扣第四十七题——全排列II
内容介绍 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输入:nums [1,2,3] 输出:[[1,2,3],…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
