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

2023河南萌新联赛第(二)场 南阳理工学院

A. 国际旅行Ⅰ

题目:

在这里插入图片描述

思路:

因为题意上每个国家可以相互到达,所以只需要排序,输出第k小的值就可以了。

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[1010];
signed main()
{IOSint n,m,q,u,v,k;cin>>n>>m>>q;for(int i=0;i<n;i++)cin>>a[i];for(int i=1;i<=m;i++){cin>>u>>v;}sort(a,a+n);for(int i=1;i<=q;i++){cin>>k;cout<<a[k-1]<<'\n';}
}

D.A*BBBB

题目:

在这里插入图片描述

思路:

因为数据范围特别大,如果用高精乘的话会时间超限,但是题目里面说b的每一位数字都是一样的,所以就把该数字题出来,后面都是1*1,只需要用a乘一个个位数,然后再错位相加。

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;
typedef pair<int,int> PII;
const int N=2e6+20;
int a[N],ans[N],num[N],b[N];
signed main()
{IOSint t;cin>>t;while(t--){memset(a,0,sizeof(a));string s1,s2;cin>>s1>>s2;reverse(s1.begin(),s1.end());int n=s1.size();for(int i=0;i<n;i++){b[i]=s1[i]-'0';a[i]+=b[i]*(s2[0]-'0');a[i+1]+=a[i]/10;a[i]%=10;
//			a[i]*=(s2[0]-'0');
//			if(a[i]>=10)
//			{
//				a[i+1]+=a[i]/10;
//				a[i]%=10;
//			}}
//		for(int i=0;i<n;i++)
//		{
//			if(a[i]>=10)
//			{
//				a[i+1]+=a[i]/10;
//				a[i]%=10;
//			}
//		}if(a[n]==0) n--;reverse(a,a+n+1);int m=s2.size();ans[0]=a[0];for(int i=1;i<=n;i++){ans[i]=ans[i-1]+a[i];}int r=-1,l=-m-1;int ss=n+m-1;for(int i=0;i<=ss;i++){r++;l++;int rr,ll;if(r>n) rr=ans[n];else rr=ans[r];if(l<0) ll=0;else ll=ans[l];num[i]=rr-ll;}for(int i=ss;i>=1;i--){if(num[i]>=10){num[i-1]+=num[i]/10;num[i]%=10;}}int dd=0;for(int i=0;i<=ss;i++){if(num[i]==0&&dd==0&&i!=ss) continue;dd=1;cout<<num[i];}cout<<'\n';}
}

F. 水灵灵的小学弟

题目:

在这里插入图片描述

思路:

一开始一位是个博弈题,刚想开写,发现两个人的字母缩写相同直接输出就可以了。

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 a,b;cin>>a>>b;cout<<"DHY"<<'\n';}
}

H.狼狼的备忘录

题目:

在这里插入图片描述

思路:

一道模拟题,用了一个map里面套set,如果mp[id]的大小为空的话,就往里面存,否则,遍历这个set,如果mp[id]中有比该字符串长的字符串,就需要判断该字符串是否为其后缀,遍历完后如果不是mp[id]任何一个的字符串,就存入里面;如果该字符比前面已存入的长,就要遍历这个set,看谁是该字符串的后缀,删掉。最后从头输出map。

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 n;cin>>n;map<string,set<string> > mp;for(int i=0;i<n;i++){string id;int op;cin>>id>>op;while(op--){string x;cin>>x;if(mp[id].empty())mp[id].insert(x);else{int flag=1;vector<string> q;for(auto tt:mp[id]){if(tt.size()>=x.size()){int k=tt.rfind(x);if(k!=-1){if(k+x.size()==tt.size())flag=0;}}else{int k=x.rfind(tt);if(k!=-1){if(k+tt.size()==x.size())q.push_back(tt);}}}if(flag) mp[id].insert(x);if(!q.empty()){for(auto ss:q) mp[id].erase(ss);}}}}cout<<mp.size()<<'\n';for(auto i:mp){cout<<i.first<<" "<<i.second.size()<<" ";for(auto j:i.second)cout<<j<<" ";cout<<'\n';}}

I.重生之zbk要拿回属于他的一切

题目:

在这里插入图片描述

思路:

暴力遍历一遍就可以了。

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 n,t=0;cin>>n;string s;cin>>s;for(int i=0;i<n;i++){//cout<<s[i]<<" ";if(s[i]=='c'){if(s[i+1]=='h'&&s[i+2]=='u'&&s[i+3]=='a'&&s[i+4]=='n'){t++;s[i]='s';s[i+1]='s';s[i+2]='s';s[i+3]='s';s[i+4]='s';}}}cout<<t<<'\n';
}

J. 这是签到

题目:

在这里插入图片描述

思路:

