
扫描法
区间
璇玑你没有心
这个作者很懒,什么都没留下…
展开
-
D. Rescue Nibel(cf) 区间覆盖 + 组合数学
原题链接:Problem - 1420D - Codeforces 题目大意:给你n个灯,和每个等的亮的时间段,问你有多少种可以有k个灯一起亮的种数(如果k = 3而且灯 1 2 3在几个时间点都可以一起亮,只算一种。 思路:用区间覆盖,{l, 1} {r + 1, -1},然后sort,维护时间点内灯的个数。每加进来一个等的时候,种数即为现在一定要这个灯,然后在剩下的灯中(维护的这个时间有的灯)选出k - 1个即为组合数,而且不会重复。 AC代码: #include<bits/s.原创 2022-03-31 20:41:24 · 407 阅读 · 0 评论 -
Problem 1424G - Years(cf)
想来想去还是应该记录一下这个题 和流星那个题一样,也是求拥有最大个数的时间(从区间段里找) 可以也用struct,就像流星那个题一样(刘老师的方法) 但是还有一种用vector<pair<int, int>也很好用很方便 因为vector本身就是按照first值从小到大排序,如果first一样了,就按second从小到大排序 所以我们可以把右端点事件的second值设为-1,左端点事件second值设为1 //1.struct #include<iostream>原创 2021-11-06 11:29:16 · 122 阅读 · 0 评论 -
Meteor 扫描法处理区间重合最大值
原题链接:Meteor - UVALive 3905 - Virtual JudgeMeteor原创 2021-10-23 11:53:03 · 131 阅读 · 0 评论