微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

雅礼NOIP2018集训 day5

雅礼NOIP2018集训 day5

题面

由于出题人懒所以没有背景。
一个无限长的 01 序列,初始全为 0,每次选择一个区间 [l,r] 进行操作,有三种操作:

• 1 l r 将 [l,r] 中所有元素变成 1。

• 2 l r 将 [l,r] 中所有元素变成 0。

• 3 l r 将 [l,r] 中所有元素异或上 1。

每次操作后询问最左边的 0 在哪个位置。

下标从1开始。

大概思路

把所有点和点与点的区间离散化

然后线段数即可

题面

由于出题人思维枯竭所以想不出好玩的背景。 有 n 个物品,第 i 个物品的价格是 vi,有两个人,每个人都喜欢 n 个物品中的一些物 品。 要求选出正好 m 个物品,满足选出的物品中至少有 k 个物品被第一个人喜欢,k 个物 品被第二个人喜欢。并求出最小的价格和。

大概思路

把物品分为4类 A类:两个人都喜欢的物品 B类:只有第一个人喜欢的物品 C类:只有第二个人喜欢的物品 D类:所有物品

先把四个数组先从小到大排序

我们先全部选A类 然后从大到小枚举A类选的个数 每少选一个A类就分别B、C类从小到大选一个数 把选过的数在D类标记然后用二分查询 D类需要用树状数组或线段数维护

题面

由于出题人赶时间所以没办法编故事来作为背景。

一开始有 n 个苹果,m 个人依次来吃苹果,第 i 个人会尝试吃 ui 或 vi 号苹果,具体 来说分三种情况。

• 1、两个苹果都还在,那么这个人将随便选一个苹果吃了。

• 2、只有一个苹果,那么这个人将吃掉这个苹果。

• 3、都不在了,这个人吃不到苹果就走了。

请问有多少对苹果 (i, j)(i < j)满足它们两个都幸存下来的概率 > 0。

大概思路

我们一个苹果最后存活,需要哪些苹果

设定一个需要被保护的苹果的集合{S}

一开始将最后存活的那一个苹果放进集合里

接着我们从后往前看

如果一个人要吃的两个苹果,都不在保护集合内,我们就让他吃,不用理他

如果一个人要吃的两个苹果,一个在保护集合内,另一个不在保护集合内,我们就会吃掉不在保护集合内的苹果。

不在保护集合内的苹果,只能现在被吃掉,否则最后存活的那一个苹果无法存活。

因此我们将在保护集合内的苹果放在保护集合内。

如果一个人要吃的两个苹果,都在保护集合内,很遗憾,最后存活的那一个苹果无法存活。

一个苹果都作为最后存活的那一个苹果一次

然后枚举两个苹果,如果它们都能活到最后且它们需要保护的苹果没有交集的情况下,它们都可以活到最后。

原文地址:https://www.jb51.cc/wenti/3287492.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