数据范围特别小,我直接纯暴力写的,根据下面给的33的公式,推出来4,5的,直接暴力给a了。在这里插入图片描述
根据3
3的行列式可以得出,最终结果是主对角线对应的乘积减去副对角线对应的乘积的和。比如从左上出发最长的正对角线对应的是从右上出发最长的正对角线相减;左上的正对角线右边的一个对角线加上左下对应右上的正对角线右边的一个对角线加上左上,依次类推,可以得出4,5的公式。

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[10][10],s[10];
int ss=INT_MAX;
signed main()
{IOSint n,m;cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}int t=min(n,m);s[1]=a[1][1];s[2]=a[1][1]*a[2][2]-a[1][2]*a[2][1];s[3]=((a[1][1]*a[2][2]*a[3][3]-a[1][3]*a[2][2]*a[3][1])+(a[1][2]*a[2][3]*a[3][1]-a[1][1]*a[2][3]*a[3][2])+(a[1][3]*a[2][1]*a[3][2]-a[1][2]*a[2][1]*a[3][3]));//cout<<s[3]<<'\n';s[4]=((a[1][1]*a[2][2]*a[3][3]*a[4][4]-a[1][4]*a[2][3]*a[3][2]*a[4][1])+(a[1][2]*a[2][3]*a[3][4]*a[4][1]-a[2][4]*a[3][3]*a[4][2]*a[1][1])+(a[1][3]*a[2][4]*a[3][1]*a[4][2]-a[3][4]*a[4][3]*a[1][2]*a[2][1])+(a[2][1]*a[3][2]*a[4][3]*a[1][4]-a[1][3]*a[2][2]*a[3][1]*a[4][4]));s[5]=((a[1][1]*a[2][2]*a[3][3]*a[4][4]*a[5][5]-a[1][5]*a[2][4]*a[3][3]*a[4][2]*a[5][1])+(a[1][2]*a[2][3]*a[3][4]*a[4][5]*a[5][1]-a[2][5]*a[3][4]*a[4][3]*a[5][2]*a[1][1])+(a[1][3]*a[2][4]*a[3][5]*a[4][1]*a[5][2]-a[3][5]*a[4][4]*a[5][3]*a[1][2]*a[2][1])+(a[1][4]*a[2][5]*a[3][1]*a[4][2]*a[5][3]-a[4][5]*a[5][4]*a[1][3]*a[2][2]*a[3][1])+(a[1][5]*a[2][1]*a[3][2]*a[4][3]*a[5][4]-a[5][5]*a[1][4]*a[2][3]*a[3][2]*a[4][1]));//int ss=INT_MAX;for(int i=1;i<=t;i++){//cout<<s[i]<<" ";ss=min(s[i],ss);}if(n==m)cout<<ss<<'\n';else{if(ss<=0)cout<<ss<<'\n';elsecout<<"0"<<'\n';}
}
http://www.lryc.cn/news/406913.html

相关文章:

  • 使用Docker Compose给自己上传的JAR打包成镜像并自动启动容器
  • NET8部署Kestrel服务HTTPS深入解读TLS协议之Certificate证书
  • DML数据库的数据类型
  • @RequestParam和@PathVariable 处理 HTTP 请求参数的注解
  • 《代码大全》读书笔记-第Ⅰ部分 奠定基础
  • 杰发科技Bootloader(1)—— Keil配置地址
  • 338. 比特位计数
  • flask后端+vue前端——后端怎么发文件给前端?
  • 计算机毕业设计django+hadoop+scrapy租房可视化 租房推荐系统 租房大屏可视化 租房爬虫 spark 58同城租房爬虫 房源推荐系统
  • 【Tomcat】Mac M3 Pro安装Tomcat7
  • Spring Boot(八十二):SpringBoot通过rsa实现API加密
  • 巴黎奥运启幕 PLM系统助力中国制造闪耀全球
  • 基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(一)|| RISC / 底层代码执行步骤 / 汇编指令
  • 【JavaScript】01数组原型对象的最后一个元素、计数器
  • 解决R语言找不到系统库导致的报错
  • Java高并发理论基础
  • Spring事件机制
  • vue+canvas音频可视化
  • 俊昭stm32笔记
  • W30-python03-pytest+selenium+allure访问百度网站实例
  • 如何在 Debian 8 上安装和使用 PostgreSQL 9.4
  • 【微信小程序】微信小程序设置本地背景图片在真机无法显示的解决方案
  • Arthas在线诊断案例实战整理
  • 使用 XRDP 远程linux主机
  • 学习小型gpt源码(自用)
  • @Transactional使用的注意事项
  • 快手可灵视频生成大模型全方位测评
  • 【JavaScript】`Map` 数据结构
  • Ubuntu22.04使用NVM安装多版本Node.js和版本切换
  • 基于C51和OLED12864实现Goole小恐龙