首页 > 其他分享 >Balanced String

Balanced String

时间:2024-08-16 16:15:44浏览次数:14  
标签:cnt 题目 String 个数 交换 最小 Balanced

这道题目真的不知道怎么总结了,这技巧太新了

这篇题解

为什么最开始要引入这个子问题呢?实际上,我们假设我们已经得到了最终的交换后的答案,设为\(t\),\(s\)就是题目给的原串,从\(s\)到\(t\)的最小交换次数当然就是从\(t\)到\(s\)的最小交换次数,于是考虑从\(t\)到\(s\)的最小交换次数,发现是\(s,t\)不相等的位置的个数

接下来的DP就围绕这个个数做文章。我们抛开题目的交换操作不看,直接构造\(t\):每一个位置可以随便填\(0/1\),\(f_{i,j,k}\)记录的就是所有长度为\(i\)的\(0/1\)串(一共有\(2^i\)个),满足所给条件的与\(s\)前\(i\)个字符不同的位置的最小个数。然后直接考虑\(f_{n,cnt,0}\)(其中\(cnt\)是\(s\)中\(0\)的个数),这个\(f\)根据最开始的子问题的分析,就是答案

标签:cnt,题目,String,个数,交换,最小,Balanced
From: https://www.cnblogs.com/dingxingdi/p/18363093

相关文章

  • JDK源码——String相关
    StringJDK源码中的String类是Java中最常用的类之一,它提供了许多用于处理字符串的方法。以下是一些常用的String类方法:构造方法:String():创建一个空字符串。String(char[]value):根据字符数组创建一个新的字符串。String(byte[]bytes,intoffset,intlength):根据字节数......
  • C++ string类型常用操作
    string类型操作字符串切割str.substr(索引,切割的个数) -> 返回字符串注意:第二个参数为切割的个数stringbuf="abcdefg";buf.substr(0,2);//结果为"ab"buf.substr(1,3);//结果为"bcd"字符串输入使用getline读入字符串可以保留字符串中的空格 getline(cin......
  • SOMEIP_ETS_042: echoUTF16DYNAMIC_length_too_short_for_String
    测试目的:验证设备(DUT)能否正确拒绝一个长度小于实际字符串长度的echoUTF16DYNAMIC字符串。描述本测试用例旨在检查当发送的SOME/IP消息中的echoUTF16DYNAMIC字符串长度小于实际字符串长度时,DUT是否能够返回格式错误(MALFORMED_MESSAGE)的错误消息。测试拓扑:具体步骤:TEST......
  • TypeError: add_code_sample_docstrings() got an unexpected keyword argument ‘tok
    可能是transformers的版本太高,可以考虑降版本。更推荐的解决方案:processor_class替换tokenizer_class注意:需要CTRLShiftF tokenizer_class,全部替换掉。参考链接:ALBEF(AlignbeforeFuse:VisionandLanguageRepresentationLearningwithMomentumDistillati)算法阅......
  • Python编程中不可忽视的docstring使用详解
    概要在Python编程中,代码的可读性和可维护性至关重要。除了清晰的命名和结构良好的代码外,良好的文档字符串(docstring)也是确保代码易于理解和使用的关键工具。docstring是Python中用于记录模块、类、方法和函数行为的字符串,帮助开发者和用户快速了解代码的功能和用法。本文将......
  • Spark MLlib 特征工程系列—特征转换StringIndexer和IndexToString
    SparkMLlib特征工程系列—特征转换StringIndexer和IndexToStringStringIndexer是SparkMLlib中的一个特征转换器,用于将类别型(即字符串)特征转换为数值型索引。这个转换器对于处理包含类别型数据的机器学习任务非常有用,因为大多数机器学习算法要求输入的特征是数值型的......
  • 题解:CF1971B Different String
    原地址:这里题意给出字符串\(s\),询问更改\(s\)的排列顺序后与原来的\(s\)是否不同,不同输出YES,否则输出NO。思路只要判断字符串中含有不同的字符即可。代码#include<iostream>#include<cstdio>usingnamespacestd;intmain(){ intt; scanf("%d",&t); while(t-......
  • Java String常用类、数组、日期时间
    JavaString类一、创建字符串1、简单方式:Stringstr="seventeen";2、用构造函数创建字符串:Stringstr2=newString("seventeen");String创建的字符串存储在公共池中,而new创建的字符串对象在堆上String类是不可改变的,所以一旦创建了String对象,那它的值就无法改变了如果需......
  • Mysql写入数据错误:General error: 1366 Incorrect string value: '\\xF0\\x9F\\
    这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。我这边是在linux服务器,Mysql的版本是5.7。解决此问题需要修改Mysql的配置文件my.cnf。 总结修改配置:[client]default-character......
  • 朋友吐槽我为什么这么傻不在源生成器中用string.GetHashCode, 而要用一个不够优化的ha
    明明有更好的hash方法有位朋友对我吐槽前几天我列举的在源生成器的生成db映射实体的优化点提前生成部分hashcode进行比较所示代码publicstaticvoidGenerateReadTokens(thisIDataReaderreader,Span<int>s){for(inti=0;i<reader.FieldCount;i++){......