随笔分类 -  做题记录

摘要:link Solution: PART 1: 转化 首先套路地预处理出每个节点到根节点(\(1\) 号节点)路径上的点权异或和 \(w[u]\) 。 可以发现题意容易转化为:给定一棵 \(n\) 个节点的树,问你最少可以把它分成多少个联通块,使得每个连通块中的节点两两路径上的异或和不为 0。 易知对 阅读全文
posted @ 2024-04-25 13:21 Little_corn 阅读(42) 评论(0) 推荐(0)
摘要:题目简述: 给定一个有 \(n\) 个节点, \(m\) 条边的图,每条边有两个权值 \(g\) ,\(s\)。对于图中的一棵生成树,它的花费定义为 \(\max _ {i \in e}{g_i} \times valg + \max _ {i \in e}{s_i} \times vals\) , 阅读全文
posted @ 2024-04-25 13:20 Little_corn 阅读(31) 评论(0) 推荐(0)
摘要:link 题目大意: 给一个 \(n\) 个元素的序列,\(q\) 次询问 \([l_i,r_i]\) 的最大子段和(相同元素只算一个)。 \(n,q \le 10^5,- 10^5\le a_i \le 10^5\). 解法: 首先考虑最大子段和的经典动态解法:维护 \(pre_i,suf_i,s 阅读全文
posted @ 2024-04-25 13:19 Little_corn 阅读(29) 评论(0) 推荐(0)
摘要:link Solution: 贪心神仙题。 tips: 对于贪心题目,先考虑两个东西时的情况,一般是可以扩展到多个东西的情况的。 此时我们考虑两订单 \(i\) 和 \(j\)。 先 \(i\) 后 \(j\) : \(a[i]+\max(b[i],a[j])+b[j]\) 先 \(j\) 后 \( 阅读全文
posted @ 2024-04-25 13:13 Little_corn 阅读(24) 评论(0) 推荐(0)
摘要:Solution: 使用拓展域并查集,\(1-n\) 表示 \(\rm A\) 群落,\(n+1-2n\) 是 \(\rm B\) 群落,\(2n+1 - 3n\) 是 \(\rm C\) 群落 那么对于操作一,我们首先判断 \(x\) 是否吃了 \(y\) 或 \(y\) 是否吃了 \(x\) . 阅读全文
posted @ 2024-04-25 13:12 Little_corn 阅读(19) 评论(0) 推荐(0)
摘要:题面:this solution: 容斥神仙题qwq 考虑全集-补集,此时补集就是一些集合的并,可使用容斥 设至少 \(j\) 个点满足 \(b[i]==b[i+1]\) 时方案数为 \(f_j\) 直接求不好求,考虑转化: 有 \(j\) 个点时就把原序列隔成了 \(n-j\) 段,段内无所谓,但 阅读全文
posted @ 2024-04-25 13:11 Little_corn 阅读(23) 评论(0) 推荐(0)
摘要:题意: 题目 分析: 首先我们看看数据范围: \(n<=12\) 这很显然是一个十分小的一个范围,提示我们可以使用各种怪解时间复杂度较大的解法去做。 先不考虑 \(m\) 的数据范围,我们可以很显然的想出一个状压 dp: 设 \(f[i][s]\) 考虑到第 \(i\) 列时,是行状态为 \(s\) 阅读全文
posted @ 2024-04-25 13:08 Little_corn 阅读(28) 评论(0) 推荐(0)
摘要:网络流的建图灵活,需要大量练习。 一些常见套路: 拆点:一般来说可以把一个点拆为一个入点和一个出点并连边,用于点边转化。 连 INF 边:这种边不可能包含在最小割中,可以用来将点定向。 建立超级源点和超级汇点:用于构建网络流模型。 加辅助点:比较灵活,可以用于处理多种问题。 做题记录: 1.P134 阅读全文
posted @ 2024-04-24 13:11 Little_corn 阅读(32) 评论(0) 推荐(0)
摘要:Sol: 很妙的一道题。 将限制转化为线段讨论。 首先考虑一个特殊情况:当所有线段都相交的时候,答案显然为 \(0\). 那么假如有两条线段没有相交呢? 我们可以将是否相交的判定转化为 \(l_{max}\) 和 \(r_{min}\) 的大小关系。 \(l_{max} \le r_{min}\) 阅读全文
posted @ 2024-04-24 13:09 Little_corn 阅读(32) 评论(0) 推荐(0)
摘要:Sol: 首先注意到答案是具有单调性的,考虑二分答案 \(x\) 解决。 令 $up(l, r, x)/down(l,r,x) $ 是 \([l,r]\) 中 大于等于/小于 \(x\) 的数。 那么对于一个区间 \([l,r]\),显然中位数 \(\ge x\) 的条件为 \(up(l, r, x 阅读全文
posted @ 2024-04-24 13:08 Little_corn 阅读(21) 评论(0) 推荐(0)
摘要:Statement: 给出两个长度为 \(n\) 的序列 \(a,b\),每次在 \(a\) 或 \(b\) 上 \([l,r]\) 操作,一次操作将会使 \([l,r]\) 中的数分别加上 \(fib[1],fib[2]...,fib[r - l + 1]\),每次操作完询问 \(a,b\) 是否 阅读全文
posted @ 2024-04-24 13:07 Little_corn
摘要:Statement: link 给 \(n\) 个数 \(a_1, a_2 ... ,a_n\)。先手 \(\rm Alice\) 和后手 \(\rm Bob\) 有两个操作。 \(del(i)\) 令 \(a_i = a_i - 1\),必须满足 \(a_i > 0\)。 \(merge(i, j 阅读全文
posted @ 2024-04-24 13:05 Little_corn 阅读(30) 评论(0) 推荐(0)