【Atcoder训练记录】AtCoder Beginner Contest 378

news/2025/1/10 9:59:18/文章来源:https://www.cnblogs.com/longxingx/p/18522573

训练情况

赛后反思

简单题又WA了一发,淦,开局崩心态,然后做题的时候被场外因素打断了。

A题

统计 \([1,4]\) 中每个数字出现的个数,输出对数即可。

#include <bits/stdc++.h>
#define int long longusing namespace std;int cnt[5];void solve(){for(int i = 1;i<=4;i++){int x; cin>>x;cnt[x]++;}cout<<cnt[1]/2+cnt[2]/2+cnt[3]/2+cnt[4]/2<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

B题

找大于 \(d\)\(x\),使得 \(x \mod q_t=r_t\),我们分类讨论 \(d \mod q_t \le r_t\) 时,答案就是 \(d\) 加上多出来模数的那一部分,\(d \mod q_t \le r_t\) 时,就需要跳到倍数的下一段。

#include <bits/stdc++.h>
#define int long longusing namespace std;void solve(){int n; cin>>n;vector<int> r(n + 1),q(n + 1);for(int i = 1;i<=n;i++) cin>>q[i]>>r[i];int qq; cin>>qq;while(qq--){int t,d; cin>>t>>d;int res = d%q[t];if(d%q[t] <= r[t]) cout<<d+(r[t]-res)<<endl;else cout<<d+(q[t]-res)+(r[t]%q[t])<<endl;}	
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

C题

什么时候 ABC 的 C 题白送了,我们维护一个 \(last_i\) 表示最后一次数字 \(i\) 出现的位置,直接 \(O(n)\) 即可,没更新过的就是 \(-1\),更新过的直接输出。

#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];map<int,int> last;for(int i = 1;i<=n;i++){if(!last[a[i]]) cout<<-1<<" ",last[a[i]] = i;else cout<<last[a[i]]<<" ",last[a[i]] = i;}	
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

D题

从某一点出发,刚好走 \(m\) 次,我们直接 \(O(nm)\) 找空闲位置,直接大力深度优先搜索(DFS),维护一个当前位置和步数,开一个 vis 记录某点是否走过,去掉重复走过的路径,然后回溯,满足 \(=k\) 答案就加。

#include <bits/stdc++.h>
#define int long longusing namespace std;const int N = 17;int n,m,k; 
vector<string> s(N);
bool vis[N][N];struct node{int x,y;
};int u[4][2] = {{0,1},{1,0},{-1,0},{0,-1}};int cnt = 0;
int ans = 0;void dfs(int x,int y,int step){if(step==k){ans++;return;}for(int i = 0;i<4;i++){int xx = x + u[i][0];int yy = y + u[i][1];if(xx < 0 || yy < 0 || xx > n-1 || yy > m-1 || s[xx][yy] == '#' || vis[xx][yy]) continue;vis[xx][yy] = 1;dfs(xx,yy,step+1);vis[xx][yy] = 0;}
}void solve(){cin>>n>>m>>k;for(int i = 0;i<n;i++) cin>>s[i];for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){if(s[i][j] == '.'){vis[i][j] = 1;dfs(i,j,0);vis[i][j] = 0;}}}cout<<ans<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

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

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

相关文章

《使用Gin框架构建分布式应用》阅读笔记:p307-p392

《用Gin框架构建分布式应用》学习第16天,p307-p392总结,总86页。 一、技术总结 1.AWS chapter 08讲使用AWS进行部署,可以根据需要选择是否阅读。因为使用到的概率很小,且还要绑卡,本人选择跳过。 2.CI/CD (1)什么是CI/CD p348,Luckily, many deployment steps can be aut…

基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现六

三、系统部分功能描述物品分类信息业务逻辑层Service、小区信息业务逻辑层Service、快递柜格子信息业务逻辑层Service、投诉信息业务逻辑层Service、快递柜类型信息业务逻辑层Service、快递柜信息业务逻辑层Service一、前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化…

团队作业3——需求改进系统设计

这个作业属于哪个课程 班级地址这个作业要求在哪里 作业要求这个作业的目标 需求改进&系统设计评分基准:需求&原型改进 - 20分系统设计 - 50分Alpha任务分配计划 - 20分测试计划 - 10分一、需求&原型改进: 1.1针对课堂讨论环节老师和其他组的问题及建议,对修改选…

2024年仿真/CAE 软件市场报告

CAE仿真市场的影响CAD、CAE呈融合趋势设计方法的革命--分析/模拟MCAE 是 MFG 设计软件的最大部分MFG设计,全称Manufacturing Design,即制造设计。它是一种在产品设计阶段就考虑制造过程的工程实践,旨在提高产品的可制造性,降低生产成本,缩短生产周期,并提升产品质量。 MC…

美团面试:Mysql如何选择最优 执行计划,为什么?

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…

网络请求库–axios库

认识axiosaxios请求方式常见的配置选项axios的创建实例

基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现五

三、系统部分功能描述前台用户信息数据层Dao、物品信息数据层Dao、快递员信息数据层Dao、预约记录信息数据层Dao、消息通知信息数据层Dao、取出记录信息数据层Dao、预约取出记录信息数据层Dao一、前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量…

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

训练情况赛后反思 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; …

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进行反…