代码

const int ChSize=;
struct PerTrie
{
int next[maxn*][ChSize];
int id,inf[maxn*];
void init()
{
memset(next[],,sizeof(next[]));
inf[]=;
id=;
}
int GetId(char c){ return c-'a'; }
void Insert(int& rt,int pre,char* S,int x) //插入
{
rt=++id;
inf[rt]=inf[pre]+;
for(int i=;i<ChSize;i++) next[rt][i]=next[pre][i]; //把前面的赋给当前
if(S[x]=='\0') return;
Insert(next[rt][GetId(S[x])],next[pre][GetId(S[x])],S,x+);
}
int Query(int le,int ri,char* S) //查询[le,ri]
{
for(int i=;S[i]!='\0';i++)
{
int s=GetId(S[i]);
le=next[le][s];
ri=next[ri][s];
}
return inf[ri]-inf[le];
}
}PT;

最新文章

  1. Android的RecyclerView
  2. goldengate studio 12.2.1.2.6发布
  3. IE8控件安装方法
  4. python 脚本传递参数
  5. yii 隐藏index.php的步骤
  6. O-C相关04:类方法的概述与定义和调用
  7. 黑马程序员_Java其他对象(System,Runtime,Date,Calendar,Marh-Random)
  8. 游戏UI框架设计(一) : 架构设计理论篇
  9. python模拟登陆Github示例
  10. 括号配对问题-java:Stack
  11. 在linux环境下用中文查询数据库
  12. iis8使用url2.0模块实现http跳转到https
  13. 利用PHP连接数据库操作用户注册、审核与登录页面
  14. jsp/servlet学习一之servlet初窥
  15. 安装阿里云github提供的修改版minikube
  16. JavaScript面向对象之闭包的理解
  17. BZOJ 3707 圈地
  18. Video Processing and Communications:(视频处理和通信)
  19. 服务信息块协议 SMB(Server Message Block protocol)
  20. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

热门文章

  1. 手游与App测试如何快速转型? —— 过来人科普手游与App测试四大区别
  2. Laravel-表单篇-零散信息
  3. Operation System - Peterson&amp;#39;s Solution算法 解决多线程冲突
  4. C#Equal的使用
  5. openssl 证书请求和自签名命令req详解
  6. _js day12
  7. Linux目录和权限
  8. DotNet程序汉化过程--SnippetCompiler奇葩的字符串
  9. Oracle语句块PL/SQL循环判断
  10. SVN的初步使用方法