首页 > 其他分享 >loj3959. 「联合省选 2023」填数游戏

loj3959. 「联合省选 2023」填数游戏

时间:2023-04-21 20:56:13浏览次数:41  
标签:省选 枚举 贡献 最小值 填数 loj3959 做法 定向 性质

有意思的题,做这题的时候也发现了不少有趣的东西虽然不会做

考场上没有看出来建图。事实上本题复杂的性质基本决定它需要一步图论转化,而互不相同也是一个经典限制。可以得到如下建图转化:对于集合 \(T_i\) 的两个数,在它们之间建立无向边,用定向表示选择,则我们需要给边定向使得每个点的入度不超过 \(1\),而只有当形态是树或者基环树的时候才会有定向方案。

基环树是简单的,因为方案只有两种。只需要考虑树的做法。问题是,Alice 需要决定 \(S_i=T_i\) 的时候贡献放在哪边,使得以所有点为根的外向树的权值最小值最大。观察一条边的贡献,它一定是一个连通块。观察两条边的贡献,发现如果它们贡献到的连通块没有交,则将它们反向可以得到更优解。所以最终所有边贡献到的连通块一定是有交的。我们枚举交中的一个点,就可以确定所有边的定向方案。这是一个平方做法。

考虑利用换根 DP 优化到线性,我们需要维护出每个点在交内时全局最小值的大小,而这是容易维护的。

本题值得借鉴的是建图的思想,和观察最优性时的技巧:从 \(S_i=T_i\) 只有一条边出发,扩展到两条边,再推广到更一般的结论。

特殊性质 C

来写特殊性质是因为我搞出了一堆互不相干的做法,下面可能比较意识流

性质 C 存在一个费用流做法。互不相同等价于每个值只出现一次,把值建立点,位置也建立点即可。

平方

有一个和上面的平方做法不同的平方做法。

考虑利用 DP 构造每条边的定向方案,容易发现一个性质:子树外的边的定向方案对子树内所有点的贡献是相等的,所以只要维护出这个贡献即可。考虑 \(u\) 并上一个子树 \(v\) 会对 \(u\) 子树内带来多少贡献,显然它就是 Bob 把 \(v\) 的所有边都向下定向而产生的贡献。设 \(f_{u,x}\) 表示 \(u\) 子树内贡献为 \(x\) 的每个点为根的答案最小值的最大值,合并后的值就是 \(\min(f_{u,x}+y,f_{v,y}+x)\),每次转移的时候枚举边的定向并加入贡献,类似背包,复杂度为平方。

特殊性质 D

有一个能做 D 但是不能做正解的做法。没写过不保证是对的

直接观察性质看似陷入了瓶颈,考虑枚举一些值来加强限制。此题要求最小值的最大值,不妨枚举最小值的位置 \(rt\),则问题变为:

  • 保证它是最小值。
  • 最大化它的答案。

对于前者,观察可以发现相邻两个点的差就是这条边对它们两个点的贡献差。假设它对 \(rt\) 的贡献为 \(1\),则造成的差就是 \(-1\),否则若贡献为 \(0\),则造成的差为 \(1\)。所以我们相当于要将每条边标上 \(0/1\),使得:

  • 以 \(rt\) 为根,前缀 \(0\) 的个数多余前缀 \(1\) 的个数。
  • \(1\) 的个数尽可能多。

做一些简单的调整可以发现,若 \(1\) 是 \(0\) 的祖先,交换 \(0,1\) 是不劣的。故对于树上一条链,必定是 \(0\) 为一个前缀,\(1\) 为一个后缀。

简单分析就可以得到一条边对一个点有贡献的条件,利用数据结构可以做到 polylog。不过由于在没有性质的时候条件过于复杂,不能拓展到正解。

标签:省选,枚举,贡献,最小值,填数,loj3959,做法,定向,性质
From: https://www.cnblogs.com/yllcm/p/17341763.html

