【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6078

题目意思

给定两个数组问你同时满足波浪的波浪数。不理解可以看题目提示部分

解题思路

首先从a数组一个个往下查询b数组是否有相同数字。在查询新的数字时候就要判断前面是否有可以与新加的数字组成波浪的,而当新加数比前面的数大时候就可以添加前面数字为波谷的情况下,而自己添加后处在波峰的位子(如前面有的1 3,现在加入5的话就会考虑15和53的情况,这时候1和3处在波谷而5处在波峰)反之波谷。所以开二维数组dp来存储的处在波峰的情况个数和波谷的个数。。。又因为a数组可能有相同数字出现所以开s二维数组储存之前的状况。具体如代码

代码部分

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll p=998244353;
//const LL MAXN=1e6+10;
int a[2005],b[2005];
ll dp[2][2005],s[2][2005];///dp数组存本轮的值,s数组存储总次数的(防止a数组出现相同数字)
int main()
{int t;scanf("%d",&t);while (t--){int n,m;ll sum=0;memset(dp,0,sizeof(dp));memset(s,0,sizeof(s));scanf("%d %d",&n,&m);for (int i=0; i<n; i++)scanf("%d",&a[i]);for (int i=0; i<m; i++)scanf("%d",&b[i]);for (int i=0; i<n; i++){ll ans1=1;      ///统计为前面波谷的情况,同时自己属于波峰ll ans0=0;      ///统计为前面波峰的情况,自己属于波谷for (int j=0; j<m; j++){if (a[i]==b[j]) ///相等更新对应波峰波谷的值{dp[0][j]=ans1;      ///波峰dp[1][j]=ans0;      ///波谷sum=(sum+ans1+ans0)%p;  ///总情况数}else if(a[i]> b[j])      ///a[i]比b[j]打所以b可以嫁接a处在波峰的情况ans0+=s[0][j]%=p;else  ans1+=s[1][j]%=p;     ///反之嫁接波谷的情况}for (int j=0; j<m; j++)  {if (a[i]==b[j])   ///把之前的a[i]的次数加上本轮的{s[0][j]+=dp[0][j]%=p;  s[1][j]+=dp[1][j]%=p;}}}printf("%lld\n",sum);}return 0;
}

HDU 6078Wavel Sequence相关推荐

  1. HDU - 5919 Sequence II——主席树+区间种类++逆序建树

    [题目描述] HDU - 5919 Sequence II [题目分析] 题目给定一个数组,每次查询一个区间,找出区间内不同数字的个数x,然后输出按出现顺序第x/2向上取整个数字的位置. 按照要求,我 ...

  2. HDU 3397 Sequence operation(线段树)

    HDU 3397 Sequence operation 题目链接 题意:给定一个01序列,有5种操作 0 a b [a.b]区间置为0 1 a b [a,b]区间置为1 2 a b [a,b]区间0变 ...

  3. hdu 3397 Sequence operation(线段树,lazy,区间合并)

    hdu 3397 Sequence operation 线段树lazy和区间合并结合的一个题,相当于几个题集中到一起嘛,分开想就好了 0,1,2操作都要lazy,2的异或操作找到每一只含1或只含0的区 ...

  4. HDU 5919 Sequence II 主席树

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5919 Sequence II Time Limit: 9000/4500 MS (Java/Othe ...

  5. hdu 5312 Sequence(数学推导——三角形数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5312 Sequence Time Limit: 2000/2000 MS (Java/Others)  ...

  6. 数论分块练习([CF830 C]Bamboo Partition + [hdu 6395]Sequence )

    文章目录 T1:Sequence title solution T2:Bamboo Partition title solution code T1:Sequence title 传送 solutio ...

  7. HDU 3916 Sequence Decomposition 【贪心】

    这道题目的题意就是使用题目中所给的Gate 函数,模拟出输入的结果 当然我们分析的时候可以倒着来,就是拿输入去减 每次Gate 函数都会有一个有效范围 这道题目求的就是,找出一种模拟方法,使得最小的有 ...

  8. [HDU] 2611 Sequence two -优先队列和一般队列一起使用。

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2611 方法: 和hdu 2610不一样,该题中要求的顺序除了根据长度外是根据数字大小而不是数字所在的 ...

  9. HDOJ 6078-Wavel Sequence

    Wavel Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) ...

最新文章

  1. php mysql两个表合并_php操作mysql两个数据库中表的数据同步
  2. 并发-9-Callable和Future
  3. 什么文件使用.md扩展名,我该如何编辑它们?
  4. [iOS]关于零基础学习iOS开发的学习方法总结
  5. GDCM:将PDF文件转换为DICOM / PDF文件的测试程序
  6. 多麦克风做拾音的波束_麦克风阵列是什么 有哪些关键技术?
  7. labelme标注文件转coco json,coco json转yolo txt格式,coco json转xml, labelme标注文件转分割,boxes转labelme json
  8. 花式上分算法大赛,速看鹅厂六强团队解题思路集锦【附PPT下载】
  9. 模块化编程的分层设计经验
  10. socket地址API
  11. Windows Hook机制
  12. 最详细的vs2015使用教程(有图)
  13. iqooneo3 如何不用vivo账号下载外部应用_VIVO市场ASO实战详解
  14. 时光机················
  15. WPF 几何图形之图形微语言命令
  16. Visual Studio 2008 项目安装和部署
  17. R语言可视化散点图、使用ggrepel包的geom_text_repel函数避免数据点之间的标签互相重叠(设置min.segment.length参数为Inf不添加标签线段)
  18. 个人永久性免费-Excel催化剂功能第69波-打造最专业易用的商务图表库,即点即用的高级Excel图表...
  19. kafka删除标记删除(marked for deletion)的topic
  20. WIN10 下 “java -cp“ 命令解析

热门文章

  1. 游戏联网必备: 国内外实时对战服务详细对比
  2. 构建神经网络- 手写字体识别案例
  3. 网心科技CEO、迅雷联席CEO陈磊:开启共享经济云计算时代
  4. ggplot2绘制数据分布crossbar图教程
  5. 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)
  6. git github 快速入门
  7. ffmpeg 查看bayer rg8 \ bg8 像素格式图片方法
  8. ch341a i2c 安卓_CH341A实现USB转I2C的问题
  9. IOS – OpenGL ES 图像柏林噪点/花边噪点 GPUImagePerlinNoiseFilter
  10. 如何防止网站内容被采集