02 2025 档案

摘要:这个肯定要分二进制位来做了,所以考虑数位dp,先看要放哪些东西进dp状态:现在处理到第几位了,有多少个数现在是顶着上界的,还差多少值和才能到 \(n\)。现在看怎么转移。\(k\le 18\) ,可以直接枚举这一位上有多少个 \(1\) ,当第 \(t\) 位有 \(x\) 个 \(1\) 时,对和 阅读全文
posted @ 2025-02-20 21:55 Xdik 阅读(48) 评论(1) 推荐(0)
摘要:一眼树形dp,但是因为有初始感染节点这个东西,所以可以添加一维,表示这个连通块是否确定了初始感染节点,也就是 \(dp_{i,j,0/1}\) 表示 \(i\) 子树(选了 \(i\) 节点)内选了 \(j\) 个点进入连通块,是/否确定了初始感染节点的概率,初始值即为 \(dp_{t,1,1}= 阅读全文
posted @ 2025-02-20 21:10 Xdik 阅读(30) 评论(0) 推荐(0)
摘要:题目 1操作是一个区间推平,所以可以考虑使用珂朵莉树。因为每轮都要对 \(b\) 做加法操作,所以可以搞一个时间戳 \(tim\),这样就可以不用每次操作结束后都加一遍,直接把这个转化为时间戳,即 \(b_i+=\sum _{i=l} ^r c_i \times tim - lst_i\) 其中 \ 阅读全文
posted @ 2025-02-20 15:49 Xdik 阅读(36) 评论(0) 推荐(0)
摘要:\(b_i\) 要大于等于0,所以可以将这个 \(DAG\) 分层,每层的权值相等,对于 \(x-> y\) 的边,就使得 \(x\) 的层数比 \(y\) 的层数小,因为 \(n\le 18\) 所以可以考虑状压,设 \(f_{s}\) 表示已经有 \(s\) 对应的点分好了层的最小代价,考虑转移 阅读全文
posted @ 2025-02-17 16:36 Xdik 阅读(29) 评论(0) 推荐(0)
摘要:题意:给一个长度为 \(n(n\le 5\times 10^5)\) 的数组 \(a\) ,两个操作: \(0\) \(x\) \(y\) 将 $a_x $ 修改成 \(y\) \(1\) \(l\) \(r\) 查询 \([l,r]\) 有多少子区间满足区间内元素两两不相等 先简化问题,求 \([ 阅读全文
posted @ 2025-02-16 21:19 Xdik 阅读(58) 评论(0) 推荐(0)
摘要:题意:给一个长度为 \(n\) ( \(n\le 2\times 10^5\) )的数列 \(a\),求一个长度为 \(n\) 的 \(b\) 数组,满足 \(b_i \le a_i\) ,且相邻两项不相等的 \(b\) 的方案数,对 \(998244353\) 取模 考虑容斥,设 \(f_i\) 阅读全文
posted @ 2025-02-14 11:14 Xdik 阅读(20) 评论(0) 推荐(0)
摘要:这个题看着就和图的连通性有关,排除点双,所以就用边双了。所以先进行一次边双缩点。首先不在一个连通块里的显然是无解的,然后再分 \(s\) 和 \(t\) 是否在一个边双里面进行讨论。如果 \(s\) 和 \(t\) 在一个边双里面,这种情况一定是有解的。如果 \(s\) 和 \(t\) 不在一个边双 阅读全文
posted @ 2025-02-13 15:27 Xdik 阅读(22) 评论(0) 推荐(0)
摘要:首先这个题一眼看过去是个01背包,但是01背包是有时间复杂度下限的,显然无法通过这道题,所以肯定要挖掘一下性质,注意到 \(c_i\le 300\) 可能成为破题点,所以我们先改成对于每种 \(c_i\) 来分组进行背包,然后发现这个东西是有决策单调性的。就是对于mod \(c_i\) 相等的dp状 阅读全文
posted @ 2025-02-13 12:30 Xdik 阅读(34) 评论(1) 推荐(0)
摘要:先来分析一下题面的要求:区间内加入至多 \(k\) 个数形成一个公差为 \(d\) 的等差数列 那么区间要满足以下条件: 所有数对 \(d\) 取模的值相等 没有重复的数 \((max-min+1)-(r-l+1)\le k\) 看着没有其它的选择,只能使用扫描线,前两个条件在扫描右端点的时候修改左 阅读全文
posted @ 2025-02-13 11:01 Xdik 阅读(41) 评论(1) 推荐(0)
摘要:仙人掌,所以先建一颗圆方树,这里使用广义圆方树就可以了,然后题目就变成了查询子树内点权 \(\le x\) 且出现了奇数/偶数次的个数,莫队或者线段树合并或者dsu ont tree 都可以 #include <bits/stdc++.h> #define int long long #define 阅读全文
posted @ 2025-02-11 17:07 Xdik 阅读(23) 评论(0) 推荐(0)
摘要:首先看到要插入序列,所以自然地想到平衡树,那么左儿子就是左边的序列,右儿子就是右边的序列,求这个值的朴素算法是dp吧,就是前 \(i\) 个燃料,已经到了第 \(j\) 阶段的最大值,但是因为左右儿子是一坨序列,我如果按照这样维护 \(dp\) 的话我也不知道右儿子开始的时候到了哪个阶段,所以很自然 阅读全文
posted @ 2025-02-11 11:35 Xdik 阅读(33) 评论(2) 推荐(0)
摘要:走进巴尔扎克的名著《欧也妮・葛朗台》中,就像踏入了 19 世纪法国社会那错综复杂的金钱迷宫。故事围绕着索漠城的首富葛朗台展开,他是一个将吝啬发挥到极致的守财奴。为了积累财富,他可以不顾亲情,克扣家人的生活费用,在他眼中,金币远比家人更为重要。 当他的侄子夏尔因家庭变故前来投奔时,葛朗台的冷漠与吝啬更 阅读全文
posted @ 2025-02-10 20:44 Xdik 阅读(61) 评论(0) 推荐(0)
摘要:因为这道题是在树上的,所以我们很套路地先 dfs 一次 ,这样一颗子树上的结点的 \(dfn\) 就在一起了,对子树的操作就转化为对区间的操作,但是怎么数区间内出现了哪些数呢?因为是对区间加了 \(x\) 后再 \(mod\) \(m\) 所以相当于是将这个区间原本有的数整体向右移了 \(x\) 位 阅读全文
posted @ 2025-02-10 16:28 Xdik 阅读(46) 评论(0) 推荐(0)
摘要:首先很显然可以得出 \(O(n^2)\) 的暴力dp: \(dp_i=\max\{\lfloor\frac{dp_j}{2}\rfloor + t_i \times t_j-f_j\}\) 显然过不了,考虑优化,因为式子里面有 \(t_i \times t_j\) 这一项,故排除单调队列优化,线段树 阅读全文
posted @ 2025-02-10 16:28 Xdik 阅读(52) 评论(0) 推荐(0)
摘要:题意 有 \(n\) 辆车,每个车有一个运行的方向(L 表示向左走,R 表示向右走)和初始位置,速度为任意值,这些都是不知道的,需要我们去求,已知的是 \(m\) 个关系 。 \(1\) \(i\) \(j\) 表示第 \(i\) 辆车和第 \(j\) 辆车必定不会相遇。 \(2\) \(i\) \ 阅读全文
posted @ 2025-02-10 16:27 Xdik 阅读(30) 评论(0) 推荐(0)
摘要:省流 废了,只有260 11.4:吗的只有252 10.18 本来考CSP-S之前压力没这么大,想着就算没考好只要能去NOIP努努力还有机会,然后这天晚上教练告诉我们CSP-S没一等就去不了NOIP qwq。这压力一下就上来了,我不要赛季刚开始就结束了啊啊啊,明天还有一场多校联合的NIOIP模拟赛, 阅读全文
posted @ 2025-02-10 16:27 Xdik 阅读(67) 评论(0) 推荐(0)
摘要:显然直接求最小值是不好做的,所以考虑二分,观察到 \(n,m\) 都特别小,因为每个防御塔最多会发射 \(m\) 发导弹,于是可以枚举第 \(i\) 个防御塔已经发射过 \(j\) 次,看能否在二分的 \(mid\) 时间内打中第 \(k\) 个入侵者,如果可以则 \(i+j \times n\) 阅读全文
posted @ 2025-02-10 16:25 Xdik 阅读(55) 评论(0) 推荐(0)
摘要:省流 这个废物估分只有212,实际可能更低 8.30 发卷 8.40 想到T1贪心并开始写 8.50 测阳历,过了,测大阳历,wa了,发现思路有问题,遂改之 9.10 改完,过大阳历,遂开T2 9.30 写了一个唐必做法,发现能过第二个大阳历,但是第三个大阳历只能过性质A,以为取模取少了,便没在意, 阅读全文
posted @ 2025-02-10 16:25 Xdik 阅读(27) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-02-10 16:25 Xdik 阅读(9) 评论(0) 推荐(0)
摘要:题目大意:在一条有地雷的路上,你现在的起点在 \(1\) 处。在 \(N\) 个点处布有地雷。每次有 \(p\) 的概率前进 \(1\) 步,\(1−p\) 的概率前进 \(2\) 步。问顺利通过这条路的概率。(不要走到有地雷的地方)。 数据规模:\(1\le N\le10\),地雷点的坐标范围:\ 阅读全文
posted @ 2025-02-10 16:24 Xdik 阅读(35) 评论(0) 推荐(0)
摘要:看题解过了这道题,理解的时候比较费力,写一篇题解加深印象。 首先考虑 easy vesion,将最少代价转化成最多能留下来多少个,一个区间里能留下来的最大数就是众数个数,显然相等的数要放在一起考虑,容易发现两个区间的众数个数一定大于等于将这两个区间合并后的众数个数,所以按照这样拆成很多个小区间就行了 阅读全文
posted @ 2025-02-10 16:23 Xdik 阅读(28) 评论(0) 推荐(0)
摘要:很久之前大洋彼岸给我说的题,当时他还跟我讲了解法,我还没听懂,现在再看一眼题解发现是水题 首先我们肯定不能将每个子区间的 \(mex\) 求出来,于是转换思路,改为判定每个数是否能成为一个子区间的 \(mex\) 值,那么一个数 \(i\) 能够成为子区间的条件就是在这个值分割出来的每个区间中至少存 阅读全文
posted @ 2025-02-10 16:23 Xdik 阅读(36) 评论(0) 推荐(0)
摘要:单元检测题,十分没有脑子的我并没有发现单调栈的大小等于笛卡尔树处理到这个点时向左的祖先的个数加一(思考一下处理笛卡尔树时单调栈的操作可以得出),因为 \(N\leq100\) 所以时间复杂度大概在 \(O(N^3)\) 到 \(O(N^4)\) 之间,然后可以使用区间dp,类比MYJ,可以知道状态定 阅读全文
posted @ 2025-02-10 16:22 Xdik 阅读(47) 评论(0) 推荐(0)
摘要:想记啥记啥 CSP-S2024染色(dp) 考场上想的是被分割出来的两个区间内部的点还有贡献怎么办,现在重新看这个题,发现当时的dp是能考虑到这种情况的,因为这种情况在前面的dp已经算过了 提交记录 NOIP2017 提高组宝藏(状压dp) 把挖宝藏的过程看成扩展一颗树,预处理一下每个状态之间转移的 阅读全文
posted @ 2025-02-10 16:11 Xdik 阅读(53) 评论(0) 推荐(0)