相关文章

  • 2023省选武汉联测7
    T1动点(point)首先考虑两种操作,根据高中计算几何知识很容易得到这两种变换后点的坐标,首先考虑\(1\)操作,假设旋转中心\(P\)为原点,考虑将点\(A(x_0,y_0)\)绕点旋转\(\alpha\)到\(B\),设\(\overrightarrow{OA}\)与\(x\)轴的夹角为\(\beta\),如下图:设\(\mid\overr......
  • 2023省选武汉联测6
    T1线性代数实际上我们需要求解值域\(\len\)的线性空间的个数,考虑将线性空间与线性基一一对应,为了使得一个线性基唯一对应一个线性空间,我们将主元列上的非主元全部消成\(0\),发现此时将线性基全部异或得到的值为原集合的最大值,并且可以做到一一对应。(化简为最简阶梯形矩阵)于......
  • 2023省选武汉联测10
    T1矩阵随机一个向量\(V\),判断\(V\timesA\timesB\)是否等于\(V\timesC\)即可,实质上我们在判断对于每个\(i\in[1,n]\)\(\sum_{k=1}^nV_k\sum_{p=1}^{n}A_{k,p}B_{p,i}\)是否等于\(\sum_{k=1}^{n}V_kC_{k,i}\)。code#include<cstdio>#include<vector>#incl......
  • 2023省选武汉联测9
    T1背包问题模板比较套路的,我们考虑进行二进制拆分,对于数量\(A\),我们首先从小到大拆分为\(1,2,4...2^k\),对于剩余的\(w\),我们直接按照它的二进制位拆分即可,这样问题转化为比较简单的\(0/1\)背包。由于\(b_i\)的范围很小,如果将物体体积用二进制数表示,发现二进制上为\(......
  • 2023省选武汉联测13
    T1构树直接\(O(n^2)\)暴力枚举连边即可。code#include<cstdio>#include<vector>#include<set>#include<utility>usingnamespacestd;constintmax1=1000;intn,Min[max1+5],Max[max1+5];vector<int>part[max1+5];intcolo......
  • # 2023省选武汉联测12
    T1图案首先是题解做法:考虑对于每个\(r\),判断\(s[1,r]\)是否为一个图案,设\(r=ik+j\),其中\(0\lej\lei\),如果存在一组这样的\((i,j)\)满足\(s[1,r-i]=s[i+1,r]\),那么\(s[1,r]\)是一个图案,考虑这样做的正确性,如果\(s[1,r-i]=s[i+1,r]\),那么一定有\(s[i+1,r-2i]=s......
  • 2023省选武汉联测11
    T1游戏对于树上三点\((u,v,w)\),一定存在一个点\(p\)满足\(p\tou\)与\(p\tov\)与\(p\tow\)的路径两两不重合,考虑枚举\(p\)计算答案,由于题目给定\(\operatorname{dis}(u,v),\operatorname{dis}(u,w),\operatorname{dis}(v,w)\),因此我们首先用解方程的方法求解\(......
  • 2023联合省选题解
    2023联合省选题解火车站签到题。可以发现,一段被覆盖的区间上任意两点联通,因此用差分维护连续段即可。intmain(){n=read(),m=read(),x=read();for(inti=1;i<=m;i++){intl=read(),r=read();bl[l]=1;br[r]=1;c[l]++,c[r+1]--;......
  • 2023 联合省选游记 & 退役记
    退役记请翻到页面底端的后记篇。Day-1不知道为什么这次提前两天就可以颓了,于是:(Loopy20*20Hard)和同学一起解了有差不多两小时。晚上看了场电影,打了会块。Day0不知道为什么这次不能颓了。早上和下午都在对着QOJ的模板题单刷板子。多项式系列模板卡常差评感觉这......
  • 【考后总结】NOI 统一省选 2023
    文化课补完了,但是考试考炸了,所以来补题。D1T1火车站station实际上只需要判断从\(x\)能否一直向一个方向移动且每个位置能不能作为这个方向的终点站。区间覆盖差分一下即可。点击查看代码intn,m,x;intst[maxn][2],cov[maxn];boolvis[maxn];intmain(){freope......