【学校训练记录】10月个人训练赛4个人题解

news/2024/10/20 16:56:43

A:

要使s,t相等只要互相删除对方没有的字母即可,即找到a-z字母拥有最少的

#include <bits/stdc++.h>
#define endl "\n"
#define int long long
using namespace std;string s1, s2;
int a1[30], a2[30];
void solve(){cin >> s1 >> s2;for(int i = 0; i < s1.size(); i++){int x = s1[i]-'a';a1[x]++;}for(int i = 0; i < s2.size(); i++){int x = s2[i]-'a';a2[x]++;}int sum = 0;for(int i = 0; i <26; i++) sum+=min(a1[i], a2[i]);cout << sum;
}
signed main (){ios::sync_with_stdio(false);cin.tie(nullptr); int T;
//	cin >> T;T = 1;while (T--) {solve();}return 0;
}

B:

#include <bits/stdc++.h>
#define endl "\n"
#define int long long
using namespace std;
const int mod = 1e9+7;int k;
void solve(){cin >> k;int ret = 7, num=1;for(int i = 1; i <= 1e7; i++){if(ret%k==0){cout<< num ;return ;}ret=ret*10+7; ret%=k;num++;}cout << "-1" ;
}
signed main (){ios::sync_with_stdio(false);cin.tie(nullptr); int T;
//	cin >> T;T = 1;while (T--) {solve();}return 0;
}

C:

对于任意两个数求和,即为每个数与之后的前缀和的积的和,注意MOD使用

#include <bits/stdc++.h>
#define endl "\n"
#define int long long
using namespace std;
const int mod = 1e9+7;int n, a[200010], b[200010];
void solve(){cin >> n;int sum = 0;for(int i = 1; i <= n; i++){cin >> a[i];b[i] = a[i]+b[i-1];}for(int i = 1; i < n; i++){sum = (sum + (  (a[i]%mod)  *  ((b[n]-b[i])%mod)  ) %mod ) %mod;}cout << sum%mod;
}
signed main (){ios::sync_with_stdio(false);cin.tie(nullptr); int T;
//	cin >> T;T = 1;while (T--) {solve();}return 0;
}

D:
求出每个与i相乘不会大于n的数即可,其值为1到n的i的倍数,即为n/i

#include <bits/stdc++.h>
#define endl "\n"
#define int long long
using namespace std;
const int mod = 1e9+7;int n;
void solve(){cin >> n;int num = 0;for(int i = 1; i < n; i++){num+=(n-1)/i;}cout << num;
}
signed main (){ios::sync_with_stdio(false);cin.tie(nullptr); int T;
//	cin >> T;T = 1;while (T--) {solve();}return 0;
}

E:

数据范围为1e12,枚举到1到1e6判断该数字是否成立,即将其接一个上去与n比较即可

#include <bits/stdc++.h>
#define endl "\n"
#define int long long
using namespace std;
const int mod = 1e9+7;int n;
int se(string s){s+=s;int ret = 0;for(int i = 0; i < s.size(); i++){ret = ret*10+(s[i]-'0');}return ret;
}
void solve(){cin >> n;int num = 0;for(int i = 1; i <= 1e7; i++){if(n>=se(to_string(i))) num++;else break;}cout << num;
}
signed main (){ios::sync_with_stdio(false);cin.tie(nullptr); int T;
//	cin >> T;T = 1;while (T--) {solve();}return 0;
}

F:


dfs实现,对于一块颜色相同的相连区域,只需要搜索一遍即可,而只要走到颜色相同且已经走过的位置即为成环,注意不能往回走

#include <bits/stdc++.h>
#define endl "\n"
#define int long long
using namespace std;int n, m, a[60][60];
int s1[4] = {-1,0,0,1};
int s2[4] = {0,-1,1,0};
char c[60][60];
int p = 0;
void dfs(int x, int y, int lx, int ly){if(a[x][y]){p = 1;return ;}a[x][y] = 1;for(int i = 0; i < 4; i++){int nx = x+s1[i];int ny = y+s2[i];if(nx==lx && ny==ly) continue;if(nx>=1 && nx<=n && ny>=1 && ny<=m && c[nx][ny]==c[x][y]){dfs(nx, ny, x, y);}if(p) break;}
}
void solve(){cin >> n >> m;for(int i = 1; i <= n; i++)for(int j = 1; j <= m; j++)cin >> c[i][j];for(int i = 1; i <= n;i++){for(int j = 1; j <= m; j++){if(p) break;if(a[i][j]==0){dfs(i,j,i,j);}if(p) break;}if(p) break;}if(p) cout << "Yes" ;else cout << "No";
}
signed main (){ios::sync_with_stdio(false);cin.tie(nullptr);int T;
//	cin >> T;T = 1;while (T--) {solve();}return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

CSP 模拟 50

A 小 h 的几何 简单证一下圆心,九点圆就不写了。首先画出单位圆,圆形为 \(\text{O}\),随便找到一个内接三角形 \(\triangle_{\text{ABC}}\),然后找到中点连接出四个三角形,分成的四个三角形全等,且 \(\triangle_{\text{AEF}}\) 与 \(\triangle_{\text{EFG}}\) 关于 \(\te…

低功耗4G模组:RSA算法示例

​ 今天我们学习合宙低功耗4G模组Air780EP_LuatOS_rsa示例,文末【阅读原文】获取最新资料。 一、简介 RSA算法的安全性基于:将两个大质数相乘很容易,但是想要将其乘积分解成原始的质数因子却非常困难。关联文档和使用工具:LuatOS 固件获取rsa-demoLuatools下载调试工具开发…

怎么修改公司网站

修改公司网站通常涉及多个步骤,包括设计、开发、测试和部署。以下是一个详细的流程,帮助你顺利完成网站的修改工作: 1. 确定需求明确目标:确定你需要修改的内容,比如更新文本、添加新功能、改进设计等。 收集反馈:从内部员工和外部用户那里收集反馈,了解他们对现有网站的…

数据采集与融合技术实践--作业二

数据采集与融合技术作业二 📌1.相关信息及链接名称 信息及链接学号姓名 102202108 王露洁本次作业要求链接 https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology/homework/13285作业①所在码云链接 https://gitee.com/wanglujieeee/crawl_project/tre…

欧拉路径学习笔记

简介 定义:欧拉回路:通过图中每条边恰好一次的回路 欧拉通路:通过图中每条边恰好一次的通路 欧拉图:具有欧拉回路的图 半欧拉图:具有欧拉通路但不具有欧拉回路的图摘自: oi-wiki。 定义说白了就是小学的一笔画问题,这里直接给出三道例题。P7771 【模板】欧拉路径,CF508D…

网站连接数据库怎么办

连接网站到数据库通常涉及以下几个步骤:选择数据库类型:常见的数据库类型有 MySQL、PostgreSQL、SQLite、MongoDB 等。 根据项目需求选择合适的数据库。安装数据库驱动:根据所选的数据库类型和开发环境,安装相应的数据库驱动。 例如,对于 Python 和 MySQL,可以使用 mysql…

td导航zlibrary镜像入口及国内可访问地址

TD导航是一个综合性的网址导航网站,它致力于为用户提供便捷、高效的上网体验。在这个平台上,用户可以轻松找到各类热门网站和实用工具,无论是新闻资讯、社交娱乐、购物消费,还是学习教育、工作办公等领域,TD导航都提供了丰富的资源链接。 TD导航的界面设计简洁明了,分类清…