cf D. Xenia and Hamming
http://codeforces.com/contest/357/problem/D
题意:给你两个数n和m,表示两个字符串的循环次数,然后给出两个字符串,求出其相同位置字符不同的个数。
先求出两个字符串长度的最大公约数和最小公倍数,然后求出在最小公倍数范围内的不同字符的个数,后面的和前面的一样,最终的个数也就求出了。
#include <cstdio>
#include <cstring>
#include <algorithm>
#define LL __int64
using namespace std;
char s1[],s2[]; int count1[][]; LL GCD(LL a,LL b)
{
return b==?a:GCD(b,a%b);
} int main()
{
LL n,m;
while(scanf("%I64d%I64d",&n,&m)!=EOF)
{
scanf("%s",s1);
scanf("%s",s2);
LL k1=(LL)strlen(s1);
LL k2=(LL)strlen(s2);
LL c=GCD(k1,k2);
LL m=k1*k2/c;
LL m1=m;
for(int i=; i<k1; i++)
{
count1[i%c][s1[i]-'a']++;
}
for(int j=; j<k2; j++)
{
m-=count1[j%c][s2[j]-'a'];
}
printf("%I64d\n",m*((k1*n)/m1));
}
return ;
}
cf D. Xenia and Hamming的更多相关文章
- Codeforces Round #207 (Div. 1) B. Xenia and Hamming(gcd的运用)
题目链接: B. Xenia and Hamming 题意: 要求找到复制后的两个字符串中不同样的字符 思路: 子问题: 在两串长度是最大公倍数的情况下, 求出一个串在还有一个串中反复字符的个数 CO ...
- CodeForces - 357D - Xenia and Hamming
先上题目: D. Xenia and Hamming time limit per test 1 second memory limit per test 256 megabytes input st ...
- 【CF】207 Div.1 B.Xenia and Hamming
这题目一看很牛逼,其实非常easy.求求最小公倍数,最大公约数,均摊复杂度其实就是O(n). /* 356B */ #include <iostream> #include <str ...
- CF #635D Xenia and Colorful Gems 枚举+二分
Xenia and Colorful Gems 题意 给出三个数组,在每个数组中选择一个数字x,y,z,,使得\((x-y)^2+(y-z)^2+(x-z)^2\)最小. 思路 我们假设x<=y ...
- CF A. Xenia and Divisors
题目大意: n(为三的倍数)个数的一个序列(每个数均不大于7),找出a,b,c a能被b整除,b能被c整除,序列中的每个数都被用到. 1 2 3 4 5 6 7 只有 1 2 4 1 2 6 1 3 ...
- cf C. Xenia and Weights
http://codeforces.com/contest/339/problem/C #include <cstdio> #include <cstring> #includ ...
- Codeforces Round #207 (Div. 1) B (gcd的巧妙运用)
比赛的时候不知道怎么写... 太弱了. 看了别人的代码,觉得这个是个经典的知识点吧. gcd的巧妙运用 自己想的时候苦苦思考怎么用dp求解. 无奈字符串太长而想不出好的算法. 其实在把a和b字符串都分 ...
- CF&&CC百套计划2 CodeChef December Challenge 2017 Chef and Hamming Distance of arrays
https://www.codechef.com/DEC17/problems/CHEFHAM #include<cstdio> #include<cstring> #incl ...
- CF R 635 div2 1337D Xenia and Colorful Gems 贪心 二分 双指针
LINK:Xenia and Colorful Gems 考试的时候没想到一个很好的做法. 赛后也有一个想法. 可以考虑答案的样子 x,y,z 可以发现 一共有 x<=y<=z,z< ...
随机推荐
- http调试工具,linux调试工具
charles Linux下Web性能压力测试工具http_load linux 下的socket 调试工具 netcat Linux下四款Web服务器压力测试工具(http_load.webbenc ...
- python调用shell, shell 引用python
python 调用 shell get_line_num="wc -l as_uniq_info | awk '{print $1}'" ###get the lines of & ...
- 附加、分离数据库和备份、还原数据库的区别(转载于中雪的BLOG)
备份和恢复的概念: 备份和恢复组件是SQL Server的重要组成部分.备份就是指对SQL Server数据库及其他相关信息进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,如果数 ...
- bfs 记录和打印最短路径
Poj3984 迷宫问题 #include <iostream> #include <algorithm> #include <cstdio> #include & ...
- idea 14运行java工程报错-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
报错信息:Disconnected from the target VM, address: '127.0.0.1:59770', transport: 'socket' -Dmaven.multiM ...
- StoryBoard页面联线跳转已经页面之间传参数
1.选中上图黄色.按住Control 把线拖到要要跳转的页面,寻找show. 2.选中联线.在右边Identifier:随便填入一个标示 3.在按钮点击事件加上如下代码 - (IBAction)but ...
- mysql数据库优化[千万级查询]
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- linux shell 切换到ROOT用户
#!/bin/bash expect -c " set timeout 1000 spawn /bin/su - root expect \&qu ...
- git开源项目协作
开源项目协作 fork开源项目,即打开开源项目的github,然后点击fork按钮 pull request
- 手动向IIS注册.net框架组件
安装.NET Framework时,会自动在IIS上注册ASP.NET,如果已经存在.NET Framework再安装的IIS,必须告诉IIS已经存在framework. 有时IIS功能缺失或异常 ...