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

vi设计主题品牌优化落实疫情防控新十条

vi设计主题品牌,优化落实疫情防控新十条,小程序灵犬反低俗助手,网站别名由于题目涉及到后缀,不难想到用 trie 树处理。 将每个字符串翻转插入 trie,后缀就变成了前缀,方便处理。 条件 LCS ( A , B ) ≥ max ⁡ ( ∣ A ∣ , ∣ B ∣ ) − 1 \text{LCS}(A,B) \ge \max(|A|,|B|)-1 LCS(A,B)≥max(∣A∣,∣B∣)−1&…

由于题目涉及到后缀,不难想到用 trie 树处理。

将每个字符串翻转插入 trie,后缀就变成了前缀,方便处理。

条件 LCS ( A , B ) ≥ max ⁡ ( ∣ A ∣ , ∣ B ∣ ) − 1 \text{LCS}(A,B) \ge \max(|A|,|B|)-1 LCS(A,B)max(A,B)1,说明 ∣ ∣ A ∣ − ∣ B ∣ ∣ ≤ 1 \left||A|-|B|\right|\le1 AB1

所以两个字符串押韵当且仅当在 trie 树上二者是父子或兄弟关系。

考虑树型 DP,设 f i f_i fi 表示 i i i 所代表的字符串在序列最右边的最长序列长度, v a l i val_i vali 表示节点 i i i 是否(1/0)有单词, s z i = ∑ x ∈ s o n i v a l x sz_i=\sum\limits_{x\in son_i}val_x szi=xsonivalx

显然有转移 f i = max ⁡ x ∈ s o n x ( f x ) + s z i − 1 + v a l i f_i=\max\limits_{x\in son_x}(f_x)+sz_i-1+val_i fi=xsonxmax(fx)+szi1+vali

如果 v a l i = 0 val_i=0 vali=0,说明都没有字符串, f i = 0 f_i=0 fi=0

更新答案时,记录儿子 f s o n i f_{son_i} fsoni 的最大和次大,再加上剩余儿子和自己的 v a l val val。(感性理解,一条链只有两个位置是“自由”的,由此设出 DP 状态)

本题卡空间,所以建 trie 树时要动态开点。

具体实现参见代码。

#include<bits/stdc++.h>
using namespace std;
const int N=3e6+10;
int cnt=1,n,f[N],ans;
char a[N];
struct node
{vector<pair<int,int> > son;int fa,val;
}tr[N];
void insert(int rt,char a[],int len)
{for(int i=0;i<len;i++){int x=a[i]-97;for(auto j:tr[rt].son){if(j.first==x){rt=j.second;goto a;}}tr[rt].son.push_back(make_pair(x,++cnt));rt=tr[rt].son.back().second;a:;}tr[rt].val++;
}
void dfs(int rt)
{int aa=0,bb=0,x=0,y=0,sum=0;for(auto i:tr[rt].son){dfs(i.second);sum+=tr[i.second].val;f[rt]=max(f[rt],f[i.second]);if(f[i.second]>aa){bb=aa;aa=f[i.second];y=x;x=tr[i.second].val;}else if(f[i.second]>bb) bb=f[i.second],y=tr[i.second].val;}f[rt]+=sum-x;if(!tr[rt].son.size()) ans=max(ans,tr[rt].val);else ans=max(ans,aa+bb-x-y+sum+tr[rt].val);if(!tr[rt].val) f[rt]=0;else f[rt]++;
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%s",a);int len=strlen(a);reverse(a,a+len);insert(1,a,len);}dfs(1);cout<<ans;
}
http://www.ritt.cn/news/18130.html

相关文章:

  • 软件系统网站建设新站seo外包
  • 陶瓷 网站模板推广方案100个
  • wordpress更换图标站长工具seo综合查询关键词
  • 网站设计怎么做超链接b2c有哪些电商平台
  • 新疆生产建设兵团建工集团网站营销策略都有哪些方面
  • wordpress插件轮播图南宁网站seo大概多少钱
  • 腾讯学生服务器做网站企业站seo
  • 网站建设个体营业执照企业网站seo诊断报告
  • 用jsp做的网站首页中国站长之家
  • 懒懒淘客怎么做自己的网站中关村标准化协会
  • 高端网站建设注意谷歌关键词排名优化
  • 项目外包 网站开发网站搜索排名优化价格
  • h5页面版式设计有哪些方法网站seo优化方法
  • 长沙网站建设工作室seo是付费还是免费推广
  • 黄石网站设计公司班级优化大师免费下载电脑版
  • 郑州做装饰的网站竞价是什么工作
  • 禹城有做网站seo自然排名优化
  • 网站怎么做响应seo排名优化什么意思
  • 郑州网站推广 汉狮网络百度官网下载电脑版
  • 网站公司未来计划ppt怎么做南昌网站优化公司
  • 委托做网站违反广告法常德政府网站市民留言
  • 没有服务器 怎么做网站优化关键词快速排名
  • 做独立网站的好处提供seo服务
  • 如何做网站的百度明星人气排行榜
  • 网站建设服务合同模板下载yahoo引擎入口
  • 网站建设 中企动力 东莞优化一个网站需要多少钱
  • 手机怎么提升网站流量百度代理推广
  • 自己电脑做电影网站吗购物网站有哪些
  • 河南那家做网站实力强小程序怎么引流推广
  • 宝山手机网站制作公司杭州seo排名优化