08 2021 档案

摘要:传送门 板子题,但是不会……容斥该补了 m20,可以状压枚举子集 可以依据集合大小容斥 有环且大小不为 n 的集合不合法? 柿子暂时不会推,溜了溜了 Code: #include <bits/stdc++.h> using namespace std; #def 阅读全文
posted @ 2021-08-27 21:39 Administrator-09 阅读(22) 评论(0) 推荐(0) 编辑
摘要:传送门 30pts暴力冻傻了,碰都没碰 题意为将一个 2n 的矩形划分成 m 个矩形,使得最大矩形的权值和最小 正解的话主要要维护一个性质 令 dp[i] 为上下同时填到位置 i 至少需要多少幅画 这样对于一个位置 i,我们只需要找最靠前的那个可以转移的决策 阅读全文
posted @ 2021-08-27 21:33 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 柿子人畜无害,但有个地方误导性极强 给定一棵树,每条边有一个边权,要带修查询一个点与其子树外的所有点间的距离和 这个东西没有时间可以接受的解法! 这个东西不但有时间可以接受的解法,而且有多种 感谢评论区里战神下凡指导 Yubai哥哥说线段树减等差数列也能做,但是我学不会 考场上就死这了……觉 阅读全文
posted @ 2021-08-27 20:50 Administrator-09 阅读(45) 评论(5) 推荐(0) 编辑
摘要:传送门 题面劝退+冻的要死 看着subtask5 puts("0"); 白送的分愣是没起来打…… 看到无向图中形如「可以传送到任意点」的条件,实际上就是在说可以任意加边 看到形如「每条边经过且仅经过一次」的限制首先考虑欧拉路,别先想别的各类复杂图 首先不考虑加边什么的,问题就是在求欧拉路 现在还要给 阅读全文
posted @ 2021-08-27 19:59 Administrator-09 阅读(14) 评论(0) 推荐(0) 编辑
摘要:传送门 只会爆搜系列 关于「本质不同的子序列个数」:限定长度,无限制(就是这题) 无限制的柿子是(令 dp[i] 为以 i 为结尾的不同子序列个数) dp[i]=dp[j]+1,代表在所有子序列末尾后面接上这个字母,且它自身也是一个子序列 然后这题还可以填上 \ 阅读全文
posted @ 2021-08-25 07:20 Administrator-09 阅读(9) 评论(0) 推荐(0) 编辑
摘要:传送门 差了一点没想到正解…… 首先单次询问的 O(n) 写法很好想,考虑如何优化 首先基础分区间求和即可 然后那个连击分的话,是一个关于 fifi1 的柿子 fi=p(fi1+1)+(1p)fi1t 移个项 \(f_i 阅读全文
posted @ 2021-08-25 07:14 Administrator-09 阅读(19) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上魔改了一下线性筛,觉得要筛到 R2 就没让它跑 其实正解就是这样,只不过由于接下来类似埃氏筛的过程只要筛到根号就行了 线性筛有的时候其实并不需要筛到 n2,如果接下来需要枚举倍数,注意可能只需要枚举到根号就行了 发现 R 的范 阅读全文
posted @ 2021-08-25 06:27 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上思路对了,只差一个子树求和想不到如何做,于是喜提10pts 首先树剖可以动态维护每个点的归属点 先不考虑操作6,可以把修改操作都挂在归属的黑点上 问题在于子树求和,但其实很简单 在每个黑点再维护一个域,存其管辖点的权值和 这一部分可以dfs序上区间查询 考虑会有一部分统计不到的白点 用 阅读全文
posted @ 2021-08-24 06:35 Administrator-09 阅读(14) 评论(0) 推荐(0) 编辑
摘要:传送门 除了我基本都A了……就很丢人 考场上先猜了个结论:k=i 的情况是 k=i+1 的最优解删掉一个数 发现有这个结论就可以做了 那么我们可以设法维护每个点与其它点差的绝对值的和 每次取这个和最小的那个数删掉就可以了 现在的难点在于动态维护每个数与其它数的绝对值的差的和并支持区间 阅读全文
posted @ 2021-08-24 06:22 Administrator-09 阅读(12) 评论(0) 推荐(0) 编辑
摘要:传送门 今日份题意杀已到帐,请注意查收 还是只会爆搜,枚举当前还没有选的位,当前这一轮的贡献是 minn+maxn2 但考虑这样一个事情 如果当前情况下反打表CPU选第 i 位更优,那不管轮到哪个CPU都一定会选它,只不过填的数相反 而这一轮由每个CPU填数的概率是 阅读全文
posted @ 2021-08-23 06:27 Administrator-09 阅读(14) 评论(0) 推荐(0) 编辑
摘要:传送门 CF613E Puzzle Lover 考场上想分情况讨论+记忆化搜索,但情况有点多讨论不起 发现蛇的走法一定是这样(题解): 先往回走 a 步(a 可以为 0),走到另一行,再向前走 a 步 再上下扭动着往前走 最后向前走 b 步(b 可以为 0), 阅读全文
posted @ 2021-08-23 06:19 Administrator-09 阅读(21) 评论(0) 推荐(0) 编辑
摘要:传送门 先考虑 n=1 的情况 此时 k[a2,a] 都合法 尝试推广到 n=2a<b ,首先发现可行的 k 的上界是 a+b ,可以用这个数减去不合法的 然后不合法区间就是 \([1, 阅读全文
posted @ 2021-08-23 06:13 Administrator-09 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 前70pts巨水, 不过没有数据范围就可以为所欲为吗。。。 颜色是负数是几个意思。。。 以后见到这类不给数据范围的题先离散化 发现每个节点的操作都会向上影响到根节点 貌似可以启发式合并一路维护上去 考虑如何处理这个每个节点只能放 k 个球的限制 在每个节点维护一棵splay,以时间为 阅读全文
posted @ 2021-08-21 06:15 Administrator-09 阅读(20) 评论(0) 推荐(0) 编辑
摘要:传送门 又是神仙DP 发现如果只有两个串就很好做了 于是这个神仙DP定义就从这里下手:令 dp[p][c][l][r] 表示在 [sl,sr] 这段字符串中,考虑从第 p 个位置开始的后缀,并要求这个字符至少为 c 考虑转移,因为这里有个「至少」,第一个转移是直 阅读全文
posted @ 2021-08-20 08:15 Administrator-09 阅读(17) 评论(0) 推荐(0) 编辑
摘要:传送门 首先证一个结论:t集合即是原串的boarder不用证了吧 于是转化题意:要构造一个boarder集合确定的01串 考虑从小的boarder推向大的boarder,令小boarder为s,大boarder为t |s|2|t| 此时在s后面补上s的一段后缀即可 \ 阅读全文
posted @ 2021-08-20 07:42 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 因为一个等号挂掉了10pts 发现每个黑色段一定对应了一段不可行的出发区间 检查是否存在所有黑色段的并集的补集即可 具体来说,我们对于每个黑色段计算出一个(有的是两个)区间 [l,r] ,把它们全合并,看有没有剩下的位置 Code: #include <bits/stdc++.h> 阅读全文
posted @ 2021-08-20 07:20 Administrator-09 阅读(16) 评论(0) 推荐(0) 编辑
摘要:传送门 挺遗憾的一个题 考场上想到的思路是题解的退化版,可以有71pts(赛时以为只有20pts),但因为这一场的策略原因没有打…… 首先发现颜色种类数很少,可以直接bitset上树剖维护,炸不了空间 所以可以先bitset上树剖处理出每个人到lca经过的颜色集合 然后问题可以转化为给定 c 阅读全文
posted @ 2021-08-20 07:12 Administrator-09 阅读(12) 评论(0) 推荐(1) 编辑
摘要:传送门 很容易想到二分答案,关键是check怎么写 考虑如何消除后效性 发现如果每次取最高的点更新周围点的高度,那每个点只会被更新一次 维护一个堆每次取最大值就好了 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3 阅读全文
posted @ 2021-08-19 06:14 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 整题只靠一个结论:轻链一定比重链先访问 然而我没想到 暴力都不知道怎么打 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 100010 #define ll long l 阅读全文
posted @ 2021-08-19 06:11 Administrator-09 阅读(11) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上真的尽力了,但两张草稿纸只换来一个 n3 DP系列 类似本题可以通过把两个不同的做法拼起来以降低复杂度的思路? 首先根本不用枚举轮数,如果只记 fi,j 为当前选数下限为 I ,总和为 j 的方案数,转移枚举这个数选的个数的话,前缀和优化就是 阅读全文
posted @ 2021-08-18 06:18 Administrator-09 阅读(17) 评论(0) 推荐(0) 编辑
摘要:传送门 以为是个找规律题……然而规律找不到 考试的时候试图把成二倍的数合并成一个块,然后跑DP 然而我块的端点判定炸了,我以为它应该是质数,但其实它只要是个奇数就行了…… 然后链长不会超过log,因为链上第 k 个点是 2k1p 于是暴力枚举链长,发现每个链一定会对最终可能的 阅读全文
posted @ 2021-08-17 21:28 Administrator-09 阅读(11) 评论(0) 推荐(0) 编辑
摘要:传送门 本场极其失败,本来想着尽力刚出一题正解,然后剩下的捡分高的糊个暴力 结果正解一个都没想出来,最后只剩了一点点时间暴力只糊对了14pts 于是本场全机房只有36个人比我强 这题其实单调性明显的要命 显然可能产生贡献的点高度单调递减 这题难点在于如何维护单调栈 当需要在环上维护单调栈时,直接断环 阅读全文
posted @ 2021-08-17 21:01 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 是个最大费用可行流 这题的建边很毒瘤 首先有危险度的点肯定要拆点 关键在于其它点怎么办 如果拆了不好保证每个点只经过一次 不拆连网络流都跑不了 但仔细观察题面,不能不难(???)发现一个L中那两个坐标和为偶数的点一定分两种 (奇, 奇)和(偶, 偶) 那可以用这个性质建边,一类连源点,一类连 阅读全文
posted @ 2021-08-17 20:35 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 大水题,因为状态不怎么好炸成60pts 发现它要求什么「乘积最大」,需要我们比较几个很大的乘积 那很套路的,long double+log莽上 然而我不知道是困傻了还是怎么取了log之后接着用乘法 显然 log2a+log2b=log2ab 对数的加法对应原数 阅读全文
posted @ 2021-08-17 20:26 Administrator-09 阅读(9) 评论(0) 推荐(0) 编辑
摘要:传送门 一看 2s 1e6 就想 nlog2n 去了,成功避开正解 考虑枚举左端点,在合法的右端点中取最大值 我一直在想如何把原序列扔进线段树里,利用pushup维护 但这样每换一个左端点都要整体pushup一次显然不对 考虑暴力找右端点的过程,发现它统计了一个前缀和 一种颜色第一次出现贡 阅读全文
posted @ 2021-08-16 06:23 Administrator-09 阅读(11) 评论(0) 推荐(0) 编辑
摘要:传送门 遇到形如 ||x1x2|±|y1y2|| 的柿子,一定要注意是不是可以转化为切比雪夫距离求解! 考试的时候只想到 n2 做法,先并查集维护距离为零的点,再枚举点对更新距离 这个做法的复杂度瓶颈在于枚举点对求最小距离的过程 发现题面里给的柿子类似曼哈顿 阅读全文
posted @ 2021-08-16 06:13 Administrator-09 阅读(16) 评论(0) 推荐(0) 编辑
摘要:传送门 这题我有一部分水了还有不明白的地方……建议再问问 首先这题显然是DP,问题在于如何做DP 发现 c 的序列未知,完全不可转移,那尝试只用 ab 建立状态 这样的话我们需要一些形如「当 ab 已经×××,则 c 一定×××」的结论 那 阅读全文
posted @ 2021-08-15 06:36 Administrator-09 阅读(26) 评论(0) 推荐(0) 编辑
摘要:传送门 考试的时候想到了一个应该有60pts的 O(2nn2T) 但是 n2 只是枚举边的状压 然后挂成40pts,从中午12点拍到晚上5点半没拍出来 记得哪天去要下这题数据 考试的时候如何发现这些奇奇怪怪的性质啊…… 正解需要 O(2nT) 才能过 所以枚举点集跑c 阅读全文
posted @ 2021-08-15 06:07 Administrator-09 阅读(36) 评论(0) 推荐(0) 编辑
摘要:传送门 一开始想拆边,后来发现不用那么麻烦 如果给每个被染成白色的点打一个被染色的时间戳 那么可以发现一条边是白色的充分必要条件是它的两个端点时间戳相同 于是转化成了染色这道题,树剖即可 Code: #include <bits/stdc++.h> using namespace std; #def 阅读全文
posted @ 2021-08-15 06:07 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 二维前缀和,没了 讲个笑话,离考试结束还有5min我检查代码时发现我忘了我刚写过这么个题了 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 2010 #define ll 阅读全文
posted @ 2021-08-15 06:05 Administrator-09 阅读(20) 评论(0) 推荐(0) 编辑
摘要:传送门 这题卡常……而且目前还没有卡过去 首先以原树重心为根,向所有子树重心连边,可以建立一棵点分树 点分树有两个性质: 一个是树高只有log层 另一个是两点在点分树上的lca一定在原树上两点间的树上路径上 所以在原树上不断删点,并统计当前子树中的信息就好 至于如何统计,令 \(dp[i][j][k 阅读全文
posted @ 2021-08-14 06:36 Administrator-09 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上只会暴力 n4 DP,部分分还写炸了 但其实这个DP可以前缀和优化到 n3 ,我觉得没有这档部分分就没写 但其实是有这一档的,我没有看出来…… 正解想不到 如果我们已知使选的所有数 i 都满足 igcd 的方案数,就可以容斥得到答案 所以 阅读全文
posted @ 2021-08-14 06:28 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 和入阵曲那题很像 这里 n 很小,可以直接 n2 压成一维考虑 然后就是对每个 j 查询 [jr,jl] 中数的个数 这里我是用树状数组求的,带个log,被卡成了80pts 发现随着 j 单增, jr,jl 单调不减 所以可以双指 阅读全文
posted @ 2021-08-14 06:16 Administrator-09 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 真·连暴力都不会系列 首先注意到每次操作至少会删去一半的元素,所以操作最多只会执行 log 次 然后我们观察这个过程,发现在一个最大值两边的较小值互不影响 在最大值删完之前显然互不影响,最大值被删时显然有一个子区间已经被删完了,所以互不影响 那貌似可以划分子问题了 令 \(dp[i][j]\ 阅读全文
posted @ 2021-08-12 20:55 Administrator-09 阅读(16) 评论(0) 推荐(0) 编辑
摘要:传送门 真相是我这场真的爆零了…… 考场上想了以每个「预言家」(我也没玩过狼人杀)为结尾切出来几个连通块 但觉得还是挺不可做的就没往下想 其实正解就是这样,因为每个「预言家」的话真假一旦确定,这个连通块说真话的人数就确定了 所以可以把这些预处理出来 然后枚举说真话的人数check 其实就是把说假话的 阅读全文
posted @ 2021-08-12 20:29 Administrator-09 阅读(33) 评论(0) 推荐(0) 编辑
摘要:传送门 考试时思路是从每个点BFS,浸染当前与它最近的点,但复杂度有点假 其实这个过程可以一次dijkstra完成,利用多源最短路 每个特殊点都是一个源点,扩展时记录一下是从哪个源点扩展过来的 统计答案时枚举所有两端点不是由同一源点扩展的边即可 挺好的题,可惜没想出来 Code: #include 阅读全文
posted @ 2021-08-12 20:16 Administrator-09 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 我一定是傻了一直觉得这题是spfa求最长路 然后等我写完发现过不了样例,手模发现有后效性的时候整个人傻了 给一堆二元组,要什么 i<jaibj 之类的题切入点基本都是「×××一定更优」 但我一开始没找到这样的性质 其实也很简单,若 \(a_i< 阅读全文
posted @ 2021-08-12 20:11 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 自闭了……考场上exgcd打错然后对着屏幕自闭了一个小时不知道它为什么解得不对 开始恶补: 对于方程 ax+by=c ,就等价于 axc(modb) 首先它有解的条件是 cgcd(a,b) 然后exgcd可以用来求一组 \(x, 阅读全文
posted @ 2021-08-12 19:47 Administrator-09 阅读(21) 评论(0) 推荐(0) 编辑
摘要:传送门 是 @Yubai 的思路 发现一个点还可以被倒着经过一次就很烦 可以另外建出一类全是反向的边,这样就变成了从同一起点出发,到达同一终点的最短路 然而这两个几乎不是一个图,考虑二维spfa 令 dis[i][j] 为正向走到 i ,逆向走到 j 的最短长度 再令 \(r 阅读全文
posted @ 2021-08-12 19:21 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上用了一个平均 O(n) ,最坏 O(n2) 的方法过掉了 先说说这个方法: 取一个左指针,一个右指针,初始位置都在 k 每次让右指针在满足 tot0 的前提下尽量右移 当发现右指针移动不了时,尝试把左指针左移一位 如果发现移过去会 阅读全文
posted @ 2021-08-12 18:56 Administrator-09 阅读(7) 评论(0) 推荐(0) 编辑
摘要:传送门 神仙题! 听@Yubai给我讲了半个下午,快%@Yubai 见到这些奇奇怪怪的题是不是应该试着证下状态数上界啊 首先观察题目里给的柿子,可以发现 orand 单调增, minmax 单调减 神仙思路,发现对于一个给定的左端点,我怀疑出题人是左撇子,不同的 \(or-and 阅读全文
posted @ 2021-08-11 21:48 Administrator-09 阅读(22) 评论(0) 推荐(1) 编辑
摘要:传送门 考场上觉得复杂度是假的就没怎么优化,然后考完题解帮我证明了它是真的…… 首先合并可以用并查集维护,可以顺便维护出集合的大小 对于操作2,发现如果 sizei 是确定的,可以用权值线段树很方便的维护出合法的 sizej的个数 每次只需枚举出现过的 sizei 即可,所 阅读全文
posted @ 2021-08-11 21:33 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上打了两个小时树剖,结果还是没搞出来 发现对于两个确定的点,它们一定可以列出一个方程来 其中系数的大小和正负只与这两点间距离的奇偶性有关 所以可以加一堆分情况讨论然后树剖 至于正解: 考虑两点之间的关系很麻烦,可以固定一个基准点,把它们都用 x1 表示出来 当需要极其麻烦地考虑 阅读全文
posted @ 2021-08-10 06:30 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 可以发现如果我们最终选择的物品集合已经确定,就很好求了 kt+bs ,二分即可 但现在我们无法确定该选哪些物品 因此我们只需要check一下0时刻是否符合条件,如果不符合则进行二分。 注意check的时候我们只需要找出最大的 m阅读全文
posted @ 2021-08-10 06:21 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 各种骗分无果,特殊性质还手残写挂了…… 首先完全图上直接输出边权 ×(n2) 就行了,然而我脑残乘的 n1 看数据范围肯定是状压,但是压边肯定炸了,考虑压点 因为1到n路径唯一,最终的图可以看作一条链上挂着数个连通块 ~~根据题解,~~我们试着从这个方向下手 阅读全文
posted @ 2021-08-08 16:45 Administrator-09 阅读(12) 评论(0) 推荐(0) 编辑
摘要:传送门 一看这题subtasks就觉得最后能直接推个柿子出来……然而没推出来 首先状压的部分分:发现只需要统计猎人1还没死的状态的贡献,其它情况可以continue掉,有45pts 至于正解……发现我们要求的实际上就是期望有多少个猎人死在猎人1之前 发现每个猎人的死活之间相互独立,所以可以拆成每个猎 阅读全文
posted @ 2021-08-08 16:10 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 这题考试的时候觉得时间复杂度假了,n1000的部分直接瞎写了个特殊性质上去,结果假的时间复杂度能有60pts…… 比较大的数组无论如何不要直接全部memset!如果在写部分分,考虑用多少memset多少 memset真的可以把一份74pts代码卡成30pts的 me 阅读全文
posted @ 2021-08-08 15:56 Administrator-09 阅读(19) 评论(0) 推荐(0) 编辑
摘要:传送门 发现最少次数只和最左,最右及中间最长的全0段有关 本来想启发式合并,结果发现直接线段树合并搭配一个类似山海经的方法就可以过了 yysy,线段树单次合并的具体复杂度并不是 O(logn) ,只在所有 n 棵线段树的总插入量为 n 次时全部合并才约为 \(O(nlogn) 阅读全文
posted @ 2021-08-08 15:55 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 咕了蚯蚓这题+前一天被蚊子折腾了半宿没睡=全场几乎就我这题分最低…… 发现这里光滑数是不断乘出来的……记得这是一个很经典的套路,然而当时我咕了 求一个每个值都是 {pi} 中至少一个数的倍数的数列第 k 项: 举个例子,求2的所有倍数及3的所有倍数的并集中的第 \(k\ 阅读全文
posted @ 2021-08-07 20:42 Administrator-09 阅读(12) 评论(0) 推荐(0) 编辑
摘要:传送门 总觉得有个柿子可以推……然而没推出来 考试的时候有个柿子假了导致我没想用两个点可以解出一组参数的事 假掉的柿子告诉我有不少东西能消掉 然而实际上随便选两个点高斯消元解出一组参数,再代入验证看够不够一半就行 因为至少有一半点是对的,1s内求不出解的概率极低 至于弧度值的正负:想想弧度的定义吧我 阅读全文
posted @ 2021-08-07 19:58 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上搞了个三进制状压,结果正确性假了…… 有想到从约数下手,但觉得就光预处理约数复杂度就爆炸就没往这边想…… 首先是关于约数个数的证明,再一次感谢战神: 因为 n=pici ,最坏情况下 pi=2 ,这时有 \(\sum c_i \leqslan 阅读全文
posted @ 2021-08-07 17:57 Administrator-09 阅读(27) 评论(0) 推荐(1) 编辑
摘要:传送门 并不知道小球进洞模型是什么,并且不建议在机房百度它 所以……天体湮灭模型(雾):一个更广为人知(?)的名字是小球进洞模型 考虑只有一个球,两个洞的情况:显然向两边滚的概率各是 12 考虑拓展到两个球:发现其中一个球在滚动湮灭后会变成情况1,然后就可以转移了 我们枚举 阅读全文
posted @ 2021-08-06 20:21 Administrator-09 阅读(24) 评论(0) 推荐(0) 编辑
摘要:传送门 首先枚举最大值,两边分别求逆序对的做法是错误的,这里是来自战神的hack数据 1 2 100 99 98 3 97 96 95 94 93 92 91 显然3应该跨过最大值到左边去,所以这个做法就没有正确性了 然后正解: 发现最小值一定会被移到最边上,而且因为它最小,就不会再有数跨过它移动 阅读全文
posted @ 2021-08-06 08:20 Administrator-09 阅读(19) 评论(0) 推荐(0) 编辑
摘要:传送门 一有「字典序最大」什么的的就懵了……这题我颓的std 首先可以发现全局最大得分很好统计,我们令它为 k 然后我们尝试构造方案,但发现无论怎么放都可能会有后效性 发现对于一个位置,可以放在这里的数有单调性 也即如果有一个比较大的数放在了这里,后面可能就匹配不够 k 个了 所以我 阅读全文
posted @ 2021-08-06 08:11 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 考场上坚持认为树上背包可以有70pts,于是爆零了 首先我以为是树上背包的部分分其实是树形DP 然后极其魔鬼的正解: 首先我们令 dp[i][j] 为以i为根的子树覆盖次数至多为j时的方案数(我考场上那个没搞出来的dp定义是恰好 然后45pts的 n2 就可以做了,考虑如何 阅读全文
posted @ 2021-08-05 19:24 Administrator-09 阅读(14) 评论(0) 推荐(2) 编辑
摘要:传送门 考场上坚持认为树剖可做,于是几乎爆零 别一直坚持一个思路!就算这个思路很可能是对的但自己不会写也要及时换思路! 但正解思路跟考场上想的思路真的很像,连开的数组都一样 考虑一个点被染黑时可能更新哪些白点的答案 开一个bool two[]和一个int son[],两个标记不共存,上翻修改 然后我 阅读全文
posted @ 2021-08-03 21:45 Administrator-09 阅读(31) 评论(3) 推荐(0) 编辑
摘要:传送门 我愿称之为DZY loves math III,不管是从思维难度上还是从代码的繁琐程度上 哦这个东西好像其实叫同余最短路 细节很多,没能自己调出来……最终康了题解代码巨久才改出来 首先暴力部分的题解有个值得借鉴的思路 bitset优化可行性DP \(f[k][i][j] = f[k-1][i 阅读全文
posted @ 2021-08-03 21:34 Administrator-09 阅读(22) 评论(0) 推荐(1) 编辑
摘要:传送门 一道做了巨久,不过确实很好的题 发现不定边权极难处理,所以就不会 感觉和这题有点像,但还是不会 但发现题面里有个地方很套路 要求有哪些点/边最终可以满足最短/最小,比如这样或这样的题,考虑凸包,最终在凸包上的点就是能取到最值的点 所以考虑如何维护凸包 ~~根据题解,~~发现为了确定一条路径的 阅读全文
posted @ 2021-08-03 20:53 Administrator-09 阅读(15) 评论(0) 推荐(1) 编辑
摘要:传送门 切记 不膜D一定会爆零 一定要膜D! 题里输入很毒瘤,不要膜错了,看清楚,是膜大D! 打个表可以发现有循环节 带循环节的LIS不太好处理,可以考虑n2DP的时候给它带个权 然而没这么简单,在进入循环前可以有几个循环节不按其它循环节的选法被选择 举个例子,循环节是 56132 ,正常情况下 阅读全文
posted @ 2021-08-03 20:39 Administrator-09 阅读(18) 评论(0) 推荐(0) 编辑
摘要:传送门 这是一个关于两个研究题解了好久都没看懂的沙雕的故事 果然是神仙题。参考了这篇和这篇题解并且花了一个下午才看懂 其他部分上面两篇题解里有讲,这里略过。 令S的质因子有k个,分别为p1,p2...pi 由题, \(n=\sum_{i=1}^{k}a_i\cdot p_i\ 阅读全文
posted @ 2021-08-03 15:06 Administrator-09 阅读(8) 评论(0) 推荐(0) 编辑
摘要:传送门 首先想了黑白染色,发现不会染 其实可以考虑如何动态地维护出这个点集 发现题面里对不在点集之中的点之间的连边没有要求 所以考虑不断向图中加点,为了满足要求,每次取一个与当前新图中相连的点 若它与点集中的点有连边,那它不能选入点集 如果没有,那它必须选入点集,否则这个点不满足「通过开启边可达」的 阅读全文
posted @ 2021-08-02 17:56 Administrator-09 阅读(13) 评论(0) 推荐(0) 编辑
摘要:传送门 于是我开始补n年前的题了 好题,见到想不到,想到不敢写,敢写调不对 好题! 首先可以想到一个简单的DP,令dp[i][j]为前i所学校艇数不超过j时方案数 然而发现j1e9而且还没有部分分,那怎么处理呢? 可以想到离散化,然而离散化后这题好像完全没法转移 于是重点来了:在离 阅读全文
posted @ 2021-08-01 20:46 Administrator-09 阅读(15) 评论(0) 推荐(0) 编辑

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