![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
文章平均质量分 82
doctorZ_
这个作者很懒,什么都没留下…
展开
-
CF1515I Phoenix and Diamonds
的钻石为重钻石,显然最多只会取一个重钻石,并且如果要取某个重钻石在该重钻石前方剩余的轻钻石都会被选上。在线段树上二分出最前的重钻石,满足该重钻石和他前方的重钻石的总和小于等于。,如果找不到这样的重钻石,就尽可能地用轻钻石。二进制下的最高位,我们称重量。显然每经过上述操作,原创 2022-10-06 11:45:08 · 390 阅读 · 0 评论 -
gmoj 5409. 【NOIP2017提高A组集训10.21】Fantasy
Description Y sera 陷入了沉睡,幻境中它梦到一个长度为N 的序列{Ai}。 对于这个序列的每一个子串,定义其幻境值为这个子串的和,现在Y sera 希望选择K 个不同的子串并使得这K 个子串的幻境值之和最大。 然而由于梦境中的种种限制,这些子串的长度必须在L 到R 之间。 你需要告诉她,最大的幻境值之和。 Solution1 记si=∑i=1nais_i=\sum_{i=1}^na_isi=∑i=1nai 枚举子串开头iii,子串结尾为j∈[i+l−1,i+r−1]j\in[i+l-原创 2020-12-26 16:04:46 · 150 阅读 · 0 评论 -
CF1649F Serious Business
题目大意 给你一个333行nnn列的网格,每个网格上有一个数,从左上角出发,终点在右下角,每次只能往右走和往下走,一开始第二行的网格是不允许经过的,有qqq个操作,可以花费kkk的代价使lll到rrr列的第二行的网格变得允许经过,问你经过网格数的总和-花费的总代价的最大值 题解 从(2,i)(2,i)(2,i)进入第三行的话接下来的决策就确定了,考虑设fif_ifi表示走到(2,i)(2,i)(2,i)的最大分数,对于一个操作(l,r,k)(l,r,k)(l,r,k)和一个iii,有两个可行转移 fi=m原创 2022-03-09 21:07:06 · 237 阅读 · 0 评论 -
gmoj4724. 【NOIP2016提高A组模拟8.21】斐波那契 (Standard IO)
Description Y sera 陷入了沉睡,幻境中它梦到一个长度为N 的序列{Ai}。 对于这个序列的每一个子串,定义其幻境值为这个子串的和,现在Y sera 希望选择K 个不同的子串并使得这K 个子串的幻境值之和最大。 然而由于梦境中的种种限制,这些子串的长度必须在L 到R 之间。 你需要告诉她,最大的幻境值之和。 Solution 比赛时切了,但是用了一个很奇怪的办法 由性质4可得 H1=Fa,H2=Fa+1,Hn=Fa⋅Fn−2+Fa+1⋅Fn−1H_1=F_a,H_2=F_{a+1},H_n=原创 2021-03-13 19:33:54 · 151 阅读 · 0 评论 -
gmoj 5405.Permutation(线段树+拓扑排序)
Description 你有一个长度为n 的排列P 与一个正整数K 你可以进行如下操作若干次使得排列的字典序尽量小 对于两个满足|i-j|>=K 且|Pi-Pj| = 1 的下标i 与j,交换Pi 与Pj Solution 令qpi=iq_{p_i}=iqpi=i,显然当{qn}\{q_n\}{qn}的字典序最小时,{pn}\{p_n\}{pn}的字典序最小,即将问题转化为若相邻两数相差大于等于kkk即可交换,然后使得{qn}\{q_n\}{qn}的字典序最小 发现若i<j,i,j∈[原创 2020-12-19 17:22:26 · 171 阅读 · 1 评论