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

泉州网站设计理念培训最简单的cms网站怎么做

泉州网站设计理念培训,最简单的cms网站怎么做,网站建设和备案的顺序,大型门户网站建设方案传送门 题意#xff1a;给一个字符串SSS和正整数kkk#xff0c;将SSS分成最多kkk段#xff0c;每段不变或翻转#xff0c;使得最后的字典序最小。 ∣S∣≤5106|S|\leq5\times10^6∣S∣≤5106 发现不翻转可以看成拆成若干单字符分别翻转#xff0c;所以先分析一下必须翻转…传送门 题意给一个字符串SSS和正整数kkk将SSS分成最多kkk段每段不变或翻转使得最后的字典序最小。 ∣S∣≤5×106|S|\leq5\times10^6∣S∣≤5×106 发现不翻转可以看成拆成若干单字符分别翻转所以先分析一下必须翻转的情况 把原串翻转记为SRS^RSR然后我们要求的是不断剪掉SRS^RSR的后缀然后依次拼起来 这样最终串的第一段是SRS^RSR的一个后缀所以最终串的开头一定有SRS^RSR的最小后缀但不一定是最小后缀作为第一段因为最小后缀可能会在前面作为非后缀出现 显然这个“最小后缀”是Lyndon分解后的最后一段记为sss 我们希望开头的sss尽量多 那么SRS^RSR可表示为a1st1a2st2...anstnasa_1st_1a_2st_2...a_nst_nasa1​st1​a2​st2​...an​stn​as(和Lyndon分解没有关系) 首先可以一刀把asasas砍掉然后找到a1∼ana_1\sim a_na1​∼an​中最大的砍下来 发现这第二段是砍掉asasas后的最小后缀相当于是下一轮的第一段 整理一下对SRS^RSR进行Lyndon分解并合并相等段这个Duval的时候魔改一下就可以了 然后依次砍掉最后一段并让k−1k-1k−1 注意我们假设了必须翻转如果我们发现有连续一段的长度为111的串相当于这一段不翻转只需要一步 这个流程需要砍掉两段只是后面一段和下一步的第一段重合了所以需要k2k2k2 完了之后有k≤2k \leq 2k≤2,如果剩下的只有一段直接大力讨论掉 如果k1k1k1,SSS和SRS^RSR取个min⁡\minmin即可 如果k2k2k2,相当于分两段大力讨论 注意是针对原串 前面后面都不翻 就是原串只翻后面 我们考虑找到最优的位置 从左到右循环设当前最优位置为cutcutcut,需要更新的位置为iii 注意cuticuticuti (橙色部分为反串TTT指SRS^RSR) 我们希望比较两个串的大小 所以从cutcutcut开始找到第一个不同的位置比较大小 首先求出Scut∼i−1S_{cut\sim i-1}Scut∼i−1​与TTT的最长公共前缀可以先跑一个exKMP,求出SSS的cutcutcut开始的后缀与TTT的最长公共前缀后和i−cuti-cuti−cut取min⁡\minmin 如果把蓝色部分顶满了再加上后面的部分 即TTT从i−cuti-cuti−cut开始的后缀与TTT的最长公共前缀与n−i1n-i1n−i1取min⁡\minmin 然后讨论一下找到第一个不同的字符比较大小即可 翻前面后面不管 继续从SRS^RSR的结尾截后缀设截取的后缀为TTT 考虑分解后的最后一个Lyndon串sss,TTT一定以sss开头也以sss结尾 根据意识流TTT一定不会只取一个分解后的LW的一部分也不会把两个相等的LW隔开 设TTT开始的第一段为s′ss′,所以sss是s′ss′的前缀 然后有若干个s′ss′接在后面这些s′ss′后的第一个设为ttt 根据Lyndon分解的定义t≤s′t \leq st≤s′。而如果ts′t sts′,那么从ttt开始截取后缀会比TTT小与定义矛盾 所以TTT一定是s′s′...s′ss...sss...sss...ss′s′...s′ss...s的形式 把上面剩下的 Lyndon分解合并相等段 的倒数第二段提出来如果sss是它的前缀说明倒数第二段是s′ss′此时分类讨论翻后面两段或者只翻最后一段如果不是说明s′ss′不存在只能翻最后一段 第二段和反串取min⁡\minmin接在后面 复杂度O(n)O(n)O(n) 如果用std::string的话要注意AAB和AB复杂度不同…… #include iostream #include cstdio #include cstring #include cctype #include string #include algorithm #define MAXN 10000005 using namespace std; string s,t,ts,ans; int pos[MAXN],len[MAXN],tot; inline string reverse(string s) {string t;t.resize(s.size());int ns.size();for (int i0;in;i) t[n-i-1]s[i];return t; } void Duval(const string s) {int ns.size();for (int i0;in;){int ji,ki1;while (s[j]s[k]) {if (s[j]s[k]) j;else ji; k;}len[tot]k-j;while (ij){pos[tot]ik-j-1;ik-j;}} } int p[MAXN]; void Exkmp(const string s) {int ns.size();int mid0,mx0;p[0]n;for (int i1;in;i){if (imx) p[i]min(p[i-mid],mx-i1);while (s[ip[i]]s[p[i]]) p[i];if (ip[i]-1mx) midi,mxip[i]-1;} } int main() {ios::sync_with_stdio(false);cins;treverse(s);int k;cink;if (k1) return coutmin(s,t),0;Duval(t);pos[0]-1;while (k2tot){if (len[tot]1){while (totlen[tot]1) anst.substr(pos[tot-1]1,pos[tot]-pos[tot-1]),--tot;--k;}else anst.substr(pos[tot-1]1,pos[tot]-pos[tot-1]),--k,--tot;}if (tot0) return coutans,0;if (tot1){string tmpt.substr(0,pos[1]1);tmpmin(tmp,reverse(tmp));coutanstmp;return 0;}sreverse(tt.substr(0,pos[tot]1));tst#s;Exkmp(ts);string tmpmin(s,t);int cut0,ns.size();for (int i1;in;i){int clmin(i-cut,p[n1cut]);if (cutcli) clp[cl];clmin(cl,n-cut);if ((cli-cut? s[cutcl]:t[cutcl-i])t[cl]) cuti;}tmpmin(tmp,s.substr(0,cut)t.substr(0,n-cut));string last.substr(pos[tot-1]1,len[tot]);string lasst.substr(pos[tot-2]1,len[tot]);int stpos[tot-1]1;string ttt.substr(st,n-st);string rest.substr(0,n-tt.size());ttmin(res,reverse(res));tmpmin(tmp,tt);if (laslass){stpos[tot-2]1;ttt.substr(st,n-st);rest.substr(0,n-tt.size());ttttmin(res,reverse(res));tmpmin(tmp,tt);}coutanstmp;return 0; }
http://www.pierceye.com/news/390585/

