美团CodeM 资格赛第一题
2024-09-04 06:41:36
美团外卖的品牌代言人袋鼠先生最近正在进行音乐研究。他有两段音频,每段音频是一个表示音高的序列。现在袋鼠先生想要在第二段音频中找出与第一段音频最相近的部分。
具体地说,就是在第二段音频中找到一个长度和第一段音频相等且是连续的子序列,使得它们的 difference 最小。两段等长音频的 difference 定义为:
difference = SUM(a[i] - b[i])2 (1 ≤ i ≤ n),其中SUM()表示求和
其中 n 表示序列长度,a[i], b[i]分别表示两段音频的音高。现在袋鼠先生想要知道,difference的最小值是多少?数据保证第一段音频的长度小于等于第二段音频的长度。
#include"stdio.h"
int main()
{
int first[1000],second[1000]; int i=0,j=0;
int firstNumber,secondNumber;
scanf("%d",&firstNumber);
for(i=0;i<firstNumber;i++)
scanf("%d",&first[i]);
scanf("%d",&secondNumber);
for(i=0;i<secondNumber;i++)
scanf("%d",&second[i]);
int sum=0;
int a=-1;
int sums=0;
int difference[secondNumber-firstNumber+1];
for(i=0;i<secondNumber-firstNumber+1;i++){
for(j=0;j<firstNumber;j++){
sums=first[j]-second[j+i];
if(sums<0)
sums=sums*a;
sum+=sums*sums;
}
difference[i]=sum;
sum=0;
}
int min=difference[0];
for(j=0;j<secondNumber-firstNumber+1;j++){
if(min>difference[j])
min=difference[j];
}
printf("%d\n",min) ;
return 0;
}
最新文章
- .NET平台机器学习组件-Infer.NET(三) Learner API—数据映射与序列化
- paper 124:【转载】无监督特征学习——Unsupervised feature learning and deep learning
- NHibernate系列文章目录
- PHP内核的学习--创建PHP扩展
- 如何把其他用户创建的表,导入到自己数据库是,所有者owner改变为自己创建的用户
- Python入门笔记(18):Python函数(1):基础部分
- Object-C 对象 (创建/销毁 对象)-- 笔记
- 【LeetCode】23. Merge k Sorted Lists
- Global事件执行顺序
- 新安装mysql 第三方工具连接不上问题
- How to make sure your machine is always online without sleep
- HighCharts之2D柱状图、折线图的组合双轴图
- python--事务操作
- springMVC源码学习之获取参数名
- Vue + WebPack + Typescript初学者VSCode项目 (按需加载、跨域调试、await/async)
- Android 编程下的代码混淆之(android-support-v4.jar)
- QT基础:QMainWindow学习小结
- 【C#/WPF】图像变换的Undo撤销——用Stack命令栈
- Web前端——jQuery----细节
- phpdisk 盲注 &;前台任意用户登录
热门文章
- 17.3.13--python编码问题
- 吴裕雄--天生自然 JAVA开发学习:封装
- CSS 定位体系概述
- Codeforces 1295E Permutation Separation
- NOIP2013D1T3货车运输 (生成树+树链剖分)
- Matlab高级教程_第二篇:Matlab相见恨晚的模块_02_并行运算-利用GPU并行执行MATLAB程序
- java中多线程入门有趣介绍
- Codeforces Round #579 (Div. 3) Complete the Projects(贪心、DP)
- 吴裕雄--天生自然 R语言开发学习:数据集和数据结构
- TPO1-3 Timberline Vegetation on Mountains