【牛客训练记录】中国地质大学(武汉)2024年新生赛(同步赛)

news/2025/2/12 17:46:31/文章来源:https://www.cnblogs.com/longxingx/p/18522520

训练情况

赛后反思

B题大模拟急到红温了,WA了四发,未考虑到部分细节情况

A题

直接输出 \(x-1\) 即可。

#define int long longusing namespace std;void solve(){int x; cin>>x;cout<<x-1;	
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

B题

我们使用队列容器来记录某一天的预约队列,按照题目要求在每一天开始的时候优先把预约的处理掉,然后再按照时间顺序处理每个用户的请求,书的部分我们容易发现它是个栈,我们使用 stack 维护即可,处理好题目中的细节情况即可。

#include <bits/stdc++.h>
#define int long longusing namespace std;const int N = 3e4 + 3;int n,m;vector<int> r[N];
map<int,bool> rvis;
map<int,int> book;
stack<int> s;void solve(){cin>>n>>m;for(int i = 1;i<=n;i++) s.push(i);int ll = 1,rr = 1;while(m--){int day,id; string opt;cin>>day>>opt>>id;rr = day;for(int dd = ll;dd<=rr;dd++){for(int i = 0;i<r[dd].size();i++){rvis[r[dd][i]] = 0;if(!s.size()) continue;book[r[dd][i]] = s.top();s.pop();}}ll = day+1;if(opt == "RESERVE"){int d; cin>>d;if(rvis[id]||book[id]){cout<<0<<endl;continue;}rvis[id] = 1;r[day+d].push_back(id);cout<<1<<endl;} else if(opt == "BORROW"){if(book[id]||s.size() == 0||rvis[id]){cout<<0<<endl;continue;}book[id] = s.top();cout<<s.top()<<endl;s.pop();}else if(opt == "RETURN"){if(!book[id]){cout<<0<<endl;continue;}s.push(book[id]);cout<<book[id]<<endl;book[id] = 0;}else if(opt == "QUERY"){cout<<book[id]<<endl;}}
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

C题

我们想要判断答案最后能否为 \(0\),我们易知重复的与操作答案会越来越小,所以我们只需要把数列中所有元素按位与即可,判断最后按位与的答案是否为 0 即可。

#include <bits/stdc++.h>
#define int long longusing namespace std;void solve(){int n; cin>>n;vector<int> a(n + 1);for(int i = 1;i<=n;i++) cin>>a[i];int res = a[1];for(int i = 2;i<=n;i++) res &= a[i];if(res == 0) cout<<"Yes"<<endl;else cout<<"No"<<endl;	
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

E题

这题我们观察到数据范围较小,我们可以使用深度优先搜索(DFS)枚举出所有的技能释放方案,再直接模拟即可,最后答案取大值。

#include <bits/stdc++.h>
#define int long longusing namespace std;const int N = 100;int n,a;
int d[N],c[N],last[N];
int ans = 0;void pd(){// c[1] = 4,c[2] = 1,c[3] = 2,c[4] = 4,c[5] = 3;int res = 0;int nq = 0;int flag = 0;for(int i = 1;i<=n;i++){if(c[i] == 1){if(flag == i) res+=2*d[i];else res+=d[i];}else if(c[i] == 2) nq+=a;else if(c[i] == 3){if(flag == i) res+=2*nq;else res+=nq;}else if(c[i] == 4) flag = i+1;// cout<<res<<endl;}ans = max(ans,res);
}void dfs(int x){if(x > n){// for(int i = 1;i<=n;i++) cout<<c[i]<<" ";// cout<<endl;pd();return;}for(int i = 1;i<=4;i++){if(x-last[i]<=2) continue;c[x] = i;int tmp = last[i];last[i] = x;dfs(x + 1);c[x] = 0;last[i] = tmp;}
}void solve(){cin>>n>>a;for(int i = 1;i<=n;i++) cin>>d[i];for(int i = 1;i<=4;i++) last[i] = -10;// pd();dfs(1);	cout<<ans<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

G题

我们观察题目可知,需要求区间 \([l,r]\) 偶数的个数,数据范围允许遍历,我们直接遍历判断即可。

#include <bits/stdc++.h>
#define int long longusing namespace std;void solve(){int l,r; cin>>l>>r;	int ans = 0;for(int i = l;i<=r;i++){if(i%2==0) ans++;}cout<<ans<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

H题

首先题数相同,我们只需要记录字符串的长度的出现次数即可,设同一通过题数的队伍数为 \(n\),显然所有罚时的排列组合为 \(n!\),最后我们乘法原理即可算出最终答案。

#include <bits/stdc++.h>
#define int long longusing namespace std;const int mod = 1e9 + 7;int cnt[507];int jc(int x){int ans = 1;for(int i = 1;i<=x;i++) ans*=i,ans%=mod;return ans%mod;
}void solve(){int n; cin>>n;for(int i = 1;i<=n;i++){string s; cin>>s;cnt[s.size()]++;}	int ans = 1;for(int i = 1;i<=26;i++){if(!cnt[i]||cnt[i]==1) continue;ans *= jc(cnt[i]);ans %= mod;}cout<<ans<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

L题

我们发现每次操作都会删掉前面两个元素,所以我们要最后留下的数最大,我们必须在删掉之前把它移到最后面去,长度为 \(n\) 需要删 \(\lfloor \frac{n}{2} \rfloor\) 次,每次相邻元素交换可以将某个元素往右移动一位,所以我们只需要求区间 \([\lfloor \frac{n}{2} \rfloor,n]\) 之间最大的元素即可。

#include <bits/stdc++.h>
#define int long longusing namespace std;void solve(){int n; cin>>n;vector<int> a(n + 1);for(int i =1 ;i<=n;i++) cin>>a[i];int ma = 0;int lim = n/2;for(int i = n-lim;i<=n;i++) ma = max(ma,a[i]);cout<<ma<<endl;	
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

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

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

相关文章

11.02

A.故障机器人 天生具备大常熟,劳资就爱写递归用vector写唐怎么你了,复杂度对了凭什么不让过,时间卡这么紧有意思吗? 贡献可以拆为识别为 ↑ 的字符与识别为 → 的字符间的贡献,而字符间的贡献又互相独立,所以可以先预处理 \(val[x][y]\) 代表字符 \(x\) 识别为 ↑,字符 …

AtCoder Beginner Contest 378

A - Pairing 题意给\(4\)个数,每次选两个数字相同的丢掉。求最大操作数。思路模拟。代码点击查看代码 #include<bits/stdc++.h> using namespace std; #define int long long typedef pair<int, int> pii;const int mxn = 1e6 + 5;void solve() {int a, b, c, d;c…

springboot集成ElasticSearch使用completion实现补全功能

springboot集成ElasticSearch使用completion实现补全功能@目录摘要springboot代码依赖代码kibana代码第一部分:设置index、type、mapping第二部分:批量插入第三部分:执行第四部分:结果展示本人先关其他文章链接 摘要 所谓自动补全功能就是“百度搜索框”中每敲下一个字符下…

[BUUCTF]Mysterious

[BUUCTF]Mysterious 分析 下载得到可执行文件,随便输入一些,没得反应解题PE..L..说明其为32位的exe文件,放入IDA PE…d…是64位程序 shift+F12检索字符串,看到well done,点进去 原因:大佬说这可能表示该程序输入成功后的情况类似于答案的文字左侧401090进去,接着F5进行反…

福气满满——项目原型设计+概要设计

博客文档这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024作业要求 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13297作业的目标 完成小福同学的原型设计以及概要设计团队名称 福气满满团队成员学号-名字 052203132童潇剑,102201226陈潇健,1022012…

ElasticSearch核心概念:倒排索引

ElasticSearch核心概念:倒排索引摘要 集群、节点、索引、类型、文档、分片、映射是什么? 分片(一个分片就是一个Lucene索引,Lucene索引采用倒排索引结构 ) 物理设计:节点和分片如何工作倒排索引ES使用的是一种称为倒排索引的结构,采用Lucene倒排索作为底层。这种结构适用…

2024秋软件工程现场编程作业

作业所属课程 班级链接作业要求 作业要求链接作业的目标 开发一个个人记账本应用团队名称 爱码单车队成员1 102201542--曾庆徽成员2 102201211--池家益成员3 102201302--毛震成员4 102201420--林传昊成员5 102201425--郑礼鑫成员6 102201538--黄志梁成员7 102201630--岳俊杰成员…

毕棚沟一日游玩

路线:成都(自驾)--> 毕棚沟(景区大巴)-->龙王海-->上海子-->磐羊湖(月亮湾)-->燕子岩成都--毕棚沟:自驾。5点出发。 毕棚沟--龙王海:景区大巴,顺时针绕湖走半圈,有黄杉、红枫,然后继续坐大巴 龙王海--上海子:景区大巴 上海子--磐羊湖:自费。上山单程…

基于STM32的激光通信系统设计

备忘编者按:激光通信具有保密性强、通信容量大、重量轻、功耗和体积小、制造和维护费用低等特点。为满足民用领域对于激光通信的需求,设计了一种基于STM32的激光通信系统。该系统由激光发射模块、激光接收模块,STM32F407主控模块组成,采用双音多频方式进行调制。在实验室环…

Respiratory Physiology Neurobiology

Respiratory Physiology & Neurobiology@目录一、征稿简介二、重要信息三、服务简述四、投稿须知 一、征稿简介二、重要信息期刊官网:https://ais.cn/u/3eEJNv三、服务简述 四、投稿须知 1.在线投稿:由艾思科蓝支持在线投稿,请将文章全文投稿至艾思科蓝投稿系统; 2.文章…

Applied Artificial Intelligence

Applied Artificial Intelligence@目录一、征稿简介二、重要信息三、服务简述四、投稿须知 一、征稿简介二、重要信息期刊官网:https://ais.cn/u/3eEJNv三、服务简述 四、投稿须知 1.在线投稿:由艾思科蓝支持在线投稿,请将文章全文投稿至艾思科蓝投稿系统; 2.文章应具有学术…

十光年团队_项目原型设计+概要设计

作业所属的课程 软件工程2024作业要求 2024秋软工实践团队作业-第二次作业的目标 完成原型设计和概要设计团队名称 十光年团队成员学号-姓名 施靖杰-102201327邓才慧-102201102陈宇尧-102201119陆旭东-102201118黄宇舟-102201331邱予-102202121高鑫源-102201635黄森福-10220163…