相关文章:

  • 阜蒙县自治区建设学校网站汉中市住建局建设厅网站官网
  • windows 2008 iis怎么搭建网站手机网站模板建站
  • 优设网官网首页seo教程搜索引擎优化
  • 做问卷给钱的网站页面设计结课总结
  • 洛阳集团网站建设wordpress 深度优化
  • python做网站缺点湛江市建网站
  • 济南网站建设(选聚搜网络)在线购物网站建设
  • 珠海专业做网站公司昆明搜索引擎推广
  • 阿里云 建设网站怎么样百度推广一级代理商名单
  • 湛江网站制作网站吉林省四平市网站建设
  • 酒店网站建设公司推广方法有哪些
  • 网站建设免备案免费空间wordpress在线教育主题购买
  • 网站后台验证码不显示成都市建设工程施工安监站网站
  • 榆林网站优化做图的网站
  • 在微信中做网站淄博 网站seo优化
  • 黑龙江省建设协会网站首页怎么用word做网站
  • 企业网站网站建设价格wordpress阶梯插件
  • 企业品牌建设方案范文roseonly企业网站优化
  • 电影资源采集网站咋做在百度上怎么建立网站吗
  • 好的企业网站设计方案中小企业网站建设 论文
  • 毕设网站建设论文网站开发合同履约
  • 织梦贷款网站源码备案过的网站换域名
  • 南宁网站seo顾问广州正规的免费建站
  • 温州教育网站建设建网站 陕西牛人网络科技
  • 青岛网站建设eoe世界杯现场直播
  • com网站建设中社交app定制开发
  • 阅读网站建设简易做海报网站
  • 上海企业网站建设推荐wordpress登录插件
  • 做网站的人联系电话可做产品预售的网站
  • 内部网络网站怎么做微信公众号推文制作软件