【CF472G】【XSY2112】Design Tutorial 压位
来源:互联网 发布:关键词排名优化小技巧 编辑:程序博客网 时间:2024/06/13 22:35
题目大意
给出两个
汉明距离定义为两个长度相同的序列中,有多少个对应位置上的数字不一样
求
题解
wys【挑战】弱化版
暴力碾分块系列
把
时间复杂度:
代码
#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>#include<ctime>#include<utility>using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair<int,int> pii;char s1[200010];char s2[200010];ull a[200010];ull b[200010];int cnt[100010];int count(ull x){ return cnt[x&0xffff]+cnt[(x>>16)&0xffff]+cnt[(x>>32)&0xffff]+cnt[(x>>48)&0xffff];}int main(){ int n,m,q; scanf("%s%s%d",s1+1,s2+1,&q); n=strlen(s1+1); m=strlen(s2+1); int i; for(i=n;i>=1;i--) a[i]=(a[i+1]>>1)|(s1[i]=='1'?(1ll<<63):0); for(i=m;i>=1;i--) b[i]=(b[i+1]>>1)|(s2[i]=='1'?(1ll<<63):0); cnt[0]=0; for(i=1;i<(1<<16);i++) cnt[i]=cnt[i>>1]+(i&1); int x,y,l; for(i=1;i<=q;i++) { scanf("%d%d%d",&x,&y,&l); x++; y++; int ans=0; while(l>=64) { ans+=count(a[x]^b[y]); x+=64; y+=64; l-=64; } if(l) ans+=count((a[x]^b[y])>>(64-l)); printf("%d\n",ans); } return 0;}
阅读全文
0 0
- 【CF472G】【XSY2112】Design Tutorial 压位
- Design Patterns Video Tutorial
- Singleton Design Pattern Tutorial
- C# Design Patterns: A Tutorial
- Bootstrap tutorial: A responsive design tutorial with Twitter Bootstrap 3
- Struts 2 Design and Programming: A Tutorial
- Java Design Patterns – Example Tutorial
- Design Tutorial: Inverse the Problem cf 270
- codeforces 之 Design Tutorial: Make It Nondeterministic
- codeforces 之 Design Tutorial: Learn from Life
- cf472A Design Tutorial: Learn from Math
- cf472B Design Tutorial: Learn from Life
- cf472C Design Tutorial: Make It Nondeterministic
- cf472D Design Tutorial: Inverse the Problem
- A. Design Tutorial: Learn from Math
- A. Design Tutorial: Learn from Math
- B. Design Tutorial: Learn from Life
- C. Design Tutorial: Make It Nondeterministic
- 使用OnTouchListener同时处理onClick与onLongClick
- MySQL InnoDB四个事务级别 与 脏读、不重复读、幻读
- springMVC--关于no mapping found for http request with uri .......
- sleep与yield
- Java反射机制
- 【CF472G】【XSY2112】Design Tutorial 压位
- Jenkins基础入门-8-构建触发器之远程构建
- 从零开始搭建zabbix以及简单实例(based on 官方文档)
- hibernate查询
- 返回上一页跳过中间页面,返回上一页跳过敏感页面
- 关于eclipse安装失败的解决方法
- MOOC清华《面向对象程序设计》第8章:用代理模式实现延迟初始化
- 阿里云服务器部署JavaWeb项目步骤
- JDK文档阅读之RMI(远程方法调用)