UVa 10069 - Distinct Subsequences

MATLAB新手必看:Stewart平台运动学逆解从入门到实战(附完整代码) 本文详细介绍了如何使用MATLAB实现Stewart平台的运动学逆解,从基础原理到完整代码实现,涵盖并联机器人的数学建模、MATLAB编程和Simulink集成。通过实战案例和可视化分析,帮助新手快速掌握Stewart平台的运动学逆解技术,适用于机器人学和控制理论领域的研究与应用。 阅读详情

dp+大数加法。

设母串的长度为 j, 子串的长度为 i,我们要求的就是长度为 i 的字串在长度为 j 的母串中出现的次数。

(1)若母串的最后一个字符与子串的最后一个字符不同,则长度为 i 的子串在长度为 j 的母串中出现的次数就是母串的前 j - 1 个字符中子串出现的次数,即 str[i][j] = str[i][j - 1];

(2)若母串的最后一个字符与子串的最后一个字符相同,那么除了前 j - 1 个字符出现子串的次数外,还要加上子串的前 i - 1 个字符在母串的前 j - 1 个字符中出现的次数(再加上当前相等的这个字符其长度就可以凑成完整的字串长度),即 str[i][j] = str[i][j - 1] + str[i - 1][j - 1]。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
char dp[101][10001][102], str1[10002], str2[102];
void Add(char *c, char *a, char *b)
{
    int len_a = strlen(a);
    int len_b = strlen(b);
    int len_c = max(len_a, len_b);
    memset(c, 0, (len_c+2)*sizeof(c[0]));
    for(int i=len_a-1, j=len_c; i>=0; --i, --j)
        c[j] += a[i] - '0';
    for(int i=len_b-1, j=len_c; i>=0; --i, --j)
        c[j] += b[i] - '0';
    for(int i=len_c; i>0; c[i]+='0', --i)
            if(c[i] > 9)
            {
                c[i] -= 10;
                ++c[i-1];
            }

    if(!c[0])
    {
        for(int i=0; i<len_c; ++i)
            c[i] = c[i+1];
        c[len_c] = 0;
    }
    else
        c[0] = '1';
}
int main()
{
#ifdef test
    freopen("input.txt", "r", stdin);
#endif
    int num;
    scanf("%d", &num);
    while(num--)
    {
        scanf("%s%s", str1, str2);
        int len1 = strlen(str1), len2 = strlen(str2);
        for(int i=0; i<=len1; ++i)
            strcpy(dp[0][i], "1");

        for(int i=1; i<=len2; ++i)
            {
                strcpy(dp[i][i-1], "0"); // 此语句可有可无,因为dp[i][i-1]本身为‘\0’,不影响加的过程
                for(int j=i; j<=len1; ++j)
                {
                    if(str1[j-1] == str2[i-1])
                        Add(dp[i][j], dp[i][j-1], dp[i-1][j-1]); //dp[i][j] = dp[i][j-1] + dp[i-1][j-1];
                    else
                        strcpy(dp[i][j], dp[i][j-1]); //dp[i][j] = dp[i][j-1];
                }
            }

        printf("%s\n", dp[len2][len1]);
    }
    return 0;
}


QT/C++实现健壮HTTP POST客户端:从基础到异常处理与性能优化 HTTP协议作为客户端与服务器通信的基石,其POST方法在数据提交、API交互等场景中扮演着核心角色。其工作原理基于请求-响应模型,通过封装TCP连接与协议细节,为应用层提供了简洁的数据传输接口。在C++桌面与嵌入式开发中,直接使用底层Socket实现HTTP不仅复杂且易出错,而利用框架进行高级封装能显著提升开发效率与代码健壮性。QT框架的`QNetworkAccessManager`等组件正是为此设计,它通过信号槽机制提供异步网络编程模型,有效管理连接与协议解析。一个健壮的HTTP客户端需要妥善处理网络波 阅读详情

相关推荐

赴美参加学术会议办理流程

