E. Binary Numbers AND Sum

题目链接:https://codeforces.com/contest/1066/problem/E

题意:

给出两个用二进制表示的数,然后将第二个二进制不断地往右边移一位,每次答案加上这两个的交集,求最后的答案。

题解:

考虑第二个二进制每一位对答案的贡献就行了,然后对第一个二进制算前缀和就ok了。

代码如下:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5+,MOD = ;
ll n,m;
char s1[N],s2[N];
ll sum[N];
ll qp(ll a,ll b){
ll ans = ;
while(b){
if(b&) ans=a*ans%MOD;
a=a*a%MOD;
b>>=;
}
return ans ;
}
int main(){
scanf("%d%d",&n,&m);
scanf("%s",s1);
scanf("%s",s2);
if(s1[n-]=='') sum[]=;
for(int i=n-;i>=;i--){
if(s1[i]=='') sum[n-i-]=(sum[n-i-]+qp(,n--i))%MOD;
else sum[n-i-]=sum[n-i-];
}
ll ans = ;
for(int i=m-;i>=;i--){
if(s2[i]==''){
ans=(ans+sum[min(m--i,n-)])%MOD;
}
}
cout<<ans;
return ;
}

最新文章

  1. Java设计模式——线程安全的单件模式
  2. SpringMVC -- 注解
  3. php面试题2
  4. linux常用命令(二)
  5. iHover – 30+ 纯 CSS 实现的超炫的图片悬停特效
  6. ios 在程序中使用iCloud
  7. windows 精简/封装/部署
  8. css中filter:alpha透明度使用
  9. 《GK101任意波发生器》升级固件发布(版本:1.0.2build851)
  10. NPOI对excel文件的导入导出
  11. vim命令杂记
  12. 查找jar包的站点
  13. 计算VMT的长度
  14. Why we don’t recommend using List&lt;T&gt; in public APIs
  15. java第七周动手动脑
  16. django之MTV模型(urls,view)
  17. hdu-2419 Boring Game
  18. thinkphp---Excel导入!
  19. jquery插件使用记录
  20. Dijkstra【P2446】 [SDOI2010]大陆争霸

热门文章

  1. windows环境下安装scrapy框架报错问题--最快捷有效的解决方案
  2. Java学习笔记二:Java开发工具Eclipse的安装与使用
  3. python2.7入门---break语句&amp;continue语句&amp;pass空语句
  4. C#的特性Attribute
  5. 炒鸡简单的javaScript的call和apply方法
  6. (转) Sqoop使用实例讲解
  7. 「日常训练」「小专题·图论」 Frogger (1-1)
  8. Vue学习(二):class与style绑定
  9. Python 3 学习笔记之——基础语法
  10. day-12 python实现简单线性回归和多元线性回归算法