会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
yuyc
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
9
10
11
12
下一页
2026年5月22日
*题解:P8903 [USACO22DEC] Bribing Friends G
摘要: 题目链接 解析 考虑最优方案的策略,甜筒必定只消耗在 \(X\) 最小的那几个朋友身上。故将所有朋友按 \(X\) 从小到大排序,设 \(f_{i,j}\) 表示考虑了前 \(i\) 个朋友,花费 \(j\) 个甜筒的最大受欢迎度。对应地,设 \(g_{i,j}\) 表示考虑了位于 \([i,n]\
阅读全文
posted @ 2026-05-22 14:33 yutar
阅读(6)
评论(0)
推荐(0)
2026年5月21日
*题解:P5694 [NOI2001] 陨石的秘密
摘要: 原题链接 解析 有一个好想的状态是设 \(f_{l_1,l_2,l_3,d}\) 表示含有 \(l_1\) 对 {},\(l_2\) 对 [],\(l_3\) 对 (),深度为 \(d\) 的 SS 串个数。 对于转移,考虑从某个状态加上一对括号转移过来。问题在于可加括号的地方实在太多,并且还有括号
阅读全文
posted @ 2026-05-21 18:10 yutar
阅读(8)
评论(0)
推荐(0)
2026年5月18日
*题解:P3293 [SCOI2016] 美味
摘要: 题目链接 解析 看到异或,想到按位处理,这样 \(a + x\) 得看作是一个整体。对于 \(b\) 的第 \(k\) 位,如果其为 \(1\),则我们希望 \(a + x\) 的对应位为 \(0\)。如何让 \(a + x\) 的第 \(k\) 位为 \(0\) 呢?考虑到 \(a + x\) 的
阅读全文
posted @ 2026-05-18 17:56 yutar
阅读(10)
评论(0)
推荐(0)
2026年5月14日
*题解:P13984 数列分块入门 9
摘要: 题目链接 解析 根据题目名称,先将数列分块。那么如何才能知道 \([l,r]\) 之间的众数?对于中间的整块,我们希望知道它们并起来之后的众数,因为这个看起来很接近答案并且可以用 \(O(n\cdot \frac{n}{B})\) 的复杂度大力预处理出来,\(B\) 为块长。然后讨论众数位于旁边散段
阅读全文
posted @ 2026-05-14 21:45 yutar
阅读(7)
评论(0)
推荐(0)
2026年5月12日
*题解:P8496 [NOI2022] 众数
摘要: 原题链接 解析 对于操作 1、2、4,显然可以使用链表来维护。 考虑操作 3 怎么做。根据题意,我们并不关心数字的排列顺序。所以不妨在维护链表的同时维护一个表示每个数字出现次数的桶,最后只需将对应链表的桶合并然后求最大值。直接合并是 \(O(n^2)\) 的,但是可以分治(这样想会比较自然吗?),设
阅读全文
posted @ 2026-05-12 19:02 yutar
阅读(11)
评论(0)
推荐(0)
2026年5月8日
*题解:P5298 [PKUWC2018] Minimax
摘要: 原题链接 解析 首先注意读题时不要漏条件,题目说的是每个结点最多有两个子结点。 设 \(f_{i,j}\) 表示点 \(i\) 的权值为 \(j\) 的概率,那么如果只考虑左儿子: \[f_{i,j}=p_i \cdot f_{ls,j} \cdot \sum_{k < j}f_{rs,k} +(1
阅读全文
posted @ 2026-05-08 01:17 yutar
阅读(13)
评论(0)
推荐(0)
2026年5月1日
题解:Codeforces Round 1096 (Div. 3) A ~ F
摘要: 比赛链接 A. Koshary 全程如果不迈出移动到 \((a+1,b)\) 或 \((a,b+1)\) 的一小步,那么显然只能到达 \(a\) 和 \(b\) 均为偶数的点。而迈出一小步后只可以改变 \(a,b\) 其中一个的奇偶性,使其变成奇数。故判断 \(x,y\) 是否都为奇数即可。 B.
阅读全文
posted @ 2026-05-01 08:27 yutar
阅读(171)
评论(0)
推荐(0)
2026年4月28日
*题解:P5384 [Cnoi2019] 雪松果树
摘要: 原题链接 解析 首先,求完 \(k\) 级祖先后,问题转化为求一个结点子树内指定深度的结点个数。一个很朴素的想法是,每个结点上维护一个数组 \(cnt\),\(cnt_i\) 表示子树内深度为 \(i\) 的结点个数,把子树信息简单合并一下就可以得到答案。为了优化合并效率与空间,可以使用动态开点线段
阅读全文
posted @ 2026-04-28 18:26 yutar
阅读(14)
评论(0)
推荐(0)
2026年4月27日
再谈线段树合并:复杂度
摘要: 先前在介绍线段树合并的这篇文章中,有提到: 记 \(n\) 为元素个数,\(V\) 为值域,合并过程中总共会合并(或者说插入) \(O(n)\) 个点,单次操作复杂度为 \(O(\log V)\),故这样操作合并若干个线段树的总复杂度为 \(O(n \log V)\)。 然而现在我发现这段话连我自己
阅读全文
posted @ 2026-04-27 19:54 yutar
阅读(22)
评论(0)
推荐(0)
2026年4月26日
*题解:P3521 [POI 2011] ROT-Tree Rotations
摘要: 原题链接 解析 首先观察到,对于一个以 \(x\) 为根的子树,左右子树内部叶子的排列顺序不会影响最终是否要在 \(x\) 点进行交换操作。也就是说,可以把求以左/右子树的答案看作是一个子问题。现在假设我们已经处理完了左右子树,接下来判断是否要交换左右子树。对于不交换的情况,贡献为 \(\sum_{
阅读全文
posted @ 2026-04-26 22:24 yutar
阅读(10)
评论(0)
推荐(0)
上一页
1
···
3
4
5
6
7
8
9
10
11
12
下一页
公告