有幸能在研究生阶段获得学校资助出国参加学术会议,首先要感谢学校的支持,以及学院和实验室的各位老师~ 接下来说下参会整个准备过程: 本人在接到论文录用通知后,就开始办理相关手续。因为会议地点是美国夏威夷,而且录用通知时间与会议召开时间只隔两个月左右,所以接下来两个月时间要办好学校出国申请手续,赴美签证,因为专业原因,据说签证不好办,所以时间比较紧。学校出国申请和签证相关材料是并行进行的,赴美花费...

xingxin_xu的博客 3195

uva 10069 Distinct Subsequences

题意:给你t组字符串,要你找出第二个字符串在第一个字符串中有多少个(只要第二个字符串的任意一个字符在第一个字符串中的位置不一样就可以。) 起先用int WA了,用long long WA了,后来去看网上代码,自己写了一个大数类。。。奇葩~ #include #include #include using namespace std; #define base 1000000000 con

1482

用PyTorch复现经典:手把手教你用Double DQN训练AI玩转打砖块(附完整代码与调参心得)

本文详细介绍了如何使用PyTorch实现Double DQN算法,训练AI智能体玩转经典雅达利游戏Breakout(打砖块)。从环境配置、帧预处理到网络架构设计和经验回放机制,全面解析了强化学习在游戏AI中的应用。文章还提供了关键调参技巧和实战优化方案,帮助开发者快速掌握Double DQN的核心实现与性能优化方法。

weixin_30596165的博客 229

uva10069-Distinct Subsequences

题目链接请戳这里 解题思路 设\(dp[i][j]\)为\(s1[1..i]\)作为\(s2[1..j]\)子串的个数。 这样我们可以写出状态转移方程\[dp[i][j]=\begin{cases} dp[i-1][j-1]+dp[i][j-1] & \text{$s1[i]=s2[j]$} \\ dp[i][j-1] & \text{$s1[i]!=s2[j]$}\e...

anyi4391的博客 185

光栅衍射有入射角时_衍射型多焦点人工晶体光学原理

多焦点人工晶体如何把光线分成多个焦点的?这个问题大部分专业书只是蜻蜓点水,并没有讲明白。希此文粗浅的解释,能帮您加深理解,请多指正。接下来,我将按照一下历史发展的顺序讲解一下:光的认识、菲涅尔灯塔(菲涅尔透镜)、菲涅尔波带盘(半波带盘)、多焦点人工晶体。一:首先复习一下光的认识历史。我们现在都知道光是一种电磁波,具有波粒二相性,但是认识光的本质也经历非常曲折漫长的过程。牛顿时代的几何光...

weixin_28963467的博客 2352

【AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Pytorch-DirectML篇)】

这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。 首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。 https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows 这里用我的方法操作: 首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就.

weixin_44029053的博客 2万+

uva 10069 Distinct Subsequences 【dp+大数】

