10 2021 档案

摘要:可以说是一种dp的思维技巧 Problem 给定一个排列 \(p\),你可以智慧地按顺序选择多个区间使这个区间的每个数都等于这个区间的最小值。问最后能得到多少个不同的排列,答案对 \(10^9+7\) 取模。(\(len_p \le 5000\)) Solution 起初我想了一个区间 dp,想必也 阅读全文
posted @ 2021-10-20 16:36 Saintex 阅读(101) 评论(0) 推荐(3)
摘要:这东西真的恶心。 CF113D Museum 来看注释。 #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <iostream> #include <vector> #define 阅读全文
posted @ 2021-10-16 16:26 Saintex 阅读(83) 评论(0) 推荐(0)
摘要:link 此为 CF442B Andrey and Problem 的弱化版。 (此为选数只留下一个算最大/最小概率此类题型的板子。。) 考虑 dp,易写出转移式:\(dp[i]=\prod (1-a_j)_{j<i}\times a_i+dp[i-1]\times (1-a_i)\)。 考虑当前我 阅读全文
posted @ 2021-10-15 19:15 Saintex 阅读(57) 评论(0) 推荐(0)
摘要:E 一个背包一眼题。 先暴力算出每条边经过的次数,然后大力01背包,注意次数为 \(0\) 也要做背包。 这里我刚开始的做法时每次 \(dp[i]=dp[i+x]+dp[i-x]\),但这样还需要将数组扩大一倍,很麻烦,而且要起来。 #include <cstdio> #include <algor 阅读全文
posted @ 2021-10-14 21:57 Saintex 阅读(171) 评论(0) 推荐(0)
摘要:link 为什么我会把树剖的常见 trick 忘了啊。。。 trick 1:lca → x 向上跑 + y 向上跑 trick 2:深度可以用这个点到根点的个数表示 化简一下:\(ans=(d_i+d_j-2d_{LCA(i,j)})^2=d_i^2+d_j^2+4d^2_{LCA(i,j)}+2d 阅读全文
posted @ 2021-10-12 20:51 Saintex 阅读(49) 评论(0) 推荐(0)