上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要: 好题当赏! 容易证明:一个点的独特城市一定在从这个点出发的最长链上,而树上距离点 \(i\) 最远的点,一定是树的直径的两个端点之一。 于是,我们找出一条树的直径,并从它的两个端点各做一次 \(dfs\),企图找到最优解。在 \(dfs\) 时,我们默认此时作为根节点的 \(rt\) 距离所有点最远 阅读全文
posted @ 2025-07-02 18:00 white_tiger 阅读(14) 评论(0) 推荐(0)
摘要: 这道题似乎做法多得离谱,因为在学长链剖分,所以写一篇长链剖分题解。 容易发现假如 \(b\) 比 \(a\) 更加厉害,那么答案就是 \(\min(dep_a-1,k)\times(sz_a-1)\),考虑 \(a\) 比 \(b\) 更加厉害的情况。 我们设 \(f'_{u,i}\) 表示 \(\ 阅读全文
posted @ 2025-07-02 10:44 white_tiger 阅读(12) 评论(0) 推荐(0)
摘要: 一、SAT 问题简介 在日常的学习生活中,我们经常遇到如下问题: 在一场同学聚会上,你打算邀请 \(n\) 对 \(cp\) 参加,第 \(i\) 对 \(cp\) 的编号为 \((i,i+n)\)。但是,有一些人可能有冲突,有冲突的人不能同时参加聚会。你在每对 \(cp\) 都要挑选恰好一人参加聚 阅读全文
posted @ 2025-07-01 17:08 white_tiger 阅读(288) 评论(0) 推荐(0)
摘要: 在 \(2-SAT\) 计数里应该算是史诗级经典了。 容易想到将后勤和卧底分成两种状态,用 \(2-SAT\) 暴力建边。建边方式略去不表。 关键问题在于计数。我们似乎并没有专门的方法去进行这类计数,因此只能分析题目的关键性质了。 显然,我们容易求出一组特解,满足后勤集合为 \(S\),卧底集合为 阅读全文
posted @ 2025-07-01 16:22 white_tiger 阅读(14) 评论(0) 推荐(0)
摘要: 发现 \(x\) 只有 \(8\) 个,想到暴力枚举每个 \(x\) 是 \(b\) 还是 \(c\)(这样就将 \(ABC\) 全覆盖了),时间复杂度 \(\times 2^d\),可以接受。 考虑建边。建边可以分为 \(3\) 种情况: \(i\) 本身就不能选 \(h_i\)。那这条要求就是没 阅读全文
posted @ 2025-07-01 12:00 white_tiger 阅读(8) 评论(0) 推荐(0)
摘要: 容易发现题目给出的三大条件(难兄难弟、死神来了、不能复活)都可以用经典 \(2-sat\) 建图解决。假如我们对于每个火星人都拆成 \(T+1\) 份,那点数肯定爆炸,所以考虑对点进行合并,只将在该火星人可能因为外力发生改变或能改变其他火星人生死的时间作为断点(当然,此处不包括不能复活)。 具体连边 阅读全文
posted @ 2025-07-01 09:55 white_tiger 阅读(31) 评论(0) 推荐(0)
摘要: 一个字符串最多有一个 \(?\),相当于每个字符串最多有两个状态,显然 \(2-sat\)。 看到前缀想到 \(trie\)。考虑将所有可能出现在答案中的字符串全都塞到 \(trie\) 树里,那么对于一个字符串状态 \(x\) 的末尾对应的点 \(cur\),假如选择了这种状态,\(cur\) 的 阅读全文
posted @ 2025-06-30 11:04 white_tiger 阅读(14) 评论(0) 推荐(0)
摘要: 凸包,是指能包含点集中所有点的最小凸多边形(三维就是凸多面体)。显然,凸包的所有顶点都是点集中的点。凸包通常有两种出题套路,分别是计算几何(直接求有关凸包的信息)和决策单调性(类似于斜率优化 dp)。由于凸包本身并不好维护且不一定全都用得上,在信息学竞赛中,通常维护上凸壳或下凸壳。凸包可以有这两个凸 阅读全文
posted @ 2025-06-28 18:13 white_tiger 阅读(385) 评论(0) 推荐(0)
摘要: 好久没有做过这么巧妙的题目了,开心捏O(∩_∩)O~ 由于传送的 \(y,z\) 坐标自选,所以实际上对于一个点给出的坐标 \((a_i,b_i,c_i)\) 以及这个点调查的花费 \(cs_i\),我们只需要维护 \(a_i,cs_i\) 即可。那么设规定的 \(x\) 值为 \(x_0\),那么 阅读全文
posted @ 2025-06-28 11:11 white_tiger 阅读(18) 评论(0) 推荐(0)
摘要: 我们可以将每一次结束后手中所持有的 \(A,B\) 纪念券的数量为横纵坐标,这样就可以将每一次货币兑换后的结果转化为一个点。根据题目最后的提示,我们可以证明,在每一天中,我们只需要统计当天所能赚到的最多的钱全部转化为纪念券的情况即可。这样我们就可以建立上凸壳,计算每一次的最优解。 由于是动态加点,还 阅读全文
posted @ 2025-06-27 11:04 white_tiger 阅读(14) 评论(0) 推荐(0)
摘要: 容易发现答案即为重要城市的上凸壳的长度。考虑将正序删点转化为倒序删点,就变成了经典动态加点求凸壳。 对于动态加点求凸壳的问题,我们考虑使用 set 进行维护。因为这样可以较快的找到加入点 \(y\) 在凸壳上的前驱 \(x\) 和后继 \(z\)。我们先判断 \(y\) 是否能加入上凸壳,相当于询问 阅读全文
posted @ 2025-06-26 15:16 white_tiger 阅读(16) 评论(0) 推荐(0)
摘要: 设加入的第 \(i\) 个向量为 \((a_i,b_i)\),询问的向量是 \((x,y)\),则有(下假设 \(a_i>a_j\)): \[a_ix+b_iy>a_jx+b_jy \]\[-(a_i-a_j)x<(b_i-b_j)y \]\[\begin{cases} \dfrac{b_i-b_j 阅读全文
posted @ 2025-06-26 11:20 white_tiger 阅读(23) 评论(0) 推荐(0)
摘要: 尝试收录目前我掌握的所有模版。 //树状数组 namespace BIT{ int c[N]; void clear(){ memset(c,0,sizeof(c)); }void add(int x,int k){ for(;x<=n;x+=x&-x) c[x]+=k; }int sum(int 阅读全文
posted @ 2025-06-24 11:47 white_tiger 阅读(16) 评论(0) 推荐(0)
摘要: 60+50+10+21=141pts,rk6。 A.Lesson 5! 容易想到使用传奇拓扑排序对所有点进行拓扑排序,然后我们考虑实用数据结构(multiset/可删堆/权值线段树)对答案进行维护。我们设以 \(x\) 为终点的最长路长度为 \(f_x\),以 \(x\) 为起点的最长路长度为 \( 阅读全文
posted @ 2025-05-05 09:12 white_tiger 阅读(21) 评论(0) 推荐(0)
摘要: 突然发现我的凸包学的有点假…… 考虑每个妖怪的答案肯定是 \(at_i+dn_i+at_i\times\frac ba+dn_i\times\frac ab\)。设 \(c=\frac ba>0\),令 \(at_i>at_j\),则有: \[\begin{aligned} (c+1)at_i+(1 阅读全文
posted @ 2025-05-03 17:04 white_tiger 阅读(20) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 15 下一页