[Agc028A]Two Abbreviations_数学
Two Abbreviations
题目链接:https://atcoder.jp/contests/agc028/tasks/agc028_a
数据范围:略。
题解:
题目中的位置非常不利于思考,我们令字符串的存储是从$0$开始。
也就是说$S$的第$i$个字符相当于$(i - 1)\cdot \frac{L}{N}$
手玩一下就会发现,题目中的$-1$,仅仅可能是两个串的字符应该出现在同一个位置,但是他俩不一样。
而且,如果没有这样的不满足的位置,$L=lcm(N,M)$即可,这是显然的,因为每个字符间隔都在成倍增长。
故此,暴力用$gcd$判一下即可。
代码:
#include <bits/stdc++.h>
#define N 3000010
using namespace std;
char s[N], t[N];
int main() {
int n, m;
cin >> n >> m ;
scanf("%s%s", s + 1, t + 1);
int d = __gcd(n, m);
int n_ = n / d, m_ = m / d;
for (int i = 0; i < d; i ++ ) {
int k1 = i * n_ + 1, k2 = i * m_ + 1;
if (s[k1] != t[k2]) {
puts("-1");
return 0;
}
}
cout << (long long)n_ * m_ * d << endl ;
return 0;
}
[Agc028A]Two Abbreviations_数学的更多相关文章
- 数学思想:为何我们把 x²读作x平方
要弄清楚这个问题,我们得先认识一个人.古希腊大数学家 欧多克索斯,其在整个古代仅次于阿基米德,是一位天文学家.医生.几何学家.立法家和地理学家. 为何我们把 x²读作x平方呢? 古希腊时代,越来越多的 ...
- 速算1/Sqrt(x)背后的数学原理
概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...
- MarkDown+LaTex 数学内容编辑样例收集
$\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{R ...
- 深度学习笔记——PCA原理与数学推倒详解
PCA目的:这里举个例子,如果假设我有m个点,{x(1),...,x(m)},那么我要将它们存在我的内存中,或者要对着m个点进行一次机器学习,但是这m个点的维度太大了,如果要进行机器学习的话参数太多, ...
- Sql Server函数全解<二>数学函数
阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...
- *HDU 2451 数学
Simple Addition Expression Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- 如何解决Maple的应用在数学中
对任意数学和技术学科的研究员.教师和学生而言,Maple是一个必备的工具.通过Maple,教师将复杂数学问题注入生命,学生的精力集中在概念理解上而不是如何使用工具上,研究员可以开发更复杂的算法或模型. ...
- 如何让Maple中的数学引擎进入你的桌面应用程序和网站
MapleNET数学服务套件将Maple 2015强大的数学引擎引入您的应用程序和网站.使用MapleNET,您可以添加数学计算和可视化功能到网页和桌面程序中,通过互联网/局域网分享“活”的Maple ...
- 【原创】开源Math.NET基础数学类库使用(07)常用的数学物理常数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 1.前 ...
随机推荐
- 利用chrome console批量下载文件
因工作需要,需要定期从某页面下载多个文档,是体力活. 想用chrome扩展,找了几个不行.原因是: 1.有的扩展识别不了链接,因为链接是形如:jsp?XXX=XXX的形式 2.有的扩展能批量打开链接, ...
- Codeforces 1175E Minimal Segment Cover
题意: 有\(n\)条线段,区间为\([l_i, r_i]\),每次询问\([x_i, y_i]\),问要被覆盖最少要用多少条线段. 思路: \(f[i][j]\)表示以\(i\)为左端点,用了\(2 ...
- 转:关于C++ const 的全面总结
转自:https://www.cnblogs.com/xkfz007/articles/2419518.html 如有侵权请联系博主,立即删除. C++中的const关键字的用法非常灵活,而使用 ...
- 数据分析之matplotlib使用
绘制折线图 参数详情 from matplotlib import pyplot as plt # 设置图片大小,dpi图片放大缩小时可以让其更清晰 plt.figure(figsize=(20,8) ...
- springboot+druid+sqlite遇到的问题
1.springboot中使用druid查询sqlite报错getFetchDirection error ResultSet closed https://blog.csdn.net/u011943 ...
- Mybatis按照SQL查询字段的顺序返回查询结果,使用resultType="java.util.LinkedHashMap"
在使用Mybatis开发时,Mybatis返回的结果集就是个map,当返回map时只需要做好SQL映射就好了,减少了代码量,简单便捷,缺点是不太方便维护,但是写大量的vo类去返回也挺累的,这个看你个人 ...
- 学PHP应注意的问题与知识点
编出一手好代码,这个是需要你在平时开发中日积月累的,平时如果你有注意到以下的那些代码的编码,那么祝贺你,你在技能提升这方面已经垫下了一些基础,编写出一手好代码,说白了就是你特么注意到性能这块的问题,代 ...
- SQL-W3School-高级:SQL BETWEEN 操作符
ylbtech-SQL-W3School-高级:SQL BETWEEN 操作符 1.返回顶部 1. BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围. BETWEE ...
- oracle赋予一个用户具有查询另一个用户所有表数据
一 以需要被查询的用户登录oracle(假如为A) B为要查询A用户下的表的用户 二 执行查询语句: select 'grant select on A.'|| tname ||' to B ...
- 常见的RSA套路脚本
工具 rsatool https://github.com/ius/rsatool factordb(分解大素数) http://www.factordb.com python-PyCrypto库 O ...