CF176B 求经过K步使a串变成b串的方法

动态规划 串A变串B 合工大程序设计与艺术实验四 2.给定两个字符串a和b,现将串a通过变换变为串b,可用的操作为,删除串a中的一个字符;在串a的某个位置插入一个元素;现将串a中的某个字母转换为另一个字母.对于任意的串a和串b,输出最少多少次能够将串a变为串b. #include <iostream> #include <string> using namespace std; int minDistance(string A, string B) { int aLength = A.length(); int 阅读详情

http://codeforces.com/problemset/problem/176/B

这题比赛的时候角度完全想错了。。。当时我的想法是转化成:“n+p*len=m个(1到len-1)的数相加"的方法数,p是圈数,复杂度10^8。

真的想不到这个dp方法。搬运其他大佬的解法:

1.首先原串(即以0号字母开头的)个数为1,其他种类串为0。

2.第一次变化之后,原串个数即为0,其他串个数为1(由原串变过去,但原串变不成自己)

3.第二次变化,原串个数为len-1(由其他串变过来),其他串变为len-2 (由原串 和 除自己外的其他串变过来, 0+len-2,原串为0,故为len-2)

所以我们总结出的规律,假设 dp[i][0]为原串,dp[i][1]为其他串

dp[i][0]=(len-1)*dp[i-1][1],

dp[i][1]=dp[i-1][0]+(len-2)*dp[i-1][1].


“将A串变为B串”类动态规划题(已修改解释) 今天考试感觉要被虐爆了 就我的感觉来说,后两题绝对是省队水平 Orz Owen第四题考场50‘ 不过成绩也不是很差 得益于AC了第一题吧 先给出一道很久以前刷的题目 字符串是数据结构和计算机语言里很重要的数据类型,在计算机语言中,对于字符串我们有很多的操作定义,因此我们可以对字符串进行很多复杂的运算和操作。实际上,所有复杂的字符串操作都是由字符串的基本操作组成。例如,把子串 a 替换 阅读详情

相关推荐

Euclid算法判断互素

//by史瑞 #include<stdio.h> #include<stdlib.h> #define bool int #define true 1 #define false 0 #define M 2//判断多少个数互素 static long int Number[M]={170,201}; bool JudgePrime(long int Ina,long int Inb){ long int r,q,t=0,v=1,temp; long int a,b; if(Ina>=Inb){ a=Ina; b=Inb; } else{ b=Ina; a=Inb; } while(1){ q=(long int)a/b; r=a-b*q; a=b; b=r; temp=t; t=v; v=temp-q*v; if(b==0) break; } if(a==1) return true; else return false; }//JudgePrime

串A变串B——程序设计艺术与方法实验四 动态规划算法的实现

串A变串B——程序设计艺术与方法实验四 动态规划算法的实现 分析 编辑距离问题就是给我们两个字符串 text1 和 text2 ,只能用三种操作,让我们把text1变成 text2,求最少的操作数。需要明确的是,不管是把text1变成 text2还是反过来,结果都是一样的,所以后文就以text1 变成text2举例。 解决两个字符串的动态规划问题,一般都是用两个索引i,j分别指向两个字符串的最后,然后一步步往前走,缩小问题的规模。 if text1[i] == text2[j]: 啥都别做(skip) i,

小哨的博客 941

Unity插件UniWebView实战:UGUI动态调整内嵌网页尺寸与交互优化

本文详细解析了如何在Unity游戏中使用UniWebView插件实现内嵌网页的动态尺寸适配与深度交互。核心在于利用Reference Rect Transform属性,将网页窗口精准绑定至UGUI控件,并随其动态调整。文章进一步探讨了通过消息系统与JavaScript执行实现Unity与网页的双向通信,并提供了加载优化、过渡动画及事件拦截等实用技巧,助力开发者打造无缝、流畅的游戏内网页体验。

earth的博客 276

CF176B Word Cut

