10 2024 档案

摘要:P9131 [USACO23FEB] Problem Setting P 题解 注意到最终形成的困难序列是一个不断包含的子集的关系,包含是非严格单调的,考虑转化为单调的形式易于计数 dp。具体地,对于一些相同的困难值 i,算出其内部排列数 g(i),于是转化成了单调的 dp 形式。 阅读全文
posted @ 2024-10-29 22:01 长安19路 阅读(12) 评论(0) 推荐(0) 编辑
摘要:[ABC134F] Permutation Oddness 题解 朴素的想法显然是状压 dp,枚举选择的子集,但复杂度不可接受。 考虑优化。注意到对于 pi,它的贡献只会有两种可能性,+pi,pi。于是初步的想法是按照 pi 的正负性选择分类。考虑到对于相同正负性的 阅读全文
posted @ 2024-10-17 21:57 长安19路 阅读(6) 评论(0) 推荐(0) 编辑
摘要:P4229 某位歌姬的故事 题解 n9×108,显然复杂度不与 n 相关。m500,显然可以接受 O(Tm2) 的做法。对于 [l,r],考虑套路地将端点离散化,使得复杂度只和关键点个数有关。考虑对于 [l,r,m],离 阅读全文
posted @ 2024-10-17 21:45 长安19路 阅读(9) 评论(0) 推荐(0) 编辑
摘要:[ABC213G] Connectivity 2 题解 套路的经典图上计数题。 考虑枚举和 1 相连的子集 S。答案显然由两部分构成,S 集合和 1 相连的方案数 f(S)S 对于 G 的补集所有的方案数 g(S)。答案就是二者相 阅读全文
posted @ 2024-10-15 21:53 长安19路 阅读(8) 评论(0) 推荐(0) 编辑
摘要:P8386 [PA2021] Od deski do desk 题解 考虑一个大的序列一定被分成几个区间来删除。朴素的 dp 定义是 dpi,j 表示前 i 个数,最后一个数元素是 j 的方案数。然而这样不仅不好转移,而且设不下状态。不难发现所有值是等价的。考虑这样一个 阅读全文
posted @ 2024-10-15 21:29 长安19路 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P9021 [USACO23JAN] Subtree Activation P 这种看上去就很不常规的东西不用想着怎么构造最佳方案,这条路一定是行不通的,考虑转化题意。 考虑变化的实质只有两种:全 0 状态和 x 子树全满的状态转化;x 子树全满和 y 子树全满的状态 阅读全文
posted @ 2024-10-12 18:01 长安19路 阅读(6) 评论(0) 推荐(0) 编辑
摘要:P9020 [USACO23JAN] Mana Collection P 题解 首先考虑对于长为 ds 的最优路径,最优的方法一定是先在起点等 sd 秒再走以确保收集到的最大。n18 我们显然考虑状压 dp。考虑最大法力值难以计算,正难则反,考虑使未被选择的 阅读全文
posted @ 2024-10-12 18:00 长安19路 阅读(3) 评论(0) 推荐(0) 编辑
摘要:CSP-S 模拟赛 29 T1 n18 显然是状压 dp。 考虑设状态 dpi,j 表示状态为 i,最终的 aj 时的最大代价及方案数。转移是简单的。 优化是观察到最终的 a(maxai,maxai+1)。那么这一 阅读全文
posted @ 2024-10-11 21:32 长安19路 阅读(7) 评论(0) 推荐(0) 编辑
摘要:CSP-S 模拟赛 28 T1 签到题。对 b 分解质因数后便容易求解。 T2 考虑枚举 gcd(S) 的取值 x,则 lcm(S)=mx。 那么同时变形 gcdlcm 变为 \( 阅读全文
posted @ 2024-10-11 21:31 长安19路 阅读(5) 评论(0) 推荐(0) 编辑
摘要:CSP-S 模拟赛 37 T1 口胡题。显然尽量靠近中间更优,且选端点一定不劣,于是依据结论将中点设为所有端点的中位数。 代码: #include <bits/stdc++.h> #define N 300005 #define int long long using namespace std; 阅读全文
posted @ 2024-10-11 21:30 长安19路 阅读(3) 评论(0) 推荐(0) 编辑
摘要:CSP-S 模拟赛 36 T1 由于 ai105,那么考虑枚举这个 gcd,考虑求 f(i) 表示答案,那么 ans=i×f(i)。然而式子中有 gcd,于是考虑求 g(i) 表示 \ 阅读全文
posted @ 2024-10-11 20:59 长安19路 阅读(18) 评论(0) 推荐(0) 编辑
摘要:CSP-S 模拟赛35 T1 其实是傻逼题。常见的套路是枚举右端点,动态维护左端点的贡献。发现右端点移动一位只会对一种颜色有影响,那么考虑线段树维护区间的答案,区间加减每个颜色即时的贡献即可。 代码: #include <bits/stdc++.h> #define N 1000005 #defin 阅读全文
posted @ 2024-10-11 20:38 长安19路 阅读(7) 评论(0) 推荐(0) 编辑
摘要:CSP-S 模拟赛34 T1 考虑对原序列将 k 的左右分成两个序列。simple 的想法是分别从 1 开始跑前缀和,每一次总跑到下一个小于它的点,然后依次类推。发现这样做碰到序列最小值之后难以继续。 然而我们发现这样跑点的过程从前往后和从后往前是等价的。这样考虑的原因是发现这样的选 阅读全文
posted @ 2024-10-04 21:42 长安19路 阅读(12) 评论(0) 推荐(0) 编辑
摘要:构树 题解 好题,除了毒瘤卡空间。 “恰好” 这个形式很二项式反演。设 f(n) 表示树上钦定 n 条边和原树相同的方案数,g(n) 表示树上恰好有 n 条边和原树相同的方案数,那么原先的形式是: \[f(n)=\sum_{i\ge n}{i\choose n}g(i 阅读全文
posted @ 2024-10-03 22:56 长安19路 阅读(6) 评论(0) 推荐(0) 编辑

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