2023-03-10

题目

题目传送门

翻译

翻译

难度&重要性(1~10):7

题目来源

AtCoder

题目算法

数学,贪心

解题思路

显然 \(C_i\) 越小的位越早被修改越好。所以我们将 \(C_i\) 从小到大排序。对于任意的 \(S\),答案都是一样的。我们依次考虑 \(S\) 和 \(T\) 的每一位是否相同。设我们考虑到第 \(i\) 位。

若相同,则这一位对答案的贡献为 \(0\)。

若不同,则根据上面的贪心,第 \(i\) 位之前的位置已被修改完毕。所以在 \(T\) 中第 \(i\) 位之前的位置可以任意选数,对第 \(i\) 位的贡献不影响。

对于第 \(i\) 位之后的位置,我们枚举有多少个不相同的位置。

则答案为:

\(2^n\left(\sum\limits_{i=1}^n2^{i-1}\cdot C_i\cdot\sum\limits_{j=0}^{n-i}\dbinom{n-i}{j}(j+1)\right)\)

考虑化简:

\(\sum\limits_{j=0}^{n-i}\dbinom{n-i}{j}(j+1)=\sum\limits_{j=0}^{n-i}\dbinom{n-1}{j}+\sum\limits_{j=0}^{n-i}\dbinom{n-i}{j}j=2^{n-i}+\sum\limits_{j=0}^{n-i}\dbinom{n-i}{j}j\)

考虑吸收恒等式

\(∵\begin{aligned}\dfrac{r}{k}\dbinom{r-1}{k-1}&=\dfrac{r}{k}\times \dfrac{(r-1)^{\underline{k-1}}}{(k-1)!}=\dbinom{r}{k}\end{aligned}\)

\(∴r\dbinom{r-1}{k-1}=k\dbinom{r}{k}\)



\(\begin{aligned}2^{n-i}+\sum_{j=0}^{n-i} \dbinom{n-i}{j}j =2^{n-i}+\sum_{j=0}^{n-i}\dbinom{n-i-1}{j-1}(n-i)=2^{n-i}+(n-i)\sum_{j=0}^{n-i-1}\dbinom{n-i-1}{j}=2^{n-i}+(n-i)2^{n-i-1}\end{aligned}\)

完成状态

已完成

[ABC150E] Change a Little Bit的更多相关文章

  1. 代码的坏味道(10)——发散式变化(Divergent Change)

    坏味道--发散式变化(Divergent Change) 发散式变化(Divergent Change) 类似于 霰弹式修改(Shotgun Surgery) ,但实际上完全不同.发散式变化(Dive ...

  2. [LeetCode] Coin Change 硬币找零

    You are given coins of different denominations and a total amount of money amount. Write a function ...

  3. input事件与change事件

    输入框的change事件: 必须等到输入框失去焦点的时候才会触发,鼠标在空白的地方点一下: 输入框的input事件: 在输入内容变化的同时,实时的触发,不需要等到失去焦点.

  4. Change the Target Recovery Time of a Database (SQL Server) 间接-checkpoints flushcache flushcache-message

    Change the Target Recovery Time of a Database (SQL Server) 间接checkpoints   flushcache flushcache-mes ...

  5. Change Line Type in OpenCascade

    Change Line Type in OpenCascade eryar@163.com 关键字KeyWords:OpenCascade,Line Aspect, Line Type 在OpenCa ...

  6. 华硕笔记本U盘启动系统/WinPE报错。Windows failed to start. A Recent hardware or software change might be the cause.

    最近在整一台华硕笔记本,大概有5年寿命了吧,质量还行,由于系统出了问题,打算用自制U盘WinPE进去修复一下.按照个人经验,在主板设置里启用了USB启动选项,并且设置USB启动顺序为第一个,可是进系统 ...

  7. You cannot change a partition into an extended one or vice versa Delete it first

    在Linux扩展LVM时,使用fdisk创建分区时,在磁盘上新建扩展分区(逻辑分区),修改分区格式,指定分区类型为8e时,报错"You cannot change a partition i ...

  8. [WPF系列]基础 Listening to Dependency Property change notifications of a given Element

    I want to share this great post from Anoop that shows a easy way to add a notification system to dep ...

  9. 鼠标的change事件

    原本想着在<input>输入输入框中添加change事件,来实现对输入内容的限定. 当人们在使用时跟多的会直接去点击完成.所以完成按钮的点击事件会和change事件产生 冲突,所以我把验证 ...

  10. Fold Change和t分布

    基因表达谱数据 基因表达谱可以用一个矩阵来表示,每一行代表一个基因,每一列代表一个样本(如图1).所有基因的表达谱数据在“gene_exp.txt”文件中存储,第一列为基因的entrez geneid ...

随机推荐

  1. 2022-01-21:完美矩形。 给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形。这个矩形的左下顶点是 (xi,

    2022-01-21:完美矩形. 给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形.这个矩形的左下顶点是 (xi, ...

  2. 2021-11-08:扁平化嵌套列表迭代器。给你一个嵌套的整数列表 nestedList 。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化

    2021-11-08:扁平化嵌套列表迭代器.给你一个嵌套的整数列表 nestedList .每个元素要么是一个整数,要么是一个列表:该列表的元素也可能是整数或者是其他列表.请你实现一个迭代器将其扁平化 ...

  3. JDBC-Utils层的简单运用

    项目中JDBC的Utils层运行需要以下六个步骤 //1.定义属性为空 private static String driver = null; private static String url = ...

  4. 【GiraKoo】Riters瑞特斯闹钟说明书

    对于闹钟这种按钮存在大量复用,长按操作的设备.说明书一旦丢失,真的很麻烦. 特准备了一个系列,专门保存使用说明书.希望能给大家提供一点帮助. 型号:RTS-1909

  5. ✗ CocoaPods not installed.

    mac 配置 flutter 会提示许多 关于xcode的 如图 显示 ✗ CocoaPods installed but not initialized. 其实最开始提示的是 ✗ CocoaPods ...

  6. Python基础 - 第一个python程序

    Python程序是什么? Python源程序就是一个特殊格式的文本文件,可以使用任意文本编辑器软件做python的开发,python的文件扩展名为 .py 执行python程序的三种方式 直接调用解释 ...

  7. 代码随想录算法训练营Day37 贪心算法

    代码随想录算法训练营 代码随想录算法训练营Day37 贪心算法| 738.单调递增的数字 968.监控二叉树 总结 738.单调递增的数字 题目链接:738.单调递增的数字 给定一个非负整数 N,找出 ...

  8. 卷积神经网络(Convolutional Neural Network,CNN)思想 实例 具体代码实现

    在前面我们讨论了神经网络初步,学习了神经网络中最基础的部分:全连接层,并且实现了搭建两层全连接实现图片分类的问题,达到了50%左右的正确率,全连接层的主要思想是构建出一个映射函数,使得前一层的所有输入 ...

  9. Outlook无法启动一直显示“正在启动”的解决方法

    缘起 今天早上打开电脑以后,就打开Outlook2016了,一直显示这个界面: 我没在意就干别的事了, 可以半个小时过去了,还是这个界面,我慌了. 解决方法 安全模式打开Outlook 按WIN + ...

  10. .net 搜索联想词

    思路: 1.ajax请求后台方法获取数据. 2.通过jquery将请求到的数据显示在页面上. 前台 <div class="sc_con" id="bbsearch ...