我不会!我不会!我不会!!!!!!诶↑我还是不会!
赛时挂大分(20+70->0+0+0)
(T2nfls不讲武德,来骗,来偷袭我这个爆零的老同志)
————————————————————————————————————————————
T1
题意:给定n个区间,求最多有几对区间满足相互之间不相交
赛时错解:
以l为关键字排序,贪心取最近的满足条件的区间
为什么错:
考虑对于数据:
n=4
1 2
3 6
4 7
5 8
这样就取了1 2和3 6,而4 7和5 8是无法匹配的
考虑正解:
其实在这里我们已经可以比较明显地看出
●必须替换前面的操作,而这一定不会让答案更劣
(其实就是增广路?)
●显然我们要找到已经匹配的区间里r值最小的(但要小于当前的r,不然更劣)
将其替换这样就能保证后面的操作更优
●”但要小于当前的r,不然更劣” 一定要加,不然你会以为你打的不是正解而导致爆20(别问我怎么知道的)
●再写两个优先队列维护就行了
(目前思维难度最难T1)
————————————————————————————————————————————
T2
题意:给定一个序列,可以选择一个区间,将区间(约定第一个数下标为1)下标为偶数的根据下标升序排列,再把下标为奇数的升序排列
然后猜猜问什么?
输出一组解,要求操作次数
●赛时70分来源:数据太水了
●先考虑将操作序列反向,看能否生成出原序列
●然后对于i和n,考虑如下操作:
1.如果2i<=n,使用(1,n)把i移到2i
2.否则直接用(2i-n+1,n)使i移动到n
●然后我们会发现,复杂度均摊接近O(1),就解决了这道题目
(目前思维难度最难T2)
————————————————————————————————————————————
T3 IOI题,T4应该也是,根本不会打
(目前最难T3和T4)
(目前最难模拟赛石锤了)
下班!