题意:定义一轮操作:对于一个串,从任意地方截断,然后把两部分位置交换得到新的串。 对于aa 串一共进行kk 轮这种操作。 问从aa 串变到bb 串有多少种方法。 f数组定义为操作n次是否变成原串的方案数 需要算出s1经过多少种方式能变成s2 这里有个技巧,如果某个串与目标串不同,他有x次可以转化为目标串,那么目标串有x-1次转化为目标串。 #include<iostream> using namespace std; typedef long long ll; const int mod=1e9

goto_1600的博客 370

开关电源EMC整改实录:用WSX系列共模电感搞定30MHz辐射超标

本文详细介绍了开关电源EMC整改实战,通过WSX系列共模电感成功解决30MHz频段辐射超标问题。文章分析了共模干扰的产生机制,对比了不同磁芯材料的性能差异,并提供了电路布局优化与安装技巧,最终通过实测数据验证了整改方案的有效性。

weixin_29305313的博客 414

SAP成本计划BAPI接口BAPI_COSTACTPLN_POSTPRIMCOST深度解析与实战指南

在SAP ERP系统中,成本计划是财务与控制模块的核心功能,它涉及对企业未来成本支出的预测与规划。其原理是通过结构化数据模型,将成本要素分配到具体的成本对象上,以实现预算编制和成本控制。这一技术的核心价值在于实现成本数据的标准化、自动化处理,从而提升财务流程效率与数据准确性。在应用场景上,成本计划广泛应用于年度预算编制、项目成本预测、系统间数据集成以及历史数据迁移等关键业务环节。本文聚焦于实现上述流程自动化的关键技术——SAP标准接口BAPI_COSTACTPLN_POSTPRIMCOST,并深入探讨其在高

weixin_29657209的博客 349

异或问题-------将a串转换为b串

问题 B: 异或和或 对于一个长度为n的01序列 你可以进行以下任意次操作: 1、选择两个下标1≤i,j≤n(i≠j) 2、记x=aixor aj,y=aior aj 其中xor表示按位“异或”,or表示按位 “或” (不懂异或运算和或运算的点这里位运算) 3、然后令aj=x , ai= y 或者 ai=y ,aj=x; 给定两个01序列 s ,t 。请你判断是否可以通过有限次(可以为0次)操作将序列 s 转化为 t。 输入 第一行一个整数k,表示数据的组...

lisads的博客 633

OSPF规划两大模型:双塔奇兵、犬牙交错

大家好,今天给大家带来的是OSPF规划两大模型:双塔奇兵、犬牙交错,让我们直接开始吧! OSPF规划之双塔奇兵 说明: OSPF 如果某个区域存在两个 ABR,并且在两个 ABR 上都对 area n 内的路由做了聚合操作。 最佳配置: 两台ABR之间的红线应该使用以太网的子接口技术,一个子接口属于area0,另一个属于 area n;或者该链路规划为 area n,同时配置虚连接; ABR 的 loopback0 规划入 area 0 OSPF 规划之犬牙交错 说明: 有时接入层的设备会以乱序的

网络技术联盟站 2423

CF 176B Word Cut

之前没做出这道题是因为缺少自己的分析。 别人给你提供了一些思路,如果你照着做下去觉得可以比较顺利,就继续;如果总觉得想不通,就及时丢掉,自己想办法做。 从这个图中我们可以发现一些规律:原串不能产生原串(先不考虑原串中有重复的),能产生其他n-1个串。 第0步,原串是1,其他都是0,总和sum为1; 第1步:原串产生其他串1,其他串产生原串0,原串为0,其他串都为1。即原串:su

七里的专栏 931

Vue3 - 详细实现微信公众号H5网页内置浏览器中预览下载word文档(doc)、excel表格(xls)、ppt文稿、pdf文档等文件,微信内部直接打开预览和下载到本地教程,安卓苹果手机无差异兼容

