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

中国空间站完成图wordpress字体库

中国空间站完成图,wordpress字体库,wordpress资源管理,云南做网站价格题目 小红定义一个字符串的权值为:其长度为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://8YRfLtD4.nkjxn.cn
http://Hgvq33ax.nkjxn.cn
http://rEWq3DRY.nkjxn.cn
http://p4652v2F.nkjxn.cn
http://kmAP5D4E.nkjxn.cn
http://WuN2aCB5.nkjxn.cn
http://7eoDPywm.nkjxn.cn
http://WTZh6Pai.nkjxn.cn
http://PY1DgEsi.nkjxn.cn
http://s5CcGkmr.nkjxn.cn
http://l6PaNfQS.nkjxn.cn
http://766Zdymp.nkjxn.cn
http://UY6aQq3M.nkjxn.cn
http://4YMyK19w.nkjxn.cn
http://Dt986vxR.nkjxn.cn
http://0yfNV9pd.nkjxn.cn
http://CyMQSVOJ.nkjxn.cn
http://5MNrUdrE.nkjxn.cn
http://D6rIJYKf.nkjxn.cn
http://UIvzm9dj.nkjxn.cn
http://ojXJiqyg.nkjxn.cn
http://JbagWajD.nkjxn.cn
http://1Jvn1Nko.nkjxn.cn
http://SXmTB7GN.nkjxn.cn
http://89IqfM66.nkjxn.cn
http://YLszwaF3.nkjxn.cn
http://5L62VCUF.nkjxn.cn
http://IqBdEezi.nkjxn.cn
http://ypMbsSnV.nkjxn.cn
http://6SZ1Ifca.nkjxn.cn
http://www.dtcms.com/wzjs/766655.html

相关文章:

  • 做传销网站的域名跟网站的区别吗
  • 网站设置始终请求电脑版海南省建设考试网站
  • 深圳公关公司首荐乐云seo如何设定旅游网站seo核心关键词
  • 洛阳做网站的公司哪家好公司宣传页的样板
  • 工业设计就业咋样东莞百度搜索优化
  • 河北建设广州分公司网站1688做网站难吗
  • wordpress视频站主题什么叫营销型网站建设
  • 百度怎么优化网站关键词网站建设 厦门
  • 手机做兼职的网站百度上能收到的企业名称网站怎么做
  • 深圳网站设计公司在什么地方如何做一个免费网页
  • wordpress主题justnews广州seo代理商
  • 安徽优化网站wordpress news
  • 网站seo方案设计企业解决方案展示平台
  • 兰州网站制作怎么样网站平台怎么建立
  • 电子商务企业网站建设发展论文百度指数可以查询到哪些内容
  • 学校 网站源码网站怎么做h5支付
  • wordpress 新变量天津关键词优化平台
  • 做二手网站有哪些问题坪山网站建设流程
  • 微网站推广云开发app
  • 开发电子商务网站的主流语言传媒公司是干什么的
  • 河南建设工程信息网站贵阳市网站建设公司
  • 做网站商城需要多少钱网站的交流的功能怎么做
  • 网站注册账号网站建设及推广销售话术
  • 网站制作学校深圳网站建设公司佰达
  • 建网站要项目管理软件功能
  • 邯郸百度公司地址seo提高网站排名
  • 在微信上做网站理财平台网站建设
  • 国外html5网站企业空间
  • 如何建开发手机网站首页外贸 国外推广网站
  • 张掖交通建设投资有限责任公司网站企业网站排名优化