Codeforces Round #207 (Div. 1) B. Xenia and Hamming(gcd的运用)
题目链接: B. Xenia and Hamming
题意: 要求找到复制后的两个字符串中不同样的字符
思路: 子问题: 在两串长度是最大公倍数的情况下, 求出一个串在还有一个串中反复字符的个数
CODE:
#include <iostream>
#include<stdio.h>
#include<string>
#include<string.h>
using namespace std;
#define M 1000006
int com[M][26];
int gcd(int a,int b)
{return b==0?
a:gcd(b,a%b); } int main() { long long n,m; string x,y; while(~scanf("%I64d%I64d",&n,&m)) { cin>>x>>y; memset(com,0,sizeof(com)); int lenx=x.size(),leny=y.size(); long long g=gcd(lenx,leny); long long ans=lenx/g*leny; long long a=ans; for(int i=0;i<lenx;i++) //巧妙的处理~将两串中反复的字符储存起来 com[i%g][x[i]-'a']++; for(int i=0;i<leny;i++) ans-=com[i%g][y[i]-'a']; printf("%I64d\n",ans*(n*lenx/a)); } return 0; }
转载于:https://www.cnblogs.com/lytwajue/p/6698584.html
Codeforces Round #207 (Div. 1) B. Xenia and Hamming(gcd的运用)相关推荐
- Codeforces Round #635 (Div. 2) D.Xenia and Colorful Gems
Codeforces Round #635 (Div. 2) D.Xenia and Colorful Gems 题目链接 Xenia is a girl being born a noble. Du ...
- Codeforces Round #635 (Div. 2) D. Xenia and Colorful Gems 暴力 + 二分
传送门 文章目录 题意: 思路: 题意: 给你三个数组a,b,ca,b,ca,b,c,让你从每个数组中选择一个数x,y,zx,y,zx,y,z,使得(x−y)2+(x−z)2+(y−z)2(x-y)^ ...
- Codeforces Round #197 (Div. 2): C. Xenia and Weights(记忆化搜索)
题意: 先输入一个长度为10的01串,第i个数字为1表示你有重量为i的砝码无数个,第i个数字为0表示你没有重量为i的砝码,你需要按照以下规则在一个一开始平衡的天平上放上m个砝码 第1个砝码放在天平左边 ...
- Codeforces Round #197 (Div. 2): D. Xenia and Bit Operations(线段树)
题意:定义一个长度2^n的序列{a1, a2-an},序列相邻两个元素或运算之后再进行异或运算再进行或运算(两种运算交替进行)直到只剩下一个数字,这个数字即为序列的值,输入第一行两个数n,m表示序列的 ...
- Codeforces Round #207 (Div. 2)C. Knight Tournament
- -比赛时用了很奇怪的方法 然后最后评判TLE了.... 赛后中规中矩的用线段树过了 #include <algorithm> #include <cstring> #i ...
- Codeforces Round #766 (Div. 2) D. Not Adding 数学gcd
传送门 文章目录 目录 题意: 思路: 目录 题意: 给你一个长度为nnn的数组,你每次可以选择其中的两个数,如果他们的gcdgcdgcd在数组中没有出现那么就可以加在数组后面构成一个新的数组,问数组 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #563 (Div. 2)/CF1174
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...
- 构造 Codeforces Round #302 (Div. 2) B Sea and Islands
题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...
最新文章
- Fleury (弗罗莱) 算法通俗解释
- c6011取消对null指针的引用_C++中的引用
- shell脚本实现命令的自动执行
- windows-sock-简单例子-转
- 美信科技监控易:智慧高校一体化综合监控解决方案
- php 货币换算,PHP货币换算程序代码
- Matlab 全局变量定义与使用
- TextFormField 去掉 下划线
- 我的世界空岛生存服务器制作,《我的世界》空岛生存地图玩法 教你如何安全度过前期生存下去...
- html tbody增加行,使用jquery向表的tbody添加行
- 如何对iOS设备进行性能测试
- 理解MMORPG、回合制、ARPG、SLG、Roguelike、卡牌、竞技类
- 【智能算法】基于双隐含层BP神经网络的预测
- Window10蓝牙无法连接的解决方案(已成功)
- 融智学 作者 邹晓辉 Smart System Studied By Xiaohui Zou (今日头条公布其汉英双文简纲)
- 每个程序员都应当知道的编译器优化知识
- 计算机组成对应到人体的部分,计算机组成原理复习 (期末重点考点总结)
- c++学习书籍推荐《Exceptional C++ Style》下载
- 销售困局:客户既要好的又嫌贵如何破局
- 我们如何开始自我导向的第一步?
热门文章
- 【Java数据结构】Map与Set、搜索树、哈希表
- android释放全局变量,Android全局变量
- python中findroot_Python源码问题算负数平方根无结果输出何解,python负数,def findRoot...
- linux vim看最低,linux vim
- springboot jar包部署_Spring Boot项目基于Jar部署和打包详解教程
- MySQL基础总结,认真看完这篇就够了!!!
- Linux下vim常用操作
- NYOJ-拦截导弹(dp)
- Pytorch:ToTensor(object)类
- C++ Gui Qt4 书籍代码在VS2008上正确编译使用