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

海关网站建设方案wordpress专业

海关网站建设方案,wordpress专业,红安县建设局网站,可以下载新闻视频的网站解析 做出来了就是胜利#xff01; 个人感觉虽然我这个nxt树的码量会大一点#xff0c;但是思路其实比较自然。#xff08;看题解区也有#xff09; 也是一个相当可取的做法。 现在来讲讲巧妙的dp做法。 考虑直接嗯设#xff1a;fif_ifi​ 表示覆盖 [1,i][1,i ][1,i] 的…解析 做出来了就是胜利 个人感觉虽然我这个nxt树的码量会大一点但是思路其实比较自然。看题解区也有 也是一个相当可取的做法。 现在来讲讲巧妙的dp做法。 考虑直接嗯设fif_ifi​ 表示覆盖 [1,i][1,i ][1,i] 的最小印章。 一个比较显然的结论是fif_ifi​ 要么是一个border要么是前缀 i 本身。 当作本身显然是一个极其备胎的选择关键就是找到是否有可以替代的最短border。 注意到fnxtif_{nxt_i}fnxti​​ 已经可以覆盖 [1,nxti][1,nxt_i][1,nxti​]那么它只要也可以覆盖后面的部分那么就可以直接令 fi←fnxtif_i\gets f_{nxt_i}fi​←fnxti​​。 而对于小于 fnxtif_{nxt_i}fnxti​​ 的border根据定义其连 [1,nxti][1,nxt_i][1,nxti​] 都无法覆盖所以必然是非法的。 对于大于 fnxtif_{nxt_i}fnxti​​ 的border假设其合法那么注意到 fnxtif_{nxt_i}fnxti​​ 必然也可以印出这个border那么它就可以“仿印”出大 border 的效果fnxtif_{nxt_i}fnxti​​ 必然也是合法的。所以较大的border即使合法也必然不会成为最优答案。 所以只需要考虑 fnxtif_{nxt_i}fnxti​​ 是否可以赋值给 fif_ifi​ 就行了。 可以开桶简单维护。 然而懒得写还是贴的自己nxt树的做法。 代码 #includebits/stdc.h using namespace std; #define ll long long #define ull unsigned ll #define debug(...) fprintf(stderr,__VA_ARGS__) #define ok debug(OK\n) inline ll read() {ll x(0),f(1);char cgetchar();while(!isdigit(c)) {if(c-) f-1;cgetchar();}while(isdigit(c)) {x(x1)(x3)c-0;cgetchar();}return x*f; }const int N5e5100; const int mod998244353;inline ll ksm(ll x,ll k){ll res(1);while(k){if(k1) resres*x%mod;xx*x%mod;k1;}return res; }int n,m,q;char s[N]; int p[N]; void kmp(char *s,int n){p[1]0;for(int i1,j0;in;i){while(js[j1]!s[i1]) jp[j];if(s[j1]s[i1]) j;p[i1]j;}return; } int a[N],num,tag[N]; vectorinte[N],v[N]; int fa[N],vis[N],siz[N],cur; int find(int x){return fa[x]x?x:fa[x]find(fa[x]); } inline void merge(int x,int y){xfind(x);yfind(y);if(siz[x]siz[y]) swap(x,y);fa[x]y;siz[y]siz[x];return; } void dfs(int x,int rt){v[rt].push_back(x);tag[x]1;for(int to:e[x]){if(tag[to]) continue;dfs(to,rt);}return; } inline void ins(int x){vis[x]1;if(vis[x-1]) merge(x-1,x);if(vis[x1]) merge(x1,x);curmax(cur,siz[find(x)]); }signed main(){ #ifndef ONLINE_JUDGEfreopen(a.in,r,stdin);freopen(a.out,w,stdout); #endifscanf(%s,s1);nstrlen(s1);kmp(s,n);for(int xn;x;xp[x]){tag[x]1;a[num]x;}for(int i1;in;i){e[p[i]].push_back(i);fa[i]i;siz[i]1;}reverse(a1,a1num);//printf(%s\n,s1);for(int i1;inum;i) dfs(a[i],a[i]);for(int i1;in;i){if(!tag[i]) ins(i);}for(int i1;inum;i){int xa[i];if(xcur){printf(%d\n,x);return 0;} for(int o:v[x]) ins(o); }return 0; } /**/
http://www.zqtcl.cn/news/542155/

相关文章:

  • jsp网站架构网站设计的主要内容
  • html电子商务网站模板wordpress 随机阅读数
  • 湖南省军区强军网网站群建设项目免费网页托管
  • 网站背景图政协网站 两学一做专题研讨
  • 买域名建网站郑州做网站优化运营商
  • 建设宠物店网站114查询
  • 怎么查网站关键词排名微信与与网站建设
  • 湖州高端网站建设医疗网站源码
  • 有什么网站是做兼职的直播视频怎么录制
  • 扬州市网站建设工作室免费模板网站建设
  • 网站大全全部优秀网站设计流程
  • 授权网站系统网站标题如何修改
  • 商城网站大概多少钱考证培训机构报名网站
  • 马鞍山做网站怎么看网站谁做的
  • 网站建设捌金手指专业7网站如何设置广告
  • 做网站用什么浏览器好工程公司工作总结
  • 温州做网站哪家好为wordpress移动端
  • 温州平阳县企业网站搭建推荐建立网站的技术路径
  • php c2c网站开发的 书营销型网站sempk
  • 网站建设专业网站设计公司物格网陕西建省级执法人才库
  • 网站后台管理密码忘了建设网站简单吗
  • 做网站在哪里网站开发平台有哪些
  • 网站域名的建立推荐一个两学一做的网站
  • 网站开发开源框架企业影视广告制作公司
  • 网站建设人员的组织音乐网站建设目标
  • 动画制作软件下载安装网站seo置顶
  • 怎么做网站推广的步骤关闭评论 WordPress
  • 合肥建站费用学生做兼职去哪个网站
  • 万户网络做网站如何做网站的企业排名
  • 天猫网站左侧菜单向右滑出的导航菜单阜阳h5网站建设公司