摘要: 题面传送 真心不想再看这道题。当年我还打了这场csp,本来我的神奇乱搞写法能拿88分。然后想再骗一点后面的大数据,结果自己把空间整爆了……赔了夫人又折兵。 乱搞做法不细说了,总而言之就是打表,然后发现是一个偶尔会下降的递增序列,然后乱搞了一下就差不多了…… 正解是单调队列优化一个贪心。 有一个结论是 阅读全文
posted @ 2021-03-10 20:53 mrclr 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题面传送 题意:给了$n$个堆的高度,要求改变堆的高度,首尾不可改变,使得队列的任意相邻的两数之差$\leqslant d$,求最小代价。 令$dp[i][j]$表示将第$i$个堆的高度改为$j$时,$1 \sim i$的最小代价。 转移很好写:\(dp[i][j] = min\{dp[i - 1] 阅读全文
posted @ 2021-03-10 20:26 mrclr 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 看到环,就先想到断环为链。 对于逆时针,可以当做倒过来的顺时针。 接下来对于一个长度为$2n$的链,我们记$sp[i],sd[i]$分别表示$p[i],d[i]$的前缀和。 以顺时针为例,如果从一个地方出发不能环游一周,一定存在一个$j\in[i+1,i+n-1]$,使得$sp[j] - 阅读全文
posted @ 2021-03-10 19:57 mrclr 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题面传送 这题好想,dp嘛。但是转移容易漏。 令$dp[i][j]$表示第$i$天,手里有$j$股时的最大利润,那么 1.啥也不干:\(dp[i][j] = dp[i - 1][j]\). 2.凭空买(前几天啥也不干):\(dp[i][j] = max \{dp[i][j], -j * ap[i]\ 阅读全文
posted @ 2021-03-10 13:55 mrclr 阅读(59) 评论(0) 推荐(0) 编辑