10 2021 档案

摘要:计算一个区间 [ l , r ] [l, r] [l,r] 的贡献,方法就是找到这个区间内 h h h 最小的几个点,然后从这几个点裂开计算贡献。 例如上图,我们就把整个问题的求解拆分成只考虑绿色部分的求解再利用几个绿色部分的信息整合到整体的信息。 状态: f ( p , 0 ) f (p, 0) 阅读全文
posted @ 2021-10-29 22:26 C2022lihan 阅读(18) 评论(0) 推荐(0) 编辑
摘要:考场挂分器,送分题变成送命题。 一、状态: 令 d p [ i ] [ j ] dp[i][j] dp[i][j] 表示 [ i , j ] [i, j] [i,j] 这个区间内组成超级括号序列的方案数 令 f [ i ] [ j ] f[i][j] f[i][j] 表示在 d p [ i ] [ 阅读全文
posted @ 2021-10-27 13:29 C2022lihan 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1. 前言 和刚学的 I Love Random 一个道理,所以为了巩固赶紧又来写一篇。 2.题解 这道题和 I Love Random 一个道理,考虑构造答案序列,但是这道题和 I Love Random 有一个不一样的 Hint,就是一个非常小的贪心:假设我们现在构造了一个答案序列 p, 则 p 阅读全文
posted @ 2021-10-22 20:24 C2022lihan 阅读(18) 评论(0) 推荐(0) 编辑
摘要:原序列为 a a a,答案序列为 p p p。 令 f [ i ] [ j ] f[i][j] f[i][j] 表示构造了结果序列的前 i i i 位, p [ i ] = a [ j ] p[i] = a[j] p[i]=a[j] 的方案数。 [ L [ i ] , R [ i ] ] [L[i] 阅读全文
posted @ 2021-10-22 13:14 C2022lihan 阅读(11) 评论(0) 推荐(0) 编辑
摘要:高斯消元方程组版。 int gauss () { int r, c; for (r = 1, c = 1; c <= n; c++) { int _max = r; for (int i = r; i <= n; i++) if (Abs (a[i][c]) > Abs (a[_max][c])) 阅读全文
posted @ 2021-10-06 13:19 C2022lihan 阅读(22) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示