首页 > 其他分享 >CF8E 题解

CF8E 题解

时间:2023-11-16 21:35:33浏览次数:29  
标签:方案 奇数 数为 题解 偶数 一半 CF8E

blog。抽象意义上单杀了。


首先第一位必定为 \(0\),然后取反串就不用去考虑了。

\(n\le50\),考虑爆搜。搜整个串的前一半(设半长为 \(M=\left\lfloor\dfrac n2\right\rfloor\),前一半的串在十进制下值为 \(v\)),后半段的数量可以计算:

  • 整个串最后一位是 \(0\),只需满足逆序串。\(n\) 为偶数时方案数为 \((2^{M-1}-v)\),\(n\) 为奇数时方案数为 \(2(2^{M-1}-v)\)。
  • 整个串最后一位是 \(1\),只需满足逆序取反串。\(n\) 为偶数时方案数为 \((2^{M-1}-v)\),\(n\) 为奇数时方案数为 \((2^{M-1}-v-1)\)。
  • 总的来说,\(n\) 为偶数时方案数为 \(2(2^{M-1}-v)\),\(n\) 为奇数时方案数为 \(2(2^{M-1}-v)+(2^{M-1}-v-1)\)。

持续累加合法数量,显然可以找到前一半的答案。然后爆搜后一半的答案即可。

一些细节:全选 \(0\) 是不合法的,为了方便可以在最开始 \(k\gets k+1\);维护串时请在全局用数组模拟,use string record

code,时间复杂度 \(O(n2^n)\),瓶颈在后半段的爆搜,替换成二分可以做到 \(O(2^n)\)。

标签:方案,奇数,数为,题解,偶数,一半,CF8E
From: https://www.cnblogs.com/liangbowen/p/17837299.html

相关文章

  • P7701 [CCC2014] 提前交卷 题解
    目录DescriptionSolutionCodeDescription在一个教室里有\(n\)排座位,每排有\(6\)个,从左至右标号分别为ABCDEF,其中C和D中有过道,通往教室前端和后端的两个房间,每个房间最开始没有人,每个座位上开始都有人。有\(m\)个不同的学生会依次提前交卷,先从这一排走到过道上,在从......
  • 鼠标拖拽拖动盒子时,与盒子内某些点击事件冲突问题解决
    问题:拖动时会触发圆球的点击事件解决鼠标拖动盒子时,将moving设为true意为正在拖动盒子,此时将class="move"遮挡容器展示在悬浮球上层,以覆盖悬浮球,此时也就不存在触发悬浮球点击事件的冲突了;鼠标拖动完盒子弹起时再将 moving设为false意为不在拖动盒子(遮挡容器class=......
  • C++调用Python3实战,和PyImport_ImportModule返回NULL问题解决
    LinuxC++调用Python3入门准备以下面的目录结构演示如何在LinuxC/C++调用python3。|--hello.py|--main.cpp|--CMakeLists.txt hello.py:python的脚本,里面有2个函数main.cpp:c++函数CMakeLists.txt:Cmake文件,生成makefilepython脚本示例python脚本hello.py内容如下,......
  • 赛前集训11天题解大总
    Day1kitty核心思路:将转移过程中的方案加入转移矩阵,边转移边累加stringdp设计:\(f[i][x][y]\)表示长度为\(i\),第一段以\(x\)结尾,且\(x\leqslantp\),第二段以\(p\)开头,以\(y\)结尾的两段完全相同的序列的对数。对于每个\(p\)答案就是\(\sum_{i=1}^{n}i\cdotf[i][x......
  • 题解:Feel Good
    题目链接依然枚举每个位置作为最小值的情况,记录“值/下标”二元组,按第一维从大到小排序后,每次将第二位的位置在序列中标成\(1\),那么选择的一定是序列里一个\(1\)的极长段。加入一个位置检查其左右是否加入过,如果加入过就用并查集合并掉,同时维护极长段的和/左右端点是简单的,复......
  • 【洛谷 P2141】[NOIP2014 普及组] 珠心算测验 题解(集合+多重循环)
    [NOIP2014普及组]珠心算测验题目描述珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合......
  • B3871 题解
    题目链接题意简述给定一个正整数\(N\),将它的因数分解式按规定输出。题目分析模拟题意即可。具体地,我们可以枚举\(2\)到\(\lfloor\sqrtN\rfloor\)中所有数\(i\),如果\(i\)能整除\(N\),则不断地从\(N\)中除掉\(i\),直到\(i\)不再能整除\(N\),在这个过程中,我们同......
  • CF1436E Complicated Computations 题解
    CF1436EComplicatedComputationsmex的定义是:一个区间中没有出现过的数中最小的整数。对于一个区间,当正整数x在区间中没有出现过、[1,x-1](整数)在区间中全部出现过,那么正整数x就是该区间的mex正整数x在区间中没有出现过我们一共有n个数字,所有的数字都不出现一次,就一共有n次......
  • NOIP2022 题解
    去年今时,我得了100+0+0+8分,太抽象了QwQ所以为什么今天才写这个东西?因为今天才做完了T2……[NOIP2022]种花简单前缀和优化DP,不谈。[NOIP2022]喵了个喵非常高级的构造题。看到\(k=2n-1/2\),我们可能会想到每一个栈内放两个即可,留一个辅助栈,即可完美过掉\(k......
  • 【题解 P1552】 派遣
    [APIO2012]派遣题目背景在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。题目描述在这个帮派里,有一名忍者被称之为Master。除了Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给......