2018.06.29 NOIP模拟 区间(前缀和差量)

传送门
这题数据有点吓人,考试时搞了一个多小时发现读错了题就知道自己没救了,匆忙之中写了60分暴力,结果 30 30 30分直接 R E RE RE,还有 30 30 30 T L E TLE TLE了,弄得我不知道怎么是好,下来听了听题解,发现其实并没有我想的那么复杂。

那么我们首先要算算效率,如果我们跑个均摊 O ( n 2 ) O(n^2) On2的算法似乎刚好卡住 2 s 2s 2s时限,于是再仔细思考一下,如果我们维护一个 x x x y y y的区间的出现次数的前缀和,显然如果两个前缀和的值相同的话,这两个前缀和之间形成的区间肯定 x x x y y y出现的次数是相同的,这样可以修改答案。但我们再细算一下,对于每次询问,我们要关心的只是 x x x y y y的位置,而其他位置的前缀和显然可以对之前的前缀和进行继承。所以这个地方一个小技巧,我们先将 a a a数组离散化,然后用动态数组 v e c t o r vector vector来记录每种数的下标。直接在动态数组中跳下标统计答案就行了。其他细节详见代码。
代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值