暂无链接

玩串

【问题描述】

艾奇非常喜欢玩串。
艾奇觉得,字符串什么的非常优美。她会有事没事地给一个字符串数它有多
少个好的非空子序列。
一个好的子序列,满足它是SSSSSS的形式。
比如说,abcabcabcabcabcabc就是好的,而233323332333就不是好的。
众所周知,一个字符串的子序列有222的长度次方个,而好的字符串长度一定是偶数。
而一个字符串的权值,就是本质不同的好的子序列的个数。
两个子序列本质不同,当且仅当它们之中任意一个字符所处的位置不同。
(以上大家应该都知道吧)
一天,艾奇数着数累了,她想知道对于一个权值xxx,你能否找到这样一个字符串呢?
当然,本题可能有多个满足条件的解,你只需要输出任何一个即可。
当然我不可能让你随意输出对吧,不然这题还做个球。
任何情况下,字符串的长度不能超过100100100,字符集大小不能超过505050。
就这么简单。

【输入格式】

输入文件名为fkstring.infkstring.infkstring.in。
一行一个整数,表示你输出的串需要包含的权值。

【输出格式】

输出文件名为fkstring.outfkstring.outfkstring.out。
第一行一个数nnn,表示你输出字符串的长度。
第二行nnn个数,表示你输出的满足要求的串。

【输入样例 1】

详见fkstring1.infkstring1.infkstring1.in

【输出样例 1】

详见fkstring1.outfkstring1.outfkstring1.out

【数据范围】

【备注】

下发的样例输出文件,只是供作参考,表示一种合法的字符串。
字符串的输出形式,你需要输出一行不超过100100100个数。每个数的大小不超过 505050。每个
数表示一个对应的字符。不同的数字代表不同的字符。

题解

我们考虑上空串,先让n+1n+1n+1,答案初始为空,价值为111,设整个串由两部分S1,S2S_1,S_2S1​,S2​构成,其中S1S_1S1​为1,2,⋯ ,k1,2,\cdots,k1,2,⋯,k,我们可以由下面两个操作更改整个串的价值:

价值加一:S1,S2→S1,k+1,k+1,S2S_1,S_2 \to S_1,k+1,k+1,S_2S1​,S2​→S1​,k+1,k+1,S2​;

价值乘二:S1,S2→S1,k+1,S2,k+1S_1,S_2\to S_1,k+1,S_2,k+1S1​,S2​→S1​,k+1,S2​,k+1。

然后就做完了。。。

代码
#include<bits/stdc++.h>
using namespace std;
deque<int>dui;
int n,tot,bit[30],top,i;
void in(){scanf("%d",&n);}
void ac()
{for(++n;n;n>>=1)bit[++top]=n&1;for(dui.push_front(++tot),i=top-1;i;--i,dui.push_back(++tot))if(bit[i]&1)dui.push_front(++tot);printf("%d\n",tot-1<<1);for(i=1;i<tot;++i)printf("%d ",i);for(;dui.size()>1;dui.pop_front())printf("%d ",dui.front());
}
int main(){in(),ac();}

