首页 > 其他分享 >CF17C Balance

CF17C Balance

时间:2024-08-28 21:52:48浏览次数:4  
标签:suf 字符 CF17C 字符串 c3 c2 c1 Balance

题意

给定一个由 a b c 组成的字符串。

你每次可以将相邻两个字母的其中一个替换为另一个。

问使得三种字符在字符串中出现的次数两两之差不能大于 \(1\) 的方案数。

对 \(51123987\) 取模。

\(n \le 150\)。

Sol

这个奇怪的模数没用。

对答案的字符串进行观察,不难发现一个性质。

对于每一段相同的段考虑,可以由一个字符向前或向后复制若干份得到。

因此,我们只需要考虑一段相同的第一个字符即可。

考虑单独挑出这些字符,显然一定是原字符串的子序列。

直接 \(\texttt{dp}\),设 \(f_{i, c1, c2, c3}\) 表示前 \(i\) 位,选了 \(c1\) 个 a,\(c2\) 个 b,\(c3\) 个 c

考虑如何转移,将复制的过程扔进转移里面。

设 \(suf_{i, 0/1/2}\) 表示第一个 \(k \ge i\),\(s_i = 0/1/2, s_i = s_k\) 的位置。

  • \(f_{i, c1, c2, c3} \to f_{suf_{i, 0}, c1 + 1, c2, c3}\)
  • \(f_{i, c1, c2, c3} \to f_{suf_{i, 1}, c1, c2 + 1, c3}\)
  • \(f_{i, c1, c2, c3} \to f_{suf_{i, 2}, c1, c2, c3 + 1}\)

复杂度:\(O(\frac{n ^ 4}){27}\)

标签:suf,字符,CF17C,字符串,c3,c2,c1,Balance
From: https://www.cnblogs.com/cxqghzj/p/18385593

相关文章

  • Spring Cloud LoadBalancer 源码解析
    前言LoadBalancer(负载均衡器):一种网络设备或软件机制,用于分发传入的网络流量负载到多个后端目标服务器上,依次来提高系统的可用性和性能,SpringCloud2020版本以后,移除了对Netflix的依赖,也就移除了负载均衡器Ribbon,SpringCloud官方推荐使用Loadbalancer替换Ribbon,并......
  • Balanced String
    这道题目真的不知道怎么总结了,这技巧太新了见这篇题解为什么最开始要引入这个子问题呢?实际上,我们假设我们已经得到了最终的交换后的答案,设为\(t\),\(s\)就是题目给的原串,从\(s\)到\(t\)的最小交换次数当然就是从\(t\)到\(s\)的最小交换次数,于是考虑从\(t\)到\(s\)的最小交换次数,......
  • 全面掌握 Spring Cloud LoadBalancer:从自定义到策略优化的实战教程
    引言在微服务架构中,负载均衡是保障系统高效运行的关键技术之一。无论是服务端负载均衡还是客户端负载均衡,合理的负载均衡策略都能显著提升系统的稳定性和响应速度。本文将从基础概念入手,详细讲解如何在SpringCloud中实现和优化负载均衡,并结合实际案例,帮助读者快速上手并......
  • Consider defining a bean of type ‘org.springframework.cloud.client.loadbalancer
    1、bug报错问题:项目启动失败***************************APPLICATIONFAILEDTOSTART***************************Description:Parameter1ofconstructorincom.tianji.learning.controller.InteractionQuestionAdminControllerrequiredabeanoftype'org......
  • [CVPR2022]DASO Distribution-Aware Semantics-Oriented Pseudo-label for Imbalanced
    问题的背景设置:半监督学习下,labeleddata和unlabeleddata的分布不同,且存在类别不平衡。文章提出了一种新的伪标签生成方法:DistributionAwareSemantics-Oriented(DASO)Pseudo-label。首先生成语义伪标签和线性为标签,然后将它们混合实现互补。另外作者的方法不需要估计无标签数......
  • CF873B Balanced Substring
    Abstract传送门本题定义平衡串为0和1数量相等的字符串,要求我们找出给定01串中含有的最大平衡串。Idea如果把1视为+1,0视为-1,那么一个01串是平衡串当且仅当其和值为0,那么问题就转变为寻找给定01串中和值为0的最长子段。首先做一个前缀和,a[i]表示前i项的......
  • imbalanced-learn库的作用和安装
    imbalanced-learn是一个Python库,‌专门用于处理不平衡数据集的机器学习问题。‌ 这个库提供了一系列的重采样技术、‌组合方法和机器学习算法,‌旨在提高在不平衡数据集上的分类性能。‌Imbalanced-learn支持欠采样、‌过采样、‌结合欠采样和过采样的方法,‌以及一些集成学习方法......
  • 线段树(原理、构造和区间查询,例题:Balanced Lineup)
    概念原理    线段树是分治法和二叉树的结合,二叉树上的节点都是根据分治得到的。节点所表示的,也就是线段,可以是区间和、最值或者是其他的,,每次分治,左右子树各一半,每个节点的值代表了以它为根的子树上所有节点的值。通过线段树,大区间的解可以从小区间的解合并而来。构......
  • Imbalanced Arrays
    还没有仔细看官方题解和洛谷题解,重新做的时候看一下有没有什么可以吸收的说一下我的做法:首先看到第二个条件,不难想出\(i\)和\(-i\)只有可能选一个,此时观察样例,以及发现\(b\)刚好有\(n\)个数,所以不难想到最终\(b\)的构造方案是由\(1\)~\(n\)的每一个数或其相反数组成的,且每个数......
  • Load balancer does not contain an instance for the service service-B [503] duri
    场景:service-A服务通过openFeign远程调用service-B服务的test()方法,结果报错Loadbalancerdoesnotcontainaninstancefortheserviceservice-Bfeign.FeignException$ServiceUnavailable:[503]during[POST]to[http://service-B/test]原因:报错信息的意思......