bzoj 3747 题解

本文介绍了bzoj 3747题目,讨论如何找到一段区间,使得区间内只出现过一次的电影的好看值之和最大。通过枚举右端点,利用pre数组记录电影上次出现位置,并使用线段树处理区间加减和求最大值的问题,最终得出最优解。
摘要由CSDN通过智能技术生成

题意简述

m m m个电影,编号 1 1 1 ~ m m m,第 i i i部电影有一个好看值 w i w_i wi。并且,每天都会放某一个电影,第 i i i天放第 a i a_i ai部电影。请选出一段区间 l l l ~ r r r,使得这一段区间中只出现过一次的电影好看值和最大。

数据

输入
9 4
2 3 1 1 4 1 2 4 1
5 3 6 6
输出
15

解释

2 2 2 ~ 7 7 7部电影,只出现过一次的是第 2 2 2 3 3 3, 4 4 4部电影,好看值和 = 3 + 6 + 6 = 15 =3+6+6=15 =3+6+6=15最大。

思路

这题是我一次考试题,然鹅并没有想出正解,直接 n 2 n^2 n2,由于老师比较仁慈,拿了 40 40 40分,就 r a n k 1 了 rank1了 rank1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值