收拾妥当,沈笑夫拿出,翻到基本数据结构这章,认真研读这道题目
第一题海港
小k是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。
小k对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;
对于第i艘到达的船,他记录了这艘船到达的时间ti,船上的乘客数量ki,以及每名乘客的国籍x,x,,x。
小k统计了n艘船的信息,希望你帮忙计算出以每一艘船到达时间为止的24小时6400秒内所有乘船到达的乘客来自多少个不同的国家。
形式化地讲,你需要计算n条信息。对于输出的第i条信息,你需要统计满足ti–86400”
沈笑夫心想这道题直接做是过不了的,它就是不断的将先来的弄出去,相当于队列一样用一个队列维护时间t,每次看队首元素有没有相隔24小时。
如果有,则,否则入队统计。
对于数据的存储可能有点困难,nki的数组是开不下的,但是他是按照每艘船的顺序给出来的,如果可以转化为一条链就好了。
第一个方法是vector,似乎有点慢;第二个方法是eue,这个可以用数组模拟,效率比较高。
每次删除一条船就都从队列中删除信息,开一个vis数组记录一下人数。
这里是不能用boo数组或者每次都扫一下vis数组的,可以动态改变答案。
前缀和也是行不通的,不能满足区间减性质。
当数组大小是n这种乘积类型时,可以考虑能不能转化成一条链状的形式。动态统计答案是一种有效处理多次统计答案的问题的方式。
Loading...
未加载完,尝试【刷新】or【关闭小说模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.gaysay.com
(>人<;)