音乐节拍

1122. 音乐节拍 (Standard IO)

时间限制: 1000 ms  空间限制: 262144 KB  具体限制

题目描述

FJ准备教他的奶牛弹奏一首歌曲,歌曲由N种音节组成,编号为1到N,而且一定按照从1到N的顺序进行弹奏,第i种音节持续B_i(1<=B_i<=10,000)个节拍,节拍从0开始计数,因此从节拍0到节拍B_1-1弹奏的是第1种音节,从B_1到B_1+B_2-1弹奏的是第2种音节,依此类推。
最近奶牛对弹琴不感兴趣了,他们感觉太枯燥了。所以为了保持奶牛们注意力集中,FJ提出Q个问题,问题的格式都是“第T次节拍弹奏的是哪种音节”
每个问题对应一个T_i请你帮奶牛来解决。

输入

第一行输入两个空格隔开的整数N和Q。
第2至N+1行每行包含一个整数 B_i。
第N+2-N+Q+1行每行包含一个整数T_i。

输出

输出有Q行,每行输出对应问题的答案。

样例输入

3 5
2
1
3
2
3
4
0
1

样例输出

2
3
3
1
1

数据范围限制

N,Q <= 50000

答案如下:↓↓↓

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<ctime>
 5 #include<algorithm>
 6 #include<cmath>
 7 using namespace std;
 8 #define debug(x) cerr<<#x<<‘=‘<<x<<endl
 9 #define MAXN 654321
10
11 int N,Q;
12 int A[MAXN];
13 int s,y,l,v,a;
14
15 void binary_chop(int low,int high,int y){
16     while (low<high){
17         int mid=(low+high)/2;
18         if (A[mid]>=y) high=mid;
19          else low=mid+1;
20     }
21     cout<<low<<endl;
22 }
23 int main(){
24     cin>>N>>Q;
25     cin>>s;
26     A[1]=s-1;
27     for (int i=2;i<=N;i++){
28         scanf("%d",&s);
29         A[i]=s+A[i-1];
30     }
31     for (int j=1;j<=Q;j++){
32         scanf("%d",&y);
33      binary_chop(1,N,y);
34     }
35     return 0;
36 }
37
38     

原文地址:https://www.cnblogs.com/yangzhicheng-blog/p/10686150.html

时间: 2024-11-06 09:28:13

音乐节拍的相关文章

音乐节拍提取一

前段时间倒腾了一下音乐节拍数检测,参考下面的网上的一个测试歌曲列表做了下对比,效果还不错,基本上都是准的. Itunes Link Name Time Artist BPM Album Genre Amazon Link Loneliest Soul 03:35 Grace Potter and the Nocturnals 168 The Lion The Beast The Beat Alternative Loneliest Soul Quesadilla 03:15 Walk The M

音乐节拍提取(一)

前段时间倒腾了一下音乐节拍数检测,参考下面的网上的一个测试歌曲列表做了下对比,效果还不错,基本上都是准的. Itunes Link Name Time Artist BPM Album Genre Amazon Link Loneliest Soul 03:35 Grace Potter and the Nocturnals 168 The Lion The Beast The Beat Alternative Loneliest Soul Quesadilla 03:15 Walk The M

iOS: 零误差或极小误差的定时执行或延迟执行?

问题如下: 节奏类游戏需要执行很多的跟音乐节拍相关的操作,并且为了保证节奏感,需要让操作跟节拍的关系十分紧密.对两者间隔要求不能超过0.02秒或更低. 目前使用了 GCD 中的 asyncAfter(deadline:)方法,不过误差总是要大于0.05秒,并且还无法保证误差会不会传递下去.请问有更好的方式来解决误差吗? var time = Date().timeIntervalSince1970 let dq = DispatchQueue(label: "queue", qos:

OLA音频变速算法的仿真与剖析

前段时间,在尝试音乐节拍数的提取时,终于有了突破性的进展,效果基本上比市面上的许多商业软件还要好,在作节拍数检测时,高频信息作用不大, 通过重采样减小运算量.重采样让我想起了在学校里面做的变速变调算法,在这里顺便回顾一下. OLA(Overlap-and-Add, OLA)重叠叠加算法是音频变速算法中最简单的时域方法,它是后续时域算法(SOLA, SOLA-FS, TD-PSOLA, WSOLA)的基础. OLA分为分解与合成两个部分,公式看起来很复杂,所以不贴出了,基本思路从图中更能清晰的表现

飞过的2014年

"天空没有翅膀的痕迹,但我已飞过",有些事情虽然做过了却不为人所知,但这并不重要,重要的是我已经做过,并且从中收获很多. 简单写下2014年7月至2015年初这几个月业余时间都忙乎了什么.这半年似乎有些浮躁,有点太想成事了.移动互联网大潮一浪接着一浪,不断有新的移动应用在市场上蹿红,内心难免不血脉喷张一下,于是自己也不断的琢磨些小创意.当自认为靠谱后,就利用业余时间做起来,从产品设计.ui设计.到客户端.服务端编码全部一个人搞定,甚至十一七天假,也都在编写.调试程序中度过,很想尽快把程

玉人舞的比较(唐诗逸版本比较柔美,而且是刚柔并济)

以下摘自<玉人舞>唐诗逸版:https://www.youtube.com/watch?v=5loWidbGO54https://www.youtube.com/watch?v=rVq43P4nM_c 唐诗逸把水袖甩出了剑的感觉,看她跳舞真是享受~ 之前一直对这一段无感,但是这几天越想越有味道.这一段我觉得真是吊炸天了,开场的舞蹈非常非常清晰地传达了孔子的思考和脑海活动:孔子皱眉在光下,而幽暗的氛围里舞蹈者在左侧,幽暗得脱离了实际,却非常灵动.舞台光和沁碧的服装配色,让人如临玉室,舞蹈非常巧妙

谱面编辑器的核心原理——音乐的节拍是什么

[前言] 之前写的博文<我用Cocos2d-x模拟〈Love Live!学院偶像祭〉的Live场景>中提到了一个谱面制作工具,有读者反映说希望讲一下这玩意怎么做的.编辑器也不是啥机密资料,本来想着把从头到尾的制作过程写出来,然而最后发现事情太多懒癌晚期放弃治疗. 那篇博文中做出的项目是<Easy Live!>的Demo.<Easy Live!>是我设计的一个在WP上运行的,可以选择谱面玩并且没有LP限制的简化版<Love Live!学院偶像祭>,简单地说就是

音乐发生器的原理

音乐发生器的基本知识: 分频系数K = Fc/(Fo*2) 如果最大分频系数为n位2进制数,则计算最大的计算值的位数:N = n’b1111…; 则计数范围为:置位初始值 --- > N 输出为每次计数到N则翻转一次. 每个音节的频率为: 如果使用6Mhz时钟来产生音频,使用4hz时钟来产生音拍,则分频系数k,,计算初始值,计算终值列表如下: 计数初始值 = 计数终值 -  分频系数; 音频 分频系数 计数初始值 计数终值 低音1 261.6 11468 4915 14’h3fff =16383

用Tensorflow让神经网络自动创造音乐

前几天看到一个有意思的分享,大意是讲如何用Tensorflow教神经网络自动创造音乐.听起来好好玩有木有!作为一个Coldplay死忠粉,第一想法就是自动生成一个类似Coldplay曲风的音乐,于是,开始跟着Github上的教程(项目的名称:Project Magenta)一步一步做,弄了三天,最后的生成的音乐在这里(如果有人能告诉我怎么在博客里插入音乐请赶快联系我!谢谢!) 第一首:Magenta Melody Result1.mp3 http://yun.baidu.com/share/li