vue3,nuxt3,微信公众号,h5,移动端,网页,网站,vue微信内置浏览器下载文件,下载文件,在微信浏览器里面实现下载任意文件,H5需要在微信浏览器中下载excel文件,实现网页在微信内置浏览器中下载文件详细教程,安卓点击下载会提示打开浏览器,后端返回流文件,如何解决无法下载文件,跳转至浏览器下载文件,发送到电脑微信,安卓,苹果,手机系统,微信H5页面,vue3微信公众号H5网站,内置浏览器下载文档,如何在微信浏览器中预览office文件,word文档,excel文档,pdf文档,ppt文档,offi

🏆 前端领域优质创作者 1万+

设计四翼无人机(Quadcopter)的自主降落控制算法

为四翼无人机建立动力学模型,包括其姿态(Pitch, Roll, Yaw)和位置(X, Y, Z)的变化。可以使用Aerospace Blockset中的预制模块,或者根据具体需求构建自定义模型。示例:简化动力学模型利用块模拟四翼无人机的基本行为,确保模型能够反映电机输出如何影响姿态和位置变化。

amy_mhd的博客 242

CF 176B - Word Cut (dp计数)

CF的每道DP题目都能让我回味良久,太经典了!!!!!!!! 题意:给两个字符串A,B,每次操作能把A分为两部分C,D,组成DC,比如A是abcdefg,abc | defg ----->defg   |   abc,然后指定操作次数K,问在K步之内将A转化为B的方法数。 链接:http://codeforces.com/problemset/problem/176/B 解析:先暴力求出循环

yobobobo的专栏 998

【DEIM创新改进】独家下采样创新改进篇 | ECCV 2026 | DEIM 引入FSD-Down频域-空间动态下采样,在下采样过程中保留小目标的高频信息、助力小目标检测、遥感小目标检测有效涨点

🔥本文提出了一种名为FSD-Down的频域-空间动态下采样模块,用于改进DEIM网络模型在小目标检测中的性能。FSD-Down通过小波分解显式保留低频语义和高频细节,结合分组卷积、动态通道权重和可学习缩放因子,自适应强化目标边缘与纹理特征。该模块能有效减轻传统下采样造成的频率混叠和细节丢失,提升对小目标、密集目标和低对比度目标的检测能力。实验表明,FSD-Down计算开销可控,在保持实时性的同时显著提升检测精度,特别是在VisDrone和AITODv2数据集上对小目标的检测性能提升显著。

Ai缝合怪、助力小伙伴高效发论文 82

CF176B Word Cut(计数 dp)

Description 求经过 kkk 次将 SSS 划分成两部分并交换使 SSS 串变成 TTT 串的方案数并对 109+710^9 + 7109+7 取模。 2≤∣S∣≤1000,0≤k≤1052 \leq |S| \leq 1000, 0 \leq k \leq 10^52≤∣S∣≤1000,0≤k≤105 Solution 可以发现,每次可以将原串变为其他串,也可以从其他串变为原串。无论多...

ylxmf2005's Blog 429

PCL 利用RANSAC改进的ICP算法

本文介绍了一种基于RANSAC改进的ICP点云配准算法。算法原理部分阐述了在ICP迭代过程中使用RANSAC剔除错误匹配点对的方法。

点云侠的博客 195

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

CF_176B Word Cut

B. Word Cuthttp://codeforces.com/contest/176/problem/B题意:给定a串和b串,要求切k次,每次切完将尾部分放在头的前面(a = xy -> yx ,x、y为a的子串),问有多少种方案使得切k次后a串变为b串。[模:1000000007 (109 + 7)] 数据: (0 ≤ k ≤ 105) (la,lb≤1000 ) 思路: 1. 可以把串看做一

JFGiGi的博客 481

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

CodeForces 176B Word Cut dp