[2018.10.18 T3] 玩串相关推荐

  1. 训练日志 2018.10.18

    花了一周时间把之前学过的算法和题重新看了一下,重新架构了一下知识体系,对 DP 和搜索有了更深刻的认识,这周正式开始图论内容,抽空再将搜索的优化和 A* 算法学习一下 2018.10.18

  2. ssl提高组周四备考赛【2018.10.18】

    前言 开始做四面八方扣来的题 成绩 RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC 111 2017zyc2017zyc2017 ...

  3. 【2018.10.18】noip模拟赛Day2 地球危机(2018年第九届蓝桥杯C/C++A组省赛 三体攻击)...

    题目描述 三体人将对地球发起攻击.为了抵御攻击,地球人派出了 $A × B × C$ 艘战舰,在太 空中排成一个 $A$ 层 $B$ 行 $C$ 列的立方体.其中,第 $i$ 层第 $j$ 行第 $k ...

  4. 2018.10.18多校

    T1:虽说大家都被cdq限制住了思维,我一个注意到了排列有问题的还是凉了,这个我没有一点办法了. 链接:cdq T2:留坑,太毒了 T3:考场上就不觉得能写,虽然心里想到一些做法,还是没写了,现在会写 ...

  5. 计算机科学英语 --- 持续更新中(2018/10/18)

    plain     eg:plain text  纯文本:纯文本(金山词霸) invoke 调用 eg:To invoke a remote method, a request is sent.  为 ...

  6. 《惢客创业日记》2018.10.18(周四)给讯飞语音的三条建议

    今天,在上班的路上继续用讯飞语音的一款产品"讯飞语记"来写日记.现在,即使晚上躺在床上,用"讯飞语记"来写日记,每天仍然会花去两个多小时的时间.这对我来说,不仅 ...

  7. JZOJ2020年8月10日提高组T3 玩诈欺的小杉

    JZOJ2020年8月10日提高组T3 玩诈欺的小杉 题目 Description 是这样的,在小杉的面前有一个N行M列的棋盘,棋盘上有N∗MN*MN∗M个有黑白棋的棋子(一面为黑,一面为白),一开始 ...

  8. 2018.10.31模拟赛

    T1 lgg L 君和 G 君在玩一个游戏.G 君写下一个字符串 A,L 君将其复制一遍连接到 A 串后面得 到字符串 B, G 君又在 B 的任意位置(包括首尾)插入一个字符得到字符串 C.现在你得 ...

  9. 2018.10.17考试

    2018.10.17考试总结 1.咒语 (curse.pas/c/cpp) [题目描述] 亮亮梦到自己来到了魔法城堡, 但一扇巨大的石门阻拦了他通向城堡内的路.正当他沮丧之际,突然发现门上有一处机关, ...

  10. c语言程序设计实验指导交大答案,C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc...

    C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc 实验一 Visual C集成环境实验内容(一)程序改错1.(1)无法运行(2)将第二个C程序重 ...

最新文章

  1. 【救援过程】升级openssl导致libcrypto.so.1.1动态库不可用
  2. 2021人工神经网络第二次作业要求
  3. LeetCode Shortest Unsorted Continuous Subarray
  4. NEFU 635(二分+枚举)
  5. oracle服务器不识别tc服务,记一次ORACLE无法启动登陆事故
  6. 将span隐藏的函数_分类汇总函数Subtotal和Aggregate应用技巧解读
  7. C/C++ OpenCV均值滤波
  8. mermaid流程图工具_Markdown高级使用之流程图
  9. Lync和Exchange 2013集成PART1:准备所需证书
  10. list所有元素相加 python_什么是序列,Python序列详解(包括序列类型和常用操作)...
  11. Xcode在 release 模式下断点调试
  12. java webservice接口开发实例_Webservice 接口开发简单例子
  13. C语言负数的小数次方,c语言 10 负次方
  14. python3 爬虫https的坑 -- 已解决
  15. 18939 最长单词
  16. 爬虫——解析图书排行榜图书信息
  17. 100道Java并发和多线程面试题
  18. 糗事百科 android源码,Android高仿糗事百科(含服务端)
  19. 中国石油大学《计算机文化基础》第一次在线作业
  20. 三星电脑Notebook 5(NP500R3M-K08)更换SSD

热门文章

  1. 基础集合论 第一章 5 偶集
  2. 函数在某点附近有界,但该点无极限值的例子
  3. 1091.二进制矩阵中的最短路径(力扣leetcode) 博主可答疑该问题
  4. IPy模块测试demo,打印C段ip列表
  5. 河海大学文天学院计算机科学与技术,河海大学文天学院计算机科学与技术2010级软件工程试卷...
  6. 《离散数学》-图论6.10
  7. HQL左外连接及排序
  8. ubuntu环境下android开发环境安装
  9. SQL_Server_2008完全学习之第五章操作架构、索引和视图
  10. SQL注射技术总结文档