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

如何优化网站导航怎么样建设一个网上教学网站

如何优化网站导航,怎么样建设一个网上教学网站,wordpress工业产品企业网站主题,近三天新闻50字左右题目 小红定义一个字符串的权值为:其长度为3的回文子序列数量。 例如,“0110” 的权值为 2 ,因为包含两个回文子序列 "010"。 现在给定一个长度为 n 的数组。你需要构造一个 01 串,满足其长度为 i 的前缀的权值恰好是…

题目

小红定义一个字符串的权值为:其长度为3的回文子序列数量。

例如,“0110” 的权值为 2 ,因为包含两个回文子序列 "010"。

现在给定一个长度为 n 的数组。你需要构造一个 01 串,满足其长度为 i 的前缀的权值恰好是数组的第 i 项。

输入描述:

第一行输入一个正整数 n ,代表待构造的字符串长度。

第二行输入一个长度为 n 的数组,代表待构造的 01 串每个长度的前缀权值。

输出描述:

如果无解,请输出 -1 。

否则输出一个长度为 n 的 01 串,有多解时输出任意即可。

输入样例1:

3
0 0 1

输出样例1(输出000,111,101亦可):

010

解答

  1. 问题分析:

    • 回文子序列定义为三个位置i < j < k,其中首尾字符相同。

    • 需要构造一个01串,使得每个前缀的权值严格匹配给定的数组。

  2. 关键观察:

    • 前两个字符的权值必须为0,因为无法形成长度为3的子序列。

    • 每次添加新字符时,新增的回文子序列数目取决于前序字符的分布。

  3. 算法选择:

    • 枚举所有可能的前两个字符组合(00, 01, 10, 11)。

    • 对每个组合,模拟后续字符的构造过程,维护字符计数和位置和以快速计算新增的回文子序列数目。

# 此代码通过了85%的测试点
n = int(input())
a = list(map(int, input().split()))if n == 1:print('0' if a[0] == 0 else -1)exit()if a[0] != 0 or a[1] != 0:print(-1)exit()prefixes = ['00', '01', '10', '11']for pre in prefixes:s = list(pre)count0 = 0count1 = 0sum0 = 0sum1 = 0# 初始化前两个字符的统计for i in range(2):pos = i + 1  # 1-basedif pre[i] == '0':count0 += 1sum0 += poselse:count1 += 1sum1 += posvalid = Truefor i in range(3, n + 1):if i - 1 >= len(a) or i - 2 < 0:valid = Falsebreakcurrent_d = a[i - 1] - a[i - 2]if current_d < 0:valid = Falsebreak# 计算delta0和delta1delta0 = (i - 1) * count0 - sum0delta1 = (i - 1) * count1 - sum1if delta0 == current_d:s.append('0')count0 += 1sum0 += ielif delta1 == current_d:s.append('1')count1 += 1sum1 += ielse:valid = Falsebreakif valid and len(s) == n:print(''.join(s))exit()print(-1)

文章转载自:

http://JsFTl0nS.csptr.cn
http://V37YIm47.csptr.cn
http://CNmGsySP.csptr.cn
http://7wL3frag.csptr.cn
http://tpULq4Dh.csptr.cn
http://1K4DZMFV.csptr.cn
http://dtBUmM8D.csptr.cn
http://KGd00Xng.csptr.cn
http://bauGImfp.csptr.cn
http://apZcdZPF.csptr.cn
http://poWucieh.csptr.cn
http://y0K5DfKC.csptr.cn
http://ZEFP4aG1.csptr.cn
http://1cy7MgNK.csptr.cn
http://60j8wXYY.csptr.cn
http://mxwZD4l2.csptr.cn
http://LHr3qDae.csptr.cn
http://BoKuDQqC.csptr.cn
http://9Y9gyYOi.csptr.cn
http://YxjMIjS4.csptr.cn
http://3y4YC9Jm.csptr.cn
http://kRcxNURa.csptr.cn
http://ZEt2wswZ.csptr.cn
http://TFYpGEDi.csptr.cn
http://9lU1Udv2.csptr.cn
http://Fszp06qV.csptr.cn
http://GmgjNHCz.csptr.cn
http://Os2KJLTD.csptr.cn
http://ieK5NpV8.csptr.cn
http://JkEr5Ue5.csptr.cn
http://www.dtcms.com/wzjs/715112.html

相关文章:

  • 深圳制作网站制作2019河北省建设厅检测员报名网站
  • 如何做网站主题网络运营公司排名
  • 安徽省建设厅网站个人怎么注册网页开发项目
  • 做网站公司职务网站建设免费模板下载
  • app打包公司有哪些西安seo优化工作室
  • 佛山市住房建设局网站办事大厅h5游戏代理
  • 重庆网站模版建设网站估价
  • 电影vip网站建设步骤西安建站之家网络科技有限公司
  • 深圳网站公司制作搭建网站 赚钱
  • 广告机 东莞网站建设安装完wordpress怎么打开
  • 如何查看网站域名统一门户登录
  • 做平台的网站有哪些功能网站提交订单付款才跳转怎么做
  • 安徽金开建设集团网站电脑个人网站怎么做
  • 海外网站测速重庆关键词快速排名
  • 网站建设 自己的服务器网上商城购物系统
  • 网站无法访问东营住房和城乡建设局官网
  • 网站建设 摊销年限企业管理培训课程名称
  • 国外做美食的网站个人域名可以备案企业网站吗
  • .net网站开发用的书籍中国建设招投标网站
  • 网站全景图怎么做免费域名映射
  • 建设网站方向cad效果图怎么制作
  • 大学生引流推广的方式桔子seo
  • 北京好网站制作公司哪家好表格制作教程从零开始
  • 平台制作专业网站制作大连餐饮网站建设
  • 中国网站建设中心乾安网站建设哪家专业
  • dedecms旅游网站模板一家专门做爆品印刷的网站
  • 怎样用dw做网站导航条wordpress登陆页文件
  • 教育培训排行榜前十名汕头seo建站
  • ftp免费网站空间2017年网站建设高职考f卷
  • 网站目录在哪现货黄金看盘软件