HDU 6078 Wavel Sequence(dp)
Description
定义波浪序列:a1 > a2 < a3…,现在给出一个长度为n的序列a和一个长度为m的序列b,求a和b的公共波浪子序列个数
Input
第一行一整数T表示用例组数,每组用例首先输入两个整数n和b表示两个序列的长度,然后输入一个长度为n的序列a[1]~a[n]和一个长度为m的序列b[1]~b[m] (1<=T<=15,1<=n,m,a[i],b[j]<=2000)
Output
输出a和b的公共波浪子序列个数
Sample Input
1
3 5
1 5 3
4 1 1 5 3
Sample Output
10
Solution
Code
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=2001,mod=998244353;
namespace fastIO
{#define BUF_SIZE 100000//fread -> readbool IOerror=0;inline char nc() {static char buf[BUF_SIZE],*p1=buf+BUF_SIZE,*pend=buf+BUF_SIZE;if(p1==pend) {p1=buf;pend=buf+fread(buf,1,BUF_SIZE,stdin);if(pend==p1) {IOerror=1;return -1;}}return *p1++;}inline bool blank(char ch) {return ch==' '||ch=='\n'||ch=='\r'||ch=='\t';}inline void read(int &x) {char ch;while(blank(ch=nc()));if(IOerror)return;for(x=ch-'0';(ch=nc())>='0'&&ch<='9';x=x*10+ch-'0');}#undef BUF_SIZE
};
using namespace fastIO;
int T,n,m,a[maxn],b[maxn],dp[maxn][2],sum[maxn][2];
int inc(int x,int y)
{return x+y>=mod?x+y-mod:x+y;
}
int main()
{read(T);while(T--){read(n),read(m);for(int i=1;i<=n;i++)read(a[i]);for(int i=1;i<=m;i++)read(b[i]);memset(sum,0,sizeof(sum));int ans=0;for(int i=1;i<=n;i++){int num0=0,num1=1;for(int j=1;j<=m;j++){dp[j][0]=dp[j][1]=0;if(a[i]==b[j]){dp[j][0]=num1,dp[j][1]=num0;ans=inc(ans,inc(num0,num1)); }else if(a[i]<b[j])num1=inc(num1,sum[j][1]);else num0=inc(num0,sum[j][0]);}for(int j=1;j<=m;j++)sum[j][0]=inc(sum[j][0],dp[j][0]),sum[j][1]=inc(sum[j][1],dp[j][1]);}printf("%d\n",ans);}return 0;
}
HDU 6078 Wavel Sequence(dp)相关推荐
- HDU 6078 Wavel Sequence (dp)
Description Have you ever seen the wave? It's a wonderful view of nature. Little Q is attracted to s ...
- HDU - 6078 Wavel Sequence(动态规划+时间优化)
代码: #include<bits/stdc++.h> #define MOD 998244353 using namespace std; #define MAXN 2050int dp ...
- 【XSY2564】sequence(dp)
题面 [题目描述] 给定一个长度为nnn的由['0'...'9'][\text{'}0\text{'}...\text{'}9\text{'}]['0'...'9']组成的字符串sss,v[i,j]v ...
- HDU 6078 Wavel Sequence
Wavel Sequence Problem Description Have you ever seen the wave? It's a wonderful view of nature. Lit ...
- 2017多校第4场 HDU 6078 Wavel Sequence DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6078 题意:求两个序列的公共波形子序列的个数. 解法: 类似于最长公共上升子序列,对于每个i,只考虑存 ...
- (2017多校训练第四场)HDU - 6078 Wavel Sequence dp
传送门:点击打开链接 定义状态dp[i][j][0]表示以a[i],b[j]结尾的且为波谷的情况总和,dp[i][j][1] 为波峰. 对于某个i,j满足a[i] == b[j],则dp[i][j][ ...
- HDU 6078 Wavel Sequence【动态规划】
题目来戳呀 Problem Description Have you ever seen the wave? It's a wonderful view of nature. Little Q is ...
- hdu 6078 Wavel Sequence
题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6078 (2017 Multi-University Training Contest - Team ...
- HDOJ-2062 :Subset sequence(DP)
题目:求子集序列 Consider the aggregate An= { 1, 2, -, n }. For example, A1={1}, A3={1,2,3}. A subset sequen ...
最新文章
- 【AI参赛经验】汉字书法识别比赛经验心得——by:microfat_htu
- Win32下内存分配简单示例 - 使用CFree
- 完全删除垃圾Q+!!!
- 作为利物浦大学和西浦的学生的职业机会发展平台!很重要!
- 几年前的代码发现一个BUG: 整数相除结果不能默认转换为浮点数
- android 控件描边取消重叠
- access数据类型百度百科_Day 7 基本数据类型
- linux+last命令菜鸟,Linux基本命令。。。菜鸟保留
- 苹果确认部分AirPods Pro存在静电噪音等声音问题 将免费更换
- 刹车时到底要不要踩离合器?
- iOS学习笔记之正则表达式
- dpi数据接入shell脚本
- 云电脑与远控软件有什么区别?如何选?
- 怎么看计算机的a卡右键找不到,右键没有显卡,右键没有amd显卡选项
- MySQL查看数据库状态命令详解
- LaTeX中定义新命令和环境
- Android官方开发相关下载资源一揽子大汇总
- 你的计划为什么执行不下去?怎么破?
- @2021考生,研招网再次开通下载《准考证》功能,查分不愁啦
- NOAA气象数据整理-各站点年月均降水量(2000-2022年)
热门文章
- 【AcWing19】【LeetCode】DFS - 46/47/39/77/78/216/17/131/93/90/491
- 2023年核桃仁行业产业布局:全球核桃仁产量稳步增长
- logstash问题记录:Attempted to resurrect connection to dead ES instance, but got an error
- php函数形参,PHP中的函数形参的默认值
- 【Python | 词云】聊天记录绘制超美词云(七夕快乐 ,曾同学)
- OneClock 不息屏的极简时钟,不仅仅是翻页时钟那么简单!
- 大华sdk(java)上传人脸图片到人脸库,订阅人脸识别对比
- 安卓进阶之android系统架构
- python科学计算环境配置_ATLAS + NumPy + SciPy + Theano 的Python科学计算环境搭建
- 三阶及四阶Runge-Kutta法