摘要: 题目描述: 在圆周上有$N$个点,每个点有不同的贡献,要求选$M$个点,不能相邻,问最大的贡献。 解题思路: 将所有点扔进一个按贡献的大根堆里,取$M$次,每次取出堆顶$k$。答案加$V_k$,设$k$的前继为$lst$,后继$nxt$,令$V_k=V_{lst}+V_{nxt}-V_k$,再扔进堆 阅读全文
posted @ 2016-08-22 21:12 Awner 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 题目描述: $F$表示斐波那契数列,给定原始数列,每次操作对$[l,r]$内的数加上$F[i-l+1](l\leq{i}\leq{r})$,或询问区间$[l,r]$的和。 解题思路: 我们发现对于修改操作可以$O(1)$实现。只要用一新数组$D$记录,对于$[l,r]$的修改,将$D[l]+=1,D 阅读全文
posted @ 2016-08-22 20:58 Awner 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给出$h,x,y,z$,求在$h$以内,$x,y,z$可以凑出多少个不同的数。$(1\leq{h}\leq{10^{18}},1\leq{x,y,z}\leq{10^5})$ 解题思路: 直接做显然不好做。我们考虑取$n$个$y$和$m$个$z$,然后再加上$x,2*x,3*x\cdot 阅读全文
posted @ 2016-08-22 20:45 Awner 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 这题改编自CF217E,给出一串字符串,有$n$个操作,将区间$[l,r]$的字符中编号为奇数的写下,再把偶数的写在后面,然后把它们插入$r$和$r+1$之间,问最后字符串的前$k$位。 解题思路: 因为前面的操作不会对后面的操作有影响,所以我们考虑把操作倒过来做。相应的,一开始就只有$ 阅读全文
posted @ 2016-08-22 20:29 Awner 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 这题改编自cf704b,在数轴上有$n$个点,从一个点跳到另一个点的收益是两点的距离和给出的数组对应下标的值,并且往左和往右的数组不同。要求从一个点起跳,经过每个点刚好一次,最后回到原点,使得收益最大。 解题思路: 因为每个点的贡献只跟跳过来的方向有关,与哪个点跳过来无关。所以可以考虑$ 阅读全文
posted @ 2016-08-22 20:16 Awner 阅读(516) 评论(0) 推荐(0) 编辑