hdu4105 Electric wave

2024-05-28 11:18
文章标签 wave electric hdu4105

本文主要是介绍hdu4105 Electric wave,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题意;

给一串连续的数 向其中加空格 使之分成符合 波谷 波峰 波谷 波峰。。依次排列的数

波谷即与之相邻两数比它大 波峰即相邻的数比它小


dp[i][j][0、1] 表示以第 i 到第 j 位之间表示的数为波谷或波峰所得到的最大值

dp方程:

                    int tmp=is(i,j,k,p);// 求 i 到 j 之间构成的数 是否可以作为 k 到 p 之间构成的数(在 i 之后)的波谷 若两数相等 返回0
                    if(tmp==1)//i j可以当波谷
                        dp[i][j][0]=max(dp[i][j][0],dp[k][p][1]+1);
                    else if(tmp<0)//i j可以当波峰
                        dp[i][j][1]=max(dp[i][j][1],dp[k][p][0]+1);


感想:

又是一道不知道怎么表示dp方程的题。。

搜解题报告 只有四篇 一篇dp是一维的 一篇dp是二维的 一篇dp是三维的 还有一篇是贪心。。

然后一篇都看不懂。。试了下他们的程序可以0ms过 我这个虽然比男神的优化了一点点 还是要109ms。。

男神说 哪里处理起来麻烦 就在哪里设置状态

最起码的一条是怎样利用自己设置的状态的子结构 得到当前状态的值

经验。。以后可以多试试


