当前位置: 首页 > news >正文

外贸网站架构上海企业网络营销推广服务

外贸网站架构,上海企业网络营销推广服务,深圳前500强企业名单,做旅游网站当地人服务赚钱吗正题 题目链接:https://www.luogu.com.cn/problem/CF587F 题目大意 给出nnn个字符串sss。qqq次询问给出l,r,kl,r,kl,r,k要求输出sl..rs_{l..r}sl..r​在sks_ksk​中出现了多少次。 1≤n,q,∑∣si∣≤1051\leq n,q,\sum |s_i|\leq 10^51≤n,q,∑∣si​∣≤105 解题思路 考虑一…正题 题目链接:https://www.luogu.com.cn/problem/CF587F 题目大意 给出nnn个字符串sss。qqq次询问给出l,r,kl,r,kl,r,k要求输出sl..rs_{l..r}sl..r​在sks_ksk​中出现了多少次。 1≤n,q,∑∣si∣≤1051\leq n,q,\sum |s_i|\leq 10^51≤n,q,∑∣si​∣≤105 解题思路 考虑一个比较暴力的做法先把所有的构出一棵ACACAC自动机一个串SSS有后缀TTT当且仅当在failfailfail树上SSS的节点在TTT的子树内。 所以暴力的做法就是统计sks_ksk​的节点有多少在sl..rs_{l..r}sl..r​的终止节点子树内的节点。 需要优化因为有L∑∣si∣≤105L\sum |s_i|\leq 10^5L∑∣si​∣≤105所以可以考虑根号分治设定值TLT\sqrt{L}TL​。 对于长度大于TTT的kkk我们所有的询问统一差分变为前缀问题处理。因为这样的串的个数不会超过L\sqrt LL​个所以可以每次暴力O(n)O(n)O(n)处理。 我们把所有sks_ksk​路径上的节点权值加一然后暴力扫描nnn个串每次终止节点统计子树内的权值和。 对于长度小于等于TTT的kkk我们差分后按照询问端点排序从左到右扫过nnn个串每次子树内的权值加一然后每次暴力扫描sks_ksk​的所有节点统计权值就好了。 使用树状数组时间复杂度O(nnlog⁡n)O(n\sqrt n\log n)O(nn​logn)已经可以通过本题了。但是如果把树状数组改成分块就可以平衡到O(nn)O(n\sqrt n)O(nn​)但是我懒 code #includecstdio #includecstring #includealgorithm #includevector #includequeue #includecmath #define ll long long #define mp(x,y) make_pair(x,y) #define lowbit(x) (x-x) using namespace std; const ll N1e510; struct node{ll to,next; }a[N]; ll n,m,T,tot,dfr,L,top[N],ls[N],l[N],t[N],ans[N]; ll cnt,ch[N][26],fail[N],pos[N],rfn[N],ed[N]; vectorpairll,ll v[N],V[N]; char *s[N],st[N];queuell q; void Change(ll x,ll val){while(xdfr){t[x]val;xlowbit(x);}return; } ll Ask(ll x){ll ans0;while(x){anst[x];x-lowbit(x);}return ans; } void addl(ll x,ll y){a[tot].toy;a[tot].nextls[x];ls[x]tot;return; } ll Insert(char *s,ll l){ll x0;for(ll i0;il;i){ll cs[i]-a;if(!ch[x][c])ch[x][c]cnt;xch[x][c];}return x; } void GetFail(){for(ll i0;i26;i)if(ch[0][i])q.push(ch[0][i]);while(!q.empty()){ll xq.front();q.pop();for(ll i0;i26;i){if(!ch[x][i])ch[x][i]ch[fail[x]][i];else{fail[ch[x][i]]ch[fail[x]][i];q.push(ch[x][i]);}}}for(ll i1;icnt;i)addl(fail[i],i);return; } void dfs(ll x,ll fa){rfn[x]dfr;for(ll ils[x];i;ia[i].next){ll ya[i].to;if(yfa)continue;dfs(y,x);}ed[x]dfr;return; } signed main() {scanf(%lld%lld,n,m);for(ll i1;in;i){s[i]sttop[i];scanf(%s,s[i]);l[i]strlen(s[i]);top[i1]top[i]l[i];pos[i]Insert(s[i],l[i]);}Ltop[n1];Tsqrt(L);GetFail();dfs(0,0);for(ll i1;im;i){ll L,R,K;scanf(%lld%lld%lld,L,R,K);if(l[K]T)v[R].push_back(mp(K,i)),v[L-1].push_back(mp(K,-i));else V[K].push_back(mp(R,i)),V[K].push_back(mp(L-1,-i));}for(ll p1;pn;p)if(l[p]T){memset(t,0,sizeof(t));sort(V[p].begin(),V[p].end());ll x0;for(ll i0;il[p];i){xch[x][s[p][i]-a];Change(rfn[x],1);}ll z0,sum0;while(zV[p].size()!V[p][z].first)z;for(ll i1;in;i){sumAsk(ed[pos[i]])-Ask(rfn[pos[i]]-1);while(zV[p].size()V[p][z].firsti){ll idV[p][z].second,op1;if(id0)id-id,op-op;ans[id]sum*op;z;}}}memset(t,0,sizeof(t));for(ll p1;pn;p){Change(rfn[pos[p]],1);Change(ed[pos[p]]1,-1);for(ll i0;iv[p].size();i){ll kv[p][i].first,idv[p][i].second,op1;if(id0)id-id,op-op;ll x0;for(ll j0;jl[k];j){xch[x][s[k][j]-a];ans[id]op*Ask(rfn[x]);}}}for(ll i1;im;i)printf(%lld\n,ans[i]);return 0; }
http://wiki.neutronadmin.com/news/314549/

相关文章:

  • 营销型网站建电子商务及网站建设
  • 网站建设鄂尔多斯长春财经学院专业
  • 怎么做淘宝客的跳转网站网站建设中模板下载
  • 美食推荐网站模板云岭先锋网站是哪家公司做的
  • 对网站主要功能界面进行赏析2022年国内重大新闻
  • 口碑好的句容网站建设石家庄百度关键词搜索
  • 给别人建设网站的注意事项wordpress 固定网址
  • 局域网的电脑怎么做网站服务器做信息网站能挣钱吗
  • 网站欣赏网站怎么给自己的网站设置关键词
  • 张店网站制作成都网站建设哪家专业
  • 怎么写网站建设的说明曲阜市网站建设
  • 专做母婴的网站网站建设深
  • 云空间网站开发互联网直播营销大赛主题
  • 网站建设的公司好做吗华为云建站怎么样
  • 谈谈你对网站建设有什么样好的建设意见wordpress主题缩略图
  • 广州商城网站建设公司高港网站开发
  • 唐山专业网站建设长春网站制作推广
  • 自己做的网站访问不怎样建设责任文化
  • 湖南省公司注册网站wordpress 存储
  • 深圳市住房和建设局网站登录搜搜网站收录
  • 合肥建网站学院网站建设项目概述
  • 珠海网站建设技术支持单位网页制作
  • 网站开发需求描述湖南天人安装建设有限公司网站
  • 微网站开发公司自己能建网站吗
  • 电子商务网站建设与管理考试本地的沈阳网站建设
  • 洛阳网站建设价格低wordpress 区块编辑器
  • 走出趣网站怎么做在阿里云域名可以做网站吗
  • 山东省建设人才网站能不能自己做视频网站
  • 成都网站开发建设推广做视频的素材怎么下载网站
  • 4a级旅游网站建设的要求东莞建设监督网