1. CF 914F Substrings in a String

大意: 给定一个串s, q个询问, (1)单点修改, (2)询问[l,r]范围内串y的出现次数.

shift and算法板子题

#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("unroll-loops")
#include <iostream>
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <math.h>
#include <set>
#include <map>
#include <queue>
#include <string>
#include <string.h>
#include <bitset>
#define REP(i,a,n) for(int i=a;i<=n;++i)
#define PER(i,a,n) for(int i=n;i>=a;--i)
#define hr putchar(10)
#define pb push_back
#define lc (o<<1)
#define rc (lc|1)
#define mid ((l+r)>>1)
#define ls lc,l,mid
#define rs rc,mid+1,r
#define x first
#define y second
#define io std::ios::sync_with_stdio(false)
#define endl '\n'
#define DB(a) ({REP(__i,1,n) cout<<a[__i]<<' ';hr;})
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int P = 1e9+7, INF = 0x3f3f3f3f;
ll gcd(ll a,ll b) {return b?gcd(b,a%b):a;}
ll qpow(ll a,ll n) {ll r=1%P;for (a%=P;n;a=a*a%P,n>>=1)if(n&1)r=r*a%P;return r;}
ll inv(ll x){return x<=1?1:inv(P%x)*(P-P/x)%P;}
inline int rd() {int x=0;char p=getchar();while(p<'0'||p>'9')p=getchar();while(p>='0'&&p<='9')x=x*10+p-'0',p=getchar();return x;}
//head#ifdef ONLINE_JUDGE
const int N = 1e5+10;
#else
const int N = 11;
#endifint n, m;
char s[N], buf[N];
bitset<N> ch[26], ans;int main() {scanf("%s", s);n = strlen(s);REP(i,0,n-1) ch[s[i]-'a'].set(i);scanf("%d", &m);REP(i,1,m) {int op, x, y;char c;scanf("%d%d", &op, &x),--x;if (op==1) {scanf(" %c", &c);ch[s[x]-'a'].reset(x);s[x] = c;ch[s[x]-'a'].set(x);}else {scanf("%d%s", &y, buf),--y;int len = strlen(buf);if (y-x+1<len) {puts("0");continue;}ans.set();REP(i,0,len-1) ans&=ch[buf[i]-'a']>>i;int ret = (ans>>x).count()-(ans>>y-len+2).count();printf("%d\n", ret);}}
}

转载于:https://www.cnblogs.com/uid001/p/10770983.html

shift and算法相关推荐

  1. 机器学习(十)Mean Shift 聚类算法

    Mean Shift 聚类算法 原文地址:http://blog.csdn.net/hjimce/article/details/45718593  作者:hjimce 一.mean shift 算法 ...

  2. 均值漂移(mean shift )聚类算法Matlab实现详解

    Mean shift 算法是基于核密度估计的爬山算法,可用于聚类.图像分割.跟踪等,其在声呐图像数据处理也有广泛的应用,笔者在网上找了一遍也没有找到关于Mean shift的matlab实现代码,找到 ...

  3. 基于3D深度视觉的人体姿态估计算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|新机器视觉 人体姿态估计是当前计算机视觉领域的热点研究问 ...

  4. 【聚类算法】常见聚类算法总结

    转自:https://blog.csdn.net/u010062386/article/details/82499777 感谢博主 1.常见算法 1.原型聚类 "原型"是指样本空间 ...

  5. 字符串匹配--Sunday算法

    前面一篇博客详细介绍了KMP算法,KMP算法的代码不算繁琐,但是理解起来相对比较困难. 后来Daniel M.Sunday在1990年提出了Sunday算法,其思想是从前往后匹配,在匹配失败时关注的不 ...

  6. [基于子串搜索的方法] BNDM算法

    BNDM算法的搜索方法与BDM算法相同,但它使用了位并行来识别子串. 与原始的BDM相比,BNDM更简单,内存用量更少,具有更好的引用局部性,并且易于扩展到更复杂的模式串的情形.   在当前搜索窗口内 ...

  7. 五种常见的聚类算法总结

    目录 一.关于聚类的基础描述 1.1  聚类与分类的区别 1.2  聚类的概念 1.3  聚类的步骤 二.几种常见的聚类算法 2.1 K-means聚类算法 1) K-means算法的流程: 2)K- ...

  8. 赵志勇记录下的算法+程序

    赵志勇的博客地址:       http://blog.csdn.net/google19890102?viewmode=contents [置顶] 新的10大数据挖掘.机器学习算法 2015-01- ...

  9. 怎样在c语言中声明list这一变量,C语言变量赋值语句的语法解析算法实现

    本篇文章是java开发编译器系列课程的文档,有兴趣的朋友可关注网易云课堂的视频内容: 自己动手用java开发编译器 经过一系列的算法摸索后,我们终于要进入 C 语言编译器开发的进程,这一节,我们的目的 ...

  10. SigAI——深入浅出聚类算法

    导言 聚类问题是机器学习中无监督学习的典型代表,在数据分析.模式识别的很多实际问题中得到了应用.在本文中,将为大家深入浅出的介绍聚类问题的定义以及各种典型的聚类算法,帮助大家建立对聚类算法最直观的.本 ...

最新文章

  1. 运维自动化之 Cobbler 系统安装使用详解
  2. Makefile的学习
  3. jzoj1213-棋盘上的士兵【状压dp】
  4. 每个客户使用Jersey处理的Cookie
  5. 解决: Intellij IDEA 运行报错 Command line is too long
  6. java 泛化_Java语言class类用法及泛化(详解)
  7. 有望支撑半年时间!华为麒麟9000芯片库存约为1000万片
  8. 我是如何在六个月内学会 Python 的?
  9. 【Spring】使用数据源连接池访问数据库
  10. iOS 面试题整理(带答案)二
  11. Nginx 配置文件 nginx.conf 说明、内置变量、常用命令
  12. 销毁Session和清空指定的属性
  13. 地理信息系统(汤国安)重点整理与推导(第三章)
  14. nrf52840蓝牙协议栈主机BLE串口
  15. Feign整合Sentinel 开启 feign.sentinel.enabled=true 启动报错
  16. java 导入导出excel表格
  17. FPC软排线结构的奥秘
  18. SPI实现SST25VF016B驱动(Flash)
  19. 汉字区位码查询与算法——microsoft visual studio 2005系列
  20. bugku秋名山车神

热门文章

  1. 11月20日站立会议
  2. bash脚本之case语句应用,while、until和select循环应用及其示例
  3. ​ [RHEL7.1]重新封装系统(制作模板)
  4. 《电路分析导论(原书第12版)》一3.6 色环与标准电阻标称值
  5. python中包引入遇到的问题
  6. 嵌入式系统的接口类型有哪些
  7. jdeveloper12.1.3的安装与卸载
  8. Entity Framework Fluent API
  9. (转)Low-Mid-High
  10. Firefox4开发计划公布:使浏览器得更快更强