题目:uva 10069 Distinct Subsequences 题意:给出一个子串 x 和母串 s 。求子串在母串中的不同序列的个数? 分析:定义dp【i】【j】:x 的前 i 个字母在 s 的前 j 个字母中的出现次数; dp [ i ] [ j ] = dp [ i ] [ j - 1 ] ; if ( x[ i ] == s ...

aodiyi6351的博客 159

Cadence仿真笔记(二):传统noise仿真—共源极的噪声

cadence中进行传统噪声仿真

Bao_xue的博客 1万+

UVA 10069 Distinct Subsequences

UVA_10069     这个题目一开始没有头绪,后来看了一下别人的题解顿悟了。     我们不妨设短串是a,长串是b,用数组f[i][j]表示到b的第j位时一共包含了多少个a到第i位的子序列。 这样,动态转移方程就是f[i][j]=f[i][j-1];if(a[i]==b[j]) f[i][j]+=f[i-1][j-1];,同时我们需要初始化i=0时f[i][j]的值,即统计一下b中到第...

weixin_34403693的博客 118

17.6 LangSmith 私有化部署实战指南:企业级AI应用的安全基石

LangSmith 私有化部署, 企业级AI开发平台, 数据隐私合规, 混合云架构, 模型监控与审计。

yonggeit的博客 3777

生成模型实战 | ProGAN详解与实现

Progressive GAN (ProGAN) 是一种通过渐进式增长网络结构来生成高分辨率、高保真图像的技术。传统 GAN 难以直接生成超过 256x256 分辨率的图像,而 ProGAN 创新性地从低分辨率开始训练生成器和判别器,逐步添加网络层以提高分辨率,直至达到1024x1024。该方法结合了像素归一化、小批次统计信息和均衡化学习率等关键技术,并使用 WGAN-GP 损失函数确保训练稳定性。ProGAN 是首个能生成1024x1024高保真人脸图像的模型,但其训练耗时较长,且对计算资源要求较高。

盼小辉丶的博客 1434

uva 10069 - Distinct Subsequences

终于弄出来了,不会做的都是难题,会做的都是水题啊,水啊。 这道题的大意是:从母串里找出有多少个子串为给出的字串,分两步思考: 一 是先把状态方程写出来,由题分析我们可以这样设状态: f[i][j] = f[i][j-1]; if(b[i] == a[j]) f[i][j] += f[i-1][j-1]; 这里解释一下:这里的f[i][j]表示字串前 i 个组成的字串,在前 j 个母串中出

yuzhaoxin1008的专栏 356

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1158

UVa Problem 10069 Distinct Subsequences (不同的子序列)

// Distinct Subsequences (不同的子序列) // PC/UVa IDs: 111102/10069, Popularity: B, Success rate: average Level: 3 // Verdict: Accepted // Submiss

寂静山林 4073

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

uva 10069 Distinct Subsequences 不同的序列

uva 10069

@fei 3647

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

UVA-10069 - Distinct Subsequences

题目链接~~>

Muti-Agent 2564

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

UVa:10069 Distinct Subsequences

两个字符串一个str,一个word,v[i]表示word中的第i个字符在str中出现的位置 状态转移方程是 if j>=v[i]  1.若word[i]==str[j] 则> else> 需要用到大数,还用到了滚动数组。   #include #include #include #include #include #define ll long long #def

Fighting 582

uva10069 Distinct Subsequences(DP+大数)

题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=11&page=show_problem&problem=1010 #include <iostream> #include <cstring> #...

akk99296的博客 160

uva 10069 Distinct Subsequences (dp + 大数)

uva 10069 Distinct Subsequences题目大意:给出两个字符串A和B,找出A中所有与B相同的子字符串。解题思路:if(A[j−1]==B[i−1])if(A[j - 1]==B[i - 1]) { dp[i][j]=dp[i][j]+dp[i−1][j−1];dp[i][j] = dp[i][j]+dp[i - 1][j - 1];}import java

总有那么一群人喜欢盯着我的博客看,估计这是他们见过最长的博客名,我必须得告诉他们博客名最长可以写多长 580

UVA - 10069 Distinct Subsequences

题意:求一个串的子串出现在母串的个数,,i表示子串的长度,j表示母串的长度,当str1[i] != str[j],dp[i][j] = dp[i][j-1],因为如果这两个字符不相等的话,那么就等于子串与长度为j-1的母串的情况,当str1[i] == str[j]。那么dp[i][j] = dp[i][j-1]+dp[i-1][j-1],相等的话,那么就等于与长度为j-1的母串的个数加上dp[i

那些年 680

Uva-10069-Distinct Subsequences

简单DP+高精度,后面将高精度优化了一下 代码: #include #include #include using namespace std; const int maxn=10010; char stra[maxn],strb[110]; int lena,lenb,dp[110][maxn][21]; void Add(int *ans,int *a,int *b) { for(

z309241990的专栏 841

UVA 10069 Distinct Subsequences(DP)

考虑两个字符串,我们用dp[i][j]表示字串第到i个和字符串到第j个的总数,由于字串必须连续 因此dp[i][j]能够有dp[i][j-1]和dp[i-1][j-1]递推而来,而不能由dp[i-1][j]递推而来。而后者的条件 是字串的第i个和字符串相等。 A subsequence of a given sequence is just the given s...

diandingyin9417的博客 159
上一篇: UVa 10285 - Longest Run on a Snowboard
下一篇: UVa 10154 - Weights and Measures
GooMaple
博客等级 码龄14年 79粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值