jzoj P1592 音乐节拍
来源:互联网 发布:母婴用品淘宝店 编辑:程序博客网 时间:2024/06/10 05:23
题目大意:
一首歌曲由N种音节组成,编号为1到N,而且一定按照从1到N的顺序进行弹奏,第i种音节持续B_i个节拍,节拍0到节拍B_1-1弹奏的是第1种音节,从B_1到B_1+B_2-1弹奏的是第2种音节,依此类推。
给出Q个询问,让你回答第T_i次节拍弹奏的是哪种音节。
1<=N<=50,000
1<=B_i<=10,000
0<=T_i<=节拍总数-1
1<=Q<=50,000
题解:
模拟+二分:
这题因为数据问题,很明显不能开一个大数组去暴力,不过我们可以记录第i个音节的开始与结束,
然后对于一个查询Ti,就直接二分求解。
时间复杂度:O(Q*log2 N)
var p:array [0..50001,1..2] of longint; x,i,j,n,m,l,r,mid:longint;begin assign(input,'mnotes.in'); reset(input); assign(output,'mnotes.out'); rewrite(output); readln(n,m); p[1,1]:=0; for i:=1 to n do begin readln(x); p[i,2]:=p[i,1]+x-1; p[i+1,1]:=p[i,2]+1; end; for i:=1 to m do begin readln(x); l:=1; r:=n; while l<=r do begin mid:=(l+r) div 2; if x<p[mid,1] then r:=mid-1 else if x>p[mid,2] then l:=mid+1 else break; end; writeln(mid); end; close(input); close(output);end.
阅读全文
0 0
- jzoj P1592 音乐节拍
- 音乐节拍提取(一)
- 音乐节拍提取(二)
- 洛谷P1592 互质
- 时钟节拍
- 时间节拍
- 时钟节拍
- 时钟节拍
- 美好生活四节拍
- 慢节拍的生活
- 生活的节拍
- 系统时钟节拍(SysTick)
- 双耳节拍评论
- ucos时钟节拍
- 系统节拍分析
- CPU 周期信号、节拍周期信号、节拍脉冲信号
- soundtouch之变调、变速、节拍
- uCOS:时钟节拍代码追踪
- 64位的ubuntu14.04 LTS安装 Linux交叉编译工具链及32位“ia32-libs”依赖库
- IP初探
- 有关小波的几个术语及常见的小波基介绍
- import cv2问题(Anancoda与非Anaconda方式)
- 汇编第三节-寄存器(内存访问)
- jzoj P1592 音乐节拍
- 51nod 1255 字典序最小的子序列 贪心
- Linux中Python环境变量的设置
- File io 字节字符流
- C++ Primer 学习笔记(第六章)
- Zookeeper集群搭建和配置
- Delphi xe10开发常用资源(界面部分)
- 【Python Trick】set与list
- layer 弹窗 加载层 选择框