这一套模拟卷我觉得难度不是很高,挺良心的,会的分也都拿到了,不会的就是不会……
题面就不放上来啦~~gg不让~~
T1 flower
最大值最小?那果断二分啊。
二分一个最小高度,然后judge的时候从头开始扫就行,遇到一个高度比mid小的就从这个数开始把长度为L的区间加上这个差值,并记录天数,如果超过m天就返回false。区间修改第一反应是线段树,但其实差分就行了,还是O(1)的。总复杂度O(nlogn)。
T2 treasure
正解自然是想不出来,在OI生涯中好像没遇到能有数据结构优化矩阵旋转的……于是开始杠30分。
昨天刚好在初赛书上看到了一个O(n2)旋转矩阵的,于是就用上了,O(n3)暴力,30分应该是稳了。
T3 red
就喜欢这么短的题面,省去了我那么多读题的时间(我语文菜啊)。
然而看到幻想乡还是不由得惊了一下,因为今天刚把红色的幻想乡给AC了……
一眼就知道是期望dp,然后看了看数据范围,很明显是一个二维状态O(n2)的复杂度。于是设dp[i][j]表示有 i 张红牌,j 张黑牌的时候的最优的幻想乡币期望。
于是dp[i][j]分别从dp[i - j][j]和dp[i][j - 1]转移过来,分别代表这一次翻了红牌/黑牌的情况,于是有:
dp[i][j] = max( (dp[i - 1][j] + 1) * i / (i + j) + (dp[i][j - 1] - 1) * i / (i + j), 0)
然后忘了初始化dp[i][0] = 1,调了半天。
嗯……完啦。
原文地址:https://www.cnblogs.com/mrclr/p/9716253.html
时间: 2024-10-04 22:22:55