09 2022 档案

摘要:看到值域很小而且时限 4s 以为是什么高明的依赖值域的复杂度,结果就是优化 DP。 考场上只想到了 O(n5) 的还是太菜了。 设 dp[l][r][x] 表示 [l,r] 这个区间中 x 赢得最终胜利的概率。容易有 O(n5) 转移。 但是很显然 x 左边的人不可能与右 阅读全文
posted @ 2022-09-26 14:57 Prean 阅读(63) 评论(1) 推荐(1) 编辑
摘要:设 f[i] 表示和第 i 个外挂相交且右端点大于第 i 个外挂中,右端点最大的外挂,g[i] 表示右端点满足上述条件中次大的外挂。 如果他不删除外挂,那么直接按着 f[i] 倍增,然后跳到某个外挂右端点大于 t 即可。 具体实现可以将 i 看做一个 [i,i] 的外 阅读全文
posted @ 2022-09-24 17:00 Prean 阅读(27) 评论(0) 推荐(0) 编辑
摘要:很神奇的状态。。。。。。 很难想象这是一个人能在考场上想到的状态。 对于一个排列 p,设 fi 表示以 pi 结尾的 LIS 的长度。 考虑排列计数的套路令所有元素 +1 然后塞一个 1 进去或者直接塞一个 n。这里考虑后者更简单。 容易发现 fi 等价最小表示法的 阅读全文
posted @ 2022-09-23 16:42 Prean 阅读(42) 评论(0) 推荐(0) 编辑
摘要:whk 了两天,来口胡一道题放松放松。 设 dp[u][k] 表示子树中所有叶子都距离自己的父亲节点长度为 k 的最小代价。(定义 1 号节点的父亲节点为 0,距离为 0) 不难发现有 $dp[u][k]=\min_{i=0}^{k}(|i+w-k|+(\sum_{v\in so 阅读全文
posted @ 2022-09-23 14:36 Prean 阅读(30) 评论(0) 推荐(0) 编辑
摘要:应该是非常愚蠢的东西,作用是把常数大而且难写的的 O(nlogn) 优化成常数小而且好写的 O(nlogn)。 例题 CF713C。 先考虑令 aii 然后转化成不降序列。 很显然最终答案应该是原序列中出现的数,设 dp[n][x] 表示 bn=x 的最小代价就做完 阅读全文
posted @ 2022-09-20 16:32 Prean 阅读(99) 评论(0) 推荐(2) 编辑
摘要:来个神秘做法。 在 n 个矩阵中选最多 nm 个矩阵满足 min(a)×min(b) 最大。 于是我们就去枚举这个 min(a),min(b)。 怎么判断是否最多选 nm 个矩阵? 很简单。只需要判断 [a,n][b,n] 有多少个点即可。 若不小于 $m 阅读全文
posted @ 2022-09-17 09:37 Prean 阅读(11) 评论(0) 推荐(1) 编辑
摘要:考虑 f(n,x,y) 表示第 n 行左边被删了 x 个右边被删了 y 个的概率。 考虑用所有方案减去不连通的,g(x,y) 表示某行左边被删 x 个右边被删 y 个的的概率,S(n)=x+y<mf(n,x,y)有: $$f(n,x,y)=g(x,y)( 阅读全文
posted @ 2022-09-15 16:31 Prean 阅读(46) 评论(2) 推荐(1) 编辑
摘要:注意到本质不同的偷看只有 2n 种,于是先设 dp[n][m] 表示前 n 个位置进行 m 次操作的最大值。 我们还需要知道上一次在两边进行操作的位置,不难发现这个位置一定在 k 步以内。于是设 dp[n][m][x][y] 表示两个序列上次偷看的位置是 nx,ny阅读全文
posted @ 2022-09-14 16:16 Prean 阅读(36) 评论(0) 推荐(0) 编辑
摘要:考虑如果边 (u,w),(w,v) 是从 (u,v) 分裂出来的,那么 (u,v) 这条边有一个儿子,儿子是一个二元组为 ((u,w),(w,v))。 容易发现所有本质不同的分裂方案对应所有本质不同的树。 考虑最小割对应什么。对于一个根节点,必须将所有儿子都割完之后才能割掉自己,所以 阅读全文
posted @ 2022-09-14 11:46 Prean 阅读(23) 评论(0) 推荐(0) 编辑
摘要:首先考虑区间加对应什么东西。 对应的显然是差分序列上某个位置 +1 某个位置 1。 再考虑单调不降意味着什么。 对应的是划分成若干个区间,每个区间的和不小于 0。 所以就有一个结论,区间加一定不优于后缀加。 不过其实注意到一点,你并不关心你是哪个位置的数,你只关心你有多大。 所以设 $ 阅读全文
posted @ 2022-09-13 19:31 Prean 阅读(14) 评论(0) 推荐(0) 编辑
摘要:考虑一件事情,一个序列操作一遍只可能对应唯一的一个结果序列,所以这是个双射。 进一步发现影响这个的只有分割线的位置,于是很容易想到以分割线为段进行 dp。 但是有一个问题,问号的位置并不好判定。 字符集只有 4,于是设 dp[n][a][b] 表示有多少种序列操作后为 [1,n] 的序列 阅读全文
posted @ 2022-09-13 14:48 Prean 阅读(15) 评论(0) 推荐(0) 编辑
摘要:请叫我挂分大师。 没清空导致 100pts->0pts 数组还开大了 MLE,不愧是我。 对于连通块计数,可以考虑的一个东西叫做平面图欧拉定理:V+F=E+2。 其中 V 是节点数,F 是区域数,E 是边数。 证明就是说,考虑一棵树一定是平面图,加上一条边成环之后一定会多出来一个区域 阅读全文
posted @ 2022-09-12 16:38 Prean 阅读(17) 评论(0) 推荐(0) 编辑
摘要:笑死,细节问题直接把自己送走了,100pts->0pts。 个人认为是模拟赛最简单的一道题 ~~可能是因为我倒开~~ 如果 a 中元素互不相同很好做,排序然后变成 i 应该去到 pi 的位置,直接连接 (i,pi) 然后输出每个环即可。 但是可能出现相同的元素。 考虑对于排序后的 阅读全文
posted @ 2022-09-12 16:19 Prean 阅读(15) 评论(0) 推荐(0) 编辑
摘要:这种思路的题都做过 114514 遍了怎么还是记不住呢( 考虑枚举连通块的最大值。 那么考虑将权值从小到大排序,每次加入一个位置后只需要判断所在连通块是否存在洞即可。 通过平面图欧拉公式 F+V=E+2 即可判断。 这几个东西显然可以直接维护,复杂度 O(n2α(n))。 #in 阅读全文
posted @ 2022-09-09 14:57 Prean 阅读(18) 评论(0) 推荐(0) 编辑
摘要:注意到交换两个不同的元素一定会改变逆序对的数量且变化量为 1,所以对于答案有一个明显的下界是左边逆序对数量和右边逆序对数量之差的绝对值。 但是有的元素会跨越中点,所以考虑枚举有多少个 0,1 跨过了中点,能够计算出此时左边和右边分别的逆序对数量。 于是像上述那样处理一下,枚举跨过中点的元素, 阅读全文
posted @ 2022-09-06 15:07 Prean 阅读(16) 评论(0) 推荐(0) 编辑
摘要:赛时应该口胡了个大概,可惜没有转化成更纯粹的问题。 问题可以看做有多少不同的 x 满足 x=i=1m(1k)ai,1x=i=1n(1k)bi。 以上结论可以将平均数的过程建成一棵树,然后 x阅读全文
posted @ 2022-09-04 14:49 Prean 阅读(36) 评论(0) 推荐(0) 编辑

var canShowAdsense=function(){return !!0};
点击右上角即可分享
微信分享提示