首页 > 其他分享 >日常训练2025-1-12

日常训练2025-1-12

时间:2025-01-12 11:22:19浏览次数:1  
标签:std 12 cn int 2025 vector 日常

日常训练2025-1-12

P2679 [NOIP2015 提高组] 子串

普及+/提高

https://www.luogu.com.cn/problem/P2679

思路

https://www.luogu.com.cn/article/k0zkdin9

评述

做DP时可以把能想到的有用的状态都定义出来,后序在把不需要的,或者可以根据其他状态推出来的状态删除,逐渐优化。

代码

#include <bits/stdc++.h>

typedef std::pair<long long, long long> pll;
typedef std::pair<int, int> pii;
#define INF 0x3f3f3f3f
#define MOD 1000000007
using i64 = long long;
const int N = 1e5+5;

void solve(){
	int n, m, k;
	std::cin >> n >> m >> k;

	std::string a, b;
	std::cin >> a >> b;

	a = ' ' + a;
	b = ' ' + b;

	std::vector dp(m+1, std::vector<std::vector<int>>(k+1, std::vector<int>(2)));
	std::vector ndp(m+1, std::vector<std::vector<int>>(k+1, std::vector<int>(2)));	

	dp[0][0][0] = 1;
	ndp[0][0][0] = 1;

	for (int i = 1; i <= n; i++){
		ndp = dp;
		for (int j = 1; j <= m; j++){
			for (int p = 1; p <= k; p++){
				if (a[i] == b[j]){
					dp[j][p][1] = (ndp[j-1][p][1] + ndp[j-1][p-1][1]) % MOD + ndp[j-1][p-1][0] % MOD;
					dp[j][p][1] %= MOD;
					dp[j][p][0] = (ndp[j][p][1] + ndp[j][p][0]) % MOD;
				}else{
					dp[j][p][1] = 0;
					dp[j][p][0] = (ndp[j][p][1] + ndp[j][p][0]) % MOD;
				}
			}
		}
	}

	std::cout << (dp[m][k][0] + dp[m][k][1]) % MOD << '\n';
}

signed main()
{
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);
	std::cout<<std::setiosflags(std::ios::fixed)<<std::setprecision(2);
	int t = 1, i;
	for (i = 0; i < t; i++){
		solve();
	}
	return 0;
}

标签:std,12,cn,int,2025,vector,日常
From: https://www.cnblogs.com/califeee/p/18666791

相关文章

  • Shelly聊AI:年度展望:2025年AI与社会发展关键事件的深度思考(每年一篇,十年为期)
    大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300+款以上的AI应用工具。关注科技及大模型领域对社会的影响10年+。关注我一起驾驭AI工具,拥抱AI时代的到来。人工智能&AIGC术语100条Shelly聊AI-重磅发布在人类浩瀚的历史中,人工智能犹如一颗璀璨夺目......
  • Mac电脑如何安装Xmind 2025 中文思维导图软件?
    Mac电脑如何安装Xmind2025中文思维导图软件?介绍Xmind,是一款出色的思维导图和头脑风暴软件,拥有美观的智能配色方案,便于你轻松理清思路捕捉创意。丰富的导图模板及多种创意整合工具,可助力导图迸发更多活力。还拥有强大演说模式,及提供Markdown、SVG、PNG、PDF、Office等......
  • Mac电脑如何安装Xmind 2025 中文思维导图软件?
    Mac电脑如何安装Xmind2025中文思维导图软件?介绍Xmind,是一款出色的思维导图和头脑风暴软件,拥有美观的智能配色方案,便于你轻松理清思路捕捉创意。丰富的导图模板及多种创意整合工具,可助力导图迸发更多活力。还拥有强大演说模式,及提供Markdown、SVG、PNG、PDF、Office等......
  • SpringBoot面试题(2025)
    什么是SpringBoot?多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Maven依赖关系,配置应......
  • 2025毕设ssm垃圾分类系统程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着城市化进程的加快和人口的增长,垃圾产生量日益增多,对环境造成的压力不断增大。传统的垃圾分类管理方式面临着诸多挑战,如居民垃圾分类意识不强......
  • 2025毕设ssm计算机组成原理在线教学平台程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的迅猛发展,计算机在人们的生活与工作中占据着不可或缺的地位。计算机组成原理作为计算机科学与技术领域的一门根基性课程,对于学生深......
  • 2025毕设ssm家居租赁系统程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着城市化进程的不断推进,人口的流动性日益增强,家居租赁作为一种新兴的商业模式逐渐受到人们的关注。在现代社会,许多人由于工作、学习等原因需要......
  • 2025毕设ssm流浪动物救助系统程序+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会的发展,人们生活水平不断提高,但同时也出现了一些社会问题,流浪动物的数量日益增多便是其中之一。这些流浪动物大多居无定所,缺乏稳定的食物......
  • VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动
    VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS集成驱动版,新增12款I219网卡驱动VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)发布ESXi8.0U3c集成驱动版,在个人电脑上运行企业级工作负载请访问原文链接:https://sysin.org/blog/v......
  • 2025/1/11 第25场蓝桥入门赛 题解
    A: 哪来的AC  :  题目链接水题:31画#include<iostream>usingnamespacestd;intmain(){//请在此输入您的代码cout<<31;return0;}B: 酒店安排  : 题目链接 思路:从大到小排序,求每两个相邻房间的差值 ,滑动窗口求m-1个差值最小,即为答案要想最......