简单构造题。
1.考虑放连续的一段相同字母,回文子串个数是C(n+1,2) 。
2.我们只需要按照r,d,e,r,d,e,...这样的顺序来放置连续的段,那么每个段之间就是独立的,即不会产生跨段的回文子串.
3.由于字符串长度有限制,x 又比较大,所以我们可以采取贪心的策略,每次放尽量长的相同段(这个过程可以二分),使得最终构造出来的段尽量小。
有一个神话传说,说在很久以前,红色的守护者曾经来到人间,为了保护人们免受邪恶的侵害,他留下了一个强大的魔法。这个魔法被传说中的红宝石所承载,只有能够创造出特定数量回文子串的字符串才能够揭示出它的秘密。
为了获得这个神秘的魔法,有一个名叫小红的人在神秘的传说中展开了他的冒险。他在一本古老的书籍中找到了一篇有关于这个魔法的描述:
在所有由‘r’,‘e’和‘d’这三种字符构成的字符串中,只有当回文子串的数量为特定数量时,才能揭示红宝石的魔法。这个特定数量由一个神秘的整数 x 所定义。
为了获得这个强大的魔法,小红开始思考如何创造出刚好有 x 个回文子串的字符串。他发现,如果想要获得这个魔法,就必须要先找到这个特定的字符串,因此他开始了漫长的冒险之旅。
字符串的长度不得超过105
一个正整数x.
1≤x≤109
4
rre