题目链接:http://codeforces.com/problemset/problem/176/B 题意: 给你一个字符串a,然后给你一个字符串b你可以选择a串的某个位置砍掉,然后再把那个串从后面接到前面让你砍k次,问你有多少种砍法,从a串砍成b串解法:dpdp[i][0]表示砍了i次的变成b串的方案数dp[i][1]表示砍了i次的变成非b串的方案数然后转移就好了,预处理一下有多少个开头是b

I good vegetable a! 503

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

cf176B. Pipeline

//题目连接:点击打开链接 #include #include using namespace std; inline long long sum(long long a,long long k){ return k*(k+1)/2-(k-a)*(k-a+1)/2-a+1; } int f(long long n,long long k){ long long i,tot=1

coder_coder_coder的专栏 649

CF #176 div2 练习

2014-10-3114:44:33 A:这个。。暴力即可。(cf的a,b基本就考考暴力、贪心,虽然在算法上没什么帮助,但能大大提高代码能力和准确性!) 1 /************************************************************************* 2 > File Name: a.cpp 3...

dingdi3021的博客 139

Educational Codeforces Round 176 (Rated for Div. 2)

题目链接CF2075。

weixin_73725403的博客 996

CF176E Archaeology

https://www.luogu.com.cn/problem/CF176E 非常重要的一个trick,我竟然不知道 首先把关键点拿出来,按照dfsdfsdfs序排后为 x1,x2,x3,x4,....,xkx_1,x_2,x_3,x_4,....,x_kx1​,x2​,x3​,x4​,....,xk​ 最小联通块大小=12∗(dis(x1,x2)+dis(x2,x3)+dis(x3,x4)+...+dis(xk,x1))=\frac{1}{2}*(dis(x_1,x_2)+dis(x_2,x_3)+di

lahlah的博客 309

codeforces 176B Word Cut (计数dp)

题意: 给出一个串,可以从任意地方截取,然后把两部分位置换下得到新的串,问从a串变到b串有多少种方法。 题解: 首先我们分析这种变换产生的结果,发现无论怎么变换一个串只能变成和自己不同的len-1个串,而且之后的变化不会出现新的串。这个结论是关键。 然后我们分析下,有原串可以变成len-1个非原串,每个非原串又可以变成1个原串,和len-2个非原串。那么我们方向来分析下,一个原串是可以由l

ACM之梦 1089

Codeforces 176B 经典DP

非常好的一个题目,CF上的DP都比较经典 题意就是 给定一个串A,B,正好执行K次操作,每次操作可以把 A串从中间切开,并调换两部分的位置,问最后得到B串共有多少种不同的切法(只要中间有一次不同,即视为不同) 首先,题目的一个关键点一定要抓到,就是 ,不管怎么切 然后调换位置,其实串根本没变,你把串想成一个环,从某一点分成两部分并且交换位置,其实就是把串的起点变到了该点,这是很关键也...

weixin_30593443的博客 127

CodeForces 176A Trading Business 贪心

题目链接:这里 题意:有n个星球,然后每个星球有m个商品,买需要ai元,卖需要bi元,只有ci个。你需要在一个星球买最多k个商品,然后在一个星球卖出去。问你最多赚多少钱? 解法:暴力枚举在哪个星球买,在哪个星球卖,然后直接贪心的去选择k个商品就好了,选择差价最大的k个商品//CF 176A#include <bits/stdc++.h> using namespace std; int a[20

I good vegetable a! 535

Codeforces Round #176 (Div. 2) B. Pipeline//二分查找

题目大意:刚开始没有读懂题意,很是纠结。管子可以一个套一个,就是这样。给出的k可以算出一共有多少根管子。因为数字有点大,所以用二分查找快一点。下面是代码: #include using namespace std; typedef long long LL; int main() { LL n; LL k; cin>>n>>k; if(n==1) {

mr_zys的专栏 1222
上一篇: 【PAT】有细节坑点的题+输出技巧题
下一篇: CF432D 求等于原串前缀的后缀子串,输出子串的长度和出现次数
ccyy-
博客等级 码龄12年 31粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值