题目链接 "bzoj3747: [POI2015]Kinoman" 题解 维护pre[i],为i节点前一个与它相同的点的位置 固定右端点,向左计算,得到区间内的价值最大字段,怎么计算呢,钦定这个点一定只看一遍,那么区间pre[i] + 1到i的总价值直接加上i的价值 那么我们就只需要在pre[i]到 ...
分类:
其他好文 时间:
2018-07-04 22:43:36
阅读次数:
137
Kinoman bzoj-3747 POI-2015 题目大意:有m部电影,第i部电影的好看值为w[i]。现在放了n天电影,请你选择一段区间l~r使得l到r之间的好看值总和最大。特别地,如果同一种电影放了两遍及以上,那么这种电影的好看值将不会被获得。 注释:$1\le m \le n \le 10^ ...
分类:
其他好文 时间:
2018-05-24 21:16:55
阅读次数:
157
哇被靖靖D飞啊 这题做法很是玄学,感觉最近这段时间的确是比较颓,一点写大数据结构的欲望都没有。 首先先用一个链表存储同一部电影的出现时间。 然后求前缀和。 枚举左端点往右延伸,电影的出现次数也减少,判断一下加减的情况即可。 ...
分类:
其他好文 时间:
2018-04-02 21:12:45
阅读次数:
205
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3747 对于这种题,考虑固定区间的右端点为r,设区间左端点为l能取得的好看值总和为a[l],那么就相当于当r取不同取值时所有al的最大值。 设last[i]表示第i部电影上一次出现的位置,当 ...
分类:
其他好文 时间:
2018-01-18 11:51:20
阅读次数:
140
线段树 线段树记录到每个位置截止的答案 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e6 + 5; int n, m; ll ans; int nxt[N], last[N], a ...
分类:
其他好文 时间:
2018-01-11 19:10:12
阅读次数:
187
3747: [POI2015]KinomanTime Limit: 60 Sec Memory Limit: 128 MBSubmit: 1191 Solved: 514[Submit][Status][Discuss] Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i... ...
分类:
其他好文 时间:
2017-12-19 15:06:53
阅读次数:
152
Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]。 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部。 你可以选择l,r(1<=l<=r<=n),并观看第l,l+1,…,r天内所有的电影。如果同一部电影你观看多于一次,你会感到无聊,于是无法获得 ...
分类:
其他好文 时间:
2017-10-14 19:56:13
阅读次数:
151
【BZOJ3747】[POI2015]Kinoman Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]。 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部。 你可以选择l,r(1<=l<=r<=n),并观看第l,l+1,…,r天内所有的电影。如 ...
分类:
其他好文 时间:
2017-09-13 15:23:21
阅读次数:
127
3747: [POI2015]Kinoman Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]。 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部。 你可以选择l,r(1<=l<=r<=n),并观看第l,l+1,…,r天内所有的电影。如果同一部 ...
分类:
其他好文 时间:
2017-09-13 01:49:46
阅读次数:
248
Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]。 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部。 你可以选择l,r(1<=l<=r<=n),并观看第l,l+1,…,r天内所有的电影。如果同一部电影你观看多于一次,你会感到无聊,于是无法获得 ...
分类:
其他好文 时间:
2016-09-06 01:07:43
阅读次数:
229