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

网站建设的基本技术温州外贸网站建设公司

网站建设的基本技术,温州外贸网站建设公司,一站式网站建设服务,山西成宁做的网站Musical Theme(后缀数组) 题意#xff1a; n个数#xff0c;选取一段子序列#xff0c;满足以下条件#xff1a; 1.长度至少为5 2.在数列中其他位置出现过(允许转置) 3.与其他位置出现的不重叠 转置#xff1a;将恒定的正或负值添加到子序列上 例如#xff1a; n个数为…Musical Theme(后缀数组) 题意 n个数选取一段子序列满足以下条件 1.长度至少为5 2.在数列中其他位置出现过(允许转置) 3.与其他位置出现的不重叠 转置将恒定的正或负值添加到子序列上 例如 n个数为12,34,56,78,910 12345是一段子序列那6,78,910也是因为前者加5等于后者且两者没有重叠 题解 人是傻的完全不会。。。 虽然两段序列不相等但是也是有关系的他们的差分区间相同也就是其两两之间的差值一样这样题目就转化成不重叠的最长公共子串问题 可以用二分后缀数组 我们将原数组前后相减得到的新数据做后缀数组 二分的check 二分最大长度k 检查两个子串是否不想交且公共前缀k 顺序扫描height数组 (height反应的是相邻两个后缀的lcp长度) 把heightk的放在一起统计(将公共前缀k满足条件的串放在一起)这是为了实现公共前缀k 保证其中最大的sa - 最小的sa k,说明两个子串的位置距离差大于k这是为了保证不相交 SA[i]排序第i的后缀的开始位置 例如字符串“aabaaaab’” 当k2时后缀分为四组 最长公共前缀不小于k 的两个后缀一定在同一组 代码 #includecstdio #includecstring #includealgorithm #includecmath using namespace std; const int maxm 100005; const int INF 1e9 7; int a[maxm], b[maxm], sa[maxm], s[maxm], Rank[maxm], id[maxm], Height[maxm]; int n, m; void Rsort() {for (int i 0; i m; i) s[i] 0;for (int i 1; i n; i) s[Rank[id[i]]] ;for (int i 1; i m; i) s[i] s[i - 1];for (int i n; i 1; i--) sa[s[Rank[id[i]]] --] id[i]; } int cmp(int *f, int x, int y, int w) {return f[x] f[y] f[x w] f[y w]; } void suffix() {for (int i 1; i n; i) Rank[i] a[i], id[i] i;m 200, Rsort();for (int w 1, p 1, i; p n; w w, m p){for (p 0, i n - w 1; i n; i) id[p] i;for (i 1; i n; i) if (sa[i] w) id[p] sa[i] - w;Rsort(), swap(Rank, id), Rank[sa[1]] p 1;for (i 2; i n; i) Rank[sa[i]] cmp(id, sa[i], sa[i - 1], w) ? p : p;}int j, k 0;for (int i 1; i n; Height[Rank[i]] k)for (k k ? k - 1 : k, j sa[Rank[i] - 1]; a[i k] a[j k]; k); } int judge(int x) {int mi INF, mx -INF;for (int i 2;i n;i){if (Height[i] x){mi min(mi, min(sa[i], sa[i - 1]));mx max(mx, max(sa[i], sa[i - 1]));if (mx - mi x) return 1;}else mi INF, mx -INF;}return 0; } int main() {int i, j, k, sum, ans;while (scanf(%d, n), n ! 0){ans 0;for (i 1;i n;i) scanf(%d, b[i]);for (i 1;i n;i) a[i] b[i] - b[i - 1] 100;suffix();int l 0, r n * 2;while (r - l 1){int mid (r l) / 2;if (judge(mid)) l mid, ans mid;else r mid;}if (ans 4) printf(%d\n, ans 1);else printf(0\n);}return 0; }
http://www.pierceye.com/news/840455/

相关文章:

  • 水利工程建设监理网站做餐厅logo什么网站素材多
  • 影楼行业网站做网站怎么宣传
  • 云做网站南宁网站建设索q.479185700
  • 运城做网站要多少钱天山网站
  • php网站端口企业网站建设及运营现状分析
  • 北京做网站价格如何知道一个网站是用什么做的
  • 海外域名网站国外做多媒体展览的网站
  • 阿里 网站建设方案书 模板wordpress影视模版
  • 广西网站建设工具网站推广方法主要有哪些
  • 源码购买网站郑州新一网站建设
  • 大学生网站设计论文范文某集团网站建设规划书
  • 温州哪里有网站建设深圳关键词首页排名
  • 做网站用什么面板好网站建设网站公司
  • 寻求网站建设技术网页升级访问永久你懂的
  • 做网站的公司有多少家无后台基础怎么建设网站
  • 在公司做网站是什么职位有链接的网站怎么做
  • 手机网站开发前台架构专业群建设网站
  • 做网站设计怎么样网站ui怎么做的
  • 企业网站用织梦好吗ui培训的课程都有哪些
  • 临沂专业网站建设公司哪家好做网站的照片要多大像素
  • 山东滕州做网站技术电话wordpress网页登陆
  • 做公司网站的费用flash交互网站页面切换制作
  • 网络推广渠道有哪些百度手机seo
  • 重庆专业网站建设公司哪家好seo的中文意思是什么
  • 做品牌折扣微信推广的网站网站换主机换域名
  • 营销型网站有哪些建设流程怎样制作免费的网站
  • 天津建设工程计价网站手工加工网
  • 温州做美食网站网站建设的方案模板下载
  • 如何快速网站备案以用户为中心 建设学校网站
  • 宣传型网站有哪些宁波建设信息港网站