HDU5972Regular Number [shiftand][字符串]
来源:互联网 发布:福州淘宝美工培训机构 编辑:程序博客网 时间:2024/04/28 10:22
题意:给定n个集合,每个集合中有一些数字,问给出的一个长数字串中的所有匹配。 匹配:如果连续n个数字分别出现在1~n这些集合中,则是一个成功的匹配。
考虑每个数字出现的集合,用十个01二进制表示0~9这十个数字出现在那些集合中(预处理占位),然后通过左移操作和与运算验证是否匹配到n位。 使用bitset更方便操作。
#include<bits/stdc++.h>using namespace std;typedef long long LL;bitset<1005> bit[15];char s[5000005];int n;int main(){ while(~scanf("%d", &n)) { for(int i = 0; i < n; ++i) { int num; scanf("%d", &num); while(num--) { int x; scanf("%d", &x); bit[x].set(i); } } getchar(); gets(s); bitset<1005> res; res.reset(); for(int i = 0; s[i]; ++i, res <<= 1) { res[0] = 1; res &= bit[s[i]-'0']; if(res[n-1]) { char temp = s[i+1]; s[i+1] = 0; puts(s+i-n+1); s[i+1] = temp; } } }}
阅读全文
0 0
- HDU5972Regular Number [shiftand][字符串]
- 字符串匹配shiftand算法
- HDU5972 Regular Number (ShiftAnd算法+bitset)
- hdu5972 Regular Number (bitset应用+快速匹配+shiftAnd匹配算法学习模板)
- HDU5716(shiftand算法)
- 玩转字符串 count number
- 把字符串转成number类型
- [leetcode] 【字符串】 65. Valid Number
- 数字number转字符串string
- HDU 4608 I-number (数学&字符串处理)
- PL/SQL设置NUMBER显示为字符串
- HDU 1711 Number Sequence(字符串匹配)
- hdu 1212 Big Number(字符串:模拟)
- PL/SQL设置NUMBER显示为字符串
- 191-number of 1 bits-字符串相关
- 65.Valid Number&表示数值的字符串
- HDU - 1711 Number Sequence KMP字符串匹配
- 【KMP字符串匹配】hdu 1711 Number Sequence
- ajax验证userName是否可用
- Java泛型在静态方法中的使用
- 分布式开放消息系统(RocketMQ)的原理与实践
- 我也有博客啦
- Java_17 迭代器
- HDU5972Regular Number [shiftand][字符串]
- JavaScript学习之自定义对象--小游戏别踩白块儿
- 赶去公司
- OFDM总结
- 8.17 想越狱的小杉 1535
- Nginx 实现虚拟机
- selenium2.0如何解决对于IE11的加载支持
- nginx随系统启动
- POJ river hopscotch