#include<iostream>
#include<cmath>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std;int dp[105][105][2],n,num[105];
char s[105];int is(int i,int j,int k,int p)
{while(num[i]==0) i++;//去掉前置0while(num[k]==0) k++;if(k>p) return -1;//不可能。。if(i>j) return 1;if((j-i)<(p-k)) return 1;//先用长度判断大小if((j-i)>(p-k)) return -1;for(int l=0;l<=(j-i);l++)//每位比较{if(num[l+i]<num[k+l]) return 1;else if(num[l+i]>num[k+l]) return -1;}return 0;//说明每一位都相等 既不是波峰也不是波谷
}int main()
{int i,j,k,p,ans;while(~scanf("%d",&n)){getchar();gets(s);if(n==1)//优化一下。。{printf("0\n");continue;}if(n==2){if(s[0]>s[1]) printf("0\n");else printf("1\n");continue;}memset(dp,0,sizeof dp);for(i=0;i<n;i++)num[i]=s[i]-'0';for(i=0;i<n;i++)//初始化 取i到最后一位 肯定只有一种{dp[i][n-1][0]=1;dp[i][n-1][1]=1;}for(i=n-2;i>=0;i--){for(j=i;j<n-1;j++){k=j+1;for(p=k;p<n;p++){int tmp=is(i,j,k,p);if(tmp==1)//i j可以当波谷dp[i][j][0]=max(dp[i][j][0],dp[k][p][1]+1);else if(tmp<0)//i j可以当波峰dp[i][j][1]=max(dp[i][j][1],dp[k][p][0]+1);}// printf("i:%d j:%d %d %d\n",i,j,dp[i][j][0],dp[i][j][1]);}}ans=0;for(i=0;i<n;i++)ans=max(ans,dp[0][i][0]);printf("%d\n",ans-1);}return 0;
}


这篇关于hdu4105 Electric wave的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010409

相关文章

WAVE-CLUSTER算法原理及Python实践

一、WAVE-CLUSTER算法原理 WAVE-CLUSTER算法,也称为WaveCluster小波聚类算法,是一种基于小波变换的聚类分析方法。其原理主要涉及到将数据看作多维信号进行处理,并通过小波变换将数据从原始空间变换到频域空间,以揭示数据的自然聚类属性。以下是WAVE-CLUSTER算法的主要原理步骤: 1、数据空间量化: 首先,将多维数据空间进行量化,即将每个数据点映射到一个量化

跟《经济学人》学英文:2024年6月15日这期 Chinese electric vehicles (EVs)

The EU hits China’s carmakers with hefty new tariffs Duties will only hold them back for a while 欧盟对中国汽车制造商征收高额新关税 hit: 对xxx施加 在句子"The EU hits China’s carmakers with hefty new tariffs"中,“hits”的意思是

XAudio2学习四之wave文件格式

公众号可以查看完整文章 XAudio2学习四之wave文件格式 wave文件也称波形文件,是非常常用的音频格式。和很多文件一样,包括头信息和音频数据。 wave文件格式是开源的,网上也有很多资料。大家可以自行查找学习。头信息大致如下: 偏移地址 大小 字节 数据块

罗兹电钢琴-e-Instruments Session Keys Electric R Kontakt

e-Instruments Session Keys Electric R Kontakt | 5.23GB 这款经过精心采样的乐器可能是您唯一需要的Rhodes。 罗兹电钢琴一直是众多虚拟娱乐的主题,那么世界是否还需要另一种采样产品?简而言之,是的。多年来,我玩过很多真实的示例(并拥有一个绝对的饼干),我可以证明没有两个听起来完全一样,或者对播放器的响应方式相同。在调整,定制和以其他

沃立舍电钢琴-e-instruments Session Keys Electric W Kontakt

e-instruments Session Keys Electric W Kontakt | 4.17Gb Session Keys Electric W 的开创性传奇-过去几十年中一些最具标志性的流行歌曲的声音。注重每一个细节,这架经典的电钢琴的演奏为您提供了原版钢琴的所有温暖感和动态范围。Wurli帮助定义了Fusion,Disco,Funk和Pop的声音特征。我们一直在寻找完美

1973年的手提箱电钢琴-e-instruments Session Keys Electric S

e-instruments Session Keys Electric S Kontakt | 9GB 没有什么比1973年的手提箱更能体现电子钢琴的发展了:键盘,放大器和扬声器的精美包装。 为了重现这首备受推崇的电子钢琴经典作品,我们高低寻找高品质的原声钢琴。1973年,我们发现了一个宏伟的手提箱,在此期间,专家们进行了彻底的修复。回到高峰状态,我们开始了详细的录音,以捕捉其原始声音

【VB6】CD 抓音轨转成 WAVE 波形格式文件

很久以前的一个作品,不过当时没在CSDN博客上发布。。。 本来想写个转成WMA的。。。不过关于WMA格式网上的资料实在太少,虽然也找到个“CD抓音轨转成WMA”的文章,但是这篇文章的代码里面引用了Windows Media SDK,我对这个玩意没多少研究,所以也只能望洋兴叹了。另外本文参考了C++实现CD抓轨转WAV,在此感谢作者的无私分享!好的,废话不多说,下面说下我制作这个软件的过程。 不

WAVE音乐格式解析(讲解加代码)

之前一直想用单片机的adc播放音乐,一直有这个念头,网上找了很多的代码都很复杂,就想自己写一个兼容性高的,一眼就能看懂的WAVE解析的代码。以前基本功太差,现在感觉天清了雨晴了,我又觉得我行了!(狗头) 熬了两宿,对着两幅图把之前立的flag给补上了一部分。今天真的是写的太烦了,下边付了一份自己写的代码,代码目前的状态也就是能用吧!不稳定,bug超多,file safe啥的也没做,以后闲的蛋疼的

k-Wave丨光声成像仿真丨轴对称坐标系中的模拟+1D/2D/3D中的光声波形(七)

本文将介绍轴对称坐标系中的模拟示例,以及1D/2D/3D中的光声波形示例。这两部分内容是官方示例:初始值问题(Initial Value Problems)中的最后两部分,一些内容是官方英文注释的机翻,还请辩证性阅读。 有兴趣的同好可以加企鹅群交流:937503xxx(有意向的同好私聊或评论加群,新群,目前群内仅5人),任何科研相关问题都可以在群内交流,平常一起聊聊天、分享日常也是没问题的,欢迎