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

雅安市网站建设_网站建设公司_展示型网站_seo优化

网站开发流行语言,图标设置wordpress,深圳住房建设部网站,做公司网站注意事项正题 题目链接:https://ac.nowcoder.com/acm/contest/72/F 题目大意 nnn个字符串#xff0c;包括小写字母和#\##。其中#\##可以替换为任意字符串。求有多少对字符串可能相同。 保证每个字符串至少有一个#\##。 2≤n≤500000,∑i1n∣si∣≤1062\leq n\leq 500000,\sum_{i1}^n…正题 题目链接:https://ac.nowcoder.com/acm/contest/72/F 题目大意 nnn个字符串包括小写字母和#\##。其中#\##可以替换为任意字符串。求有多少对字符串可能相同。 保证每个字符串至少有一个#\##。 2≤n≤500000,∑i1n∣si∣≤1062\leq n\leq 500000,\sum_{i1}^n |s_i|\leq 10^62≤n≤500000,∑i1n​∣si​∣≤106 解题思路 因为可以替换为任意字符串所以只需要考虑第一个#\##前和最后一个#\##后的部分。 在仔细考虑一下这个字符串分成前后的两个部分s,ts,ts,t。数对(x,y)(x,y)(x,y)满足条件当且仅当sxs_xsx​是sys_ysy​的前缀或者sys_ysy​是sxs_xsx​的前缀且txt_xtx​是tyt_yty​的后缀或者tyt_yty​是txt_xtx​的后缀。 放到两棵TrieTrieTrie树上就是都有祖先关系就好了直接跑第一棵上然后用两个树状数组在第二棵树上维护就好了。 时间复杂度O(mlog⁡m)O(m\log m)O(mlogm) code #includecstdio #includecstring #includealgorithm #includevector #define lowbit(x) (x-x) using namespace std; const int N1e610; int n,cnt,pos[N],dfn[N],ed[N]; long long ans;char s[N]; vectorint G[N]; struct TreeBinary{int t[N];void Change(int x,int val){while(xcnt){t[x]val;xlowbit(x);}return;}int Ask(int x){int ans0;while(x){anst[x];x-lowbit(x);}return ans;} }Bf,Bs; struct Trie{int t[N][26],m1;int Insert(char *s,int n){int x1;for(int i1;in;i){if(s[i]#)break;int cs[i]-a;if(!t[x][c])t[x][c]m;xt[x][c];}return x;} }Tp,Ts; void dfs(int x){dfn[x]cnt;for(int i0;i26;i)if(Ts.t[x][i])dfs(Ts.t[x][i]);ed[x]cnt; } void work(int x){for(int i0;iG[x].size();i){int pG[x][i];ansBf.Ask(dfn[pos[p]]);Bf.Change(dfn[pos[p]],1);Bf.Change(ed[pos[p]]1,-1);ansBs.Ask(ed[pos[p]])-Bs.Ask(dfn[pos[p]]); Bs.Change(dfn[pos[p]],1);}for(int i0;i26;i)if(Tp.t[x][i])work(Tp.t[x][i]);for(int i0;iG[x].size();i){int pG[x][i];Bs.Change(dfn[pos[p]],-1);Bf.Change(dfn[pos[p]],-1);Bf.Change(ed[pos[p]]1,1);} } int main() {scanf(%d,n);for(int i1;in;i){scanf(%s,s1);int lstrlen(s1);int xTp.Insert(s,l);G[x].push_back(i);reverse(s1,s1l);pos[i]Ts.Insert(s,l);}dfs(1);work(1);printf(%lld\n,ans);return 0; }
http://www.ihoyoo.com/news/17134.html

相关文章:

  • 韶关市建设与房地产信息网站网页设计需要学什么书
  • 公司网站建设佛山哪家专业建一个产品介绍网站
  • 哈尔滨 做网站sem招聘
  • 服装网站建设准备金融投资网站模板
  • 吴家山网站建设公司杭州网站设计网页
  • 设计接单子网站高明网站开发公司
  • 如何做网站支付链接无锡 网站建设
  • 引流网站建设教程wordpress4.0 伪静态
  • 海外高延迟服务器做网站shopex网站备份
  • ps和dw做网站郑州seo怎么做
  • 帮建网站的人2022年小规模企业所得税怎么征收
  • 昆明做网站建设找谁ppt在线制作免费
  • 南京手机网站阿里云域名空间网站建设
  • 网站建设三合一阿里云电影网站建设教程
  • 自己建网站买玩具深圳营销型网站定制
  • 做挂的网站wordpress d8 4.1
  • wordpress后台 教程北京搜索引擎优化
  • 郑州直播网站建设百度搜索数据查询
  • 重庆seo网站上海网站建设招聘
  • 驻马店网站开发视频直播间话术
  • seo站长查询怎么查找一个网站开发时间
  • 自己做网站需要什么技术h5怎么制作下一页
  • 学做家常菜去那个网站东莞市天气
  • 网站建设几层结构目前常见网络营销推广方法
  • 遵义在线网站建设工厂怎么推广自己的产品
  • 自己做的创意的网站个人网址怎么填
  • 高效网站推广设计怎么利用网络挣钱
  • 去掉网站侧边栏福州市建设工程造价管理网站
  • 微信做模板下载网站短网址生成功能
  • 新网站多久被收录全国最新产品代理