首页 > 其他分享 >NOIP2024集训Day44-45

NOIP2024集训Day44-45

时间:2024-10-05 21:33:30浏览次数:1  
标签:textup 连通 欧拉 45 cnt dp Day44 节点 NOIP2024

\(\textup{反色刷}\)

欧拉回路。

有解:每个点连接的黑边数为偶数

答案个数:连通块数

如果一个连通块内有两条路径,则可以在起点之间走两次,则它们一定可以合并成一条。

\(\textup{骑士游戏}\)

看起来很有让人 dp 的冲动。

假设可以用 dp。

\(f_u\) :消灭 \(u\) 的最小代价。

\[f_u = \min \{f_u, s_u + \sum f_v(u\ to\ v) \} \]

但是很容易发现这个 dp 有后效性,也不知道哪个点开始 。

那就把所有点扔进 SPFA 中跑。

\(f_u\) 的初值是 \(k_u\)。

\(\textup{[GXOI/GZOI2019] 旅行者}\)

喵喵

不是,这种东西是那个天才想出来的。

二进制分组。

根据二进制下每一位的数分别将节点分成两组。

一组作为原点,一组作为终点。

可以发现两个点一定会在不同集合至少一次。

也就是说,答案的起点和终点一定会在不同集合至少一次。

取每次跑最短路的之就行了。

\(\textup{「联合省选 2020 B」丁香之路}\)

如果往 \(i\) - \(s\) 见虚边,原问题相当于找 \(s\) 到 \(i\) 的一条欧拉回路,满足经过所有 \(m\) 条道路并且最短。

建出关键边和起点到终点的边,由于求欧拉回路,则必须满足全为偶点。

将奇点两两配对连边,由于边权是 \(|i - j|\),那么如果要连边 \((u, v)\), 则连 \((u, u + 1),(u + 1, u + 2) ... (v - 1, v)\) 一定最优,因为欧拉回路也要满足联通,这么连能够多连几个点。

还剩没联通的很多连通块,则在这些连通块中求最小生成树即可,可行边只在相邻的连通块之间,边数其实为 \(n - 1\)。

对每个终点跑一边,复杂度为 \(\mathcal{O}(n ^ 2 \log n)\)。

\(\textup{Nastia Plays with a Tree}\)

发现切的顺序是没有影响的,到最后都是一堆链随便连。

考虑现在要切节点 \(u\),节点 \(u\) 父亲是 \(f\),节点 \(u\) 有 \(cnt\) 个子节点

  • \(cnt = 1\),此时什么都不用做。

  • \(cnt = 2\),发现当切掉 \((u, f)\) 后,剩下的就是一条链了。

  • \(cnt > 2\),先切 \((u, f)\),剩下再切 \(cnt - 2\) 刀。

为什么要切 \((u, f)\),发现一个节点的子节点一定越少越好,当子节点数目到一就不用切了,所以切 \((u, f)\) 减少 \(f\) 的子节点个数。

\(\textup{Logical Operations on Tree}\)

用 or 边将整棵树分成很多连通块,发现最终点权为 \(1\) 要满足这些连通块中有至少一个块的值为 \(1\)。

考虑求出满足所有连通块中有至少一个块的值为 \(1\) 的方案数 ,正难则反,求所有连通块权全为 \(0\) 的方案数。

考虑 dp,设 \(f_{i, 0 / 1}\):\(i\) 子树中,\(i\) 所在的连通块当前的值为 \(0/1\) 的方案数。

\[f_{i, 0} = f_{i, 0} * f_{j, 0} + f_{i, 1} * f_{j, 0} + f_{i, 0} * f_{j, 1}, \{i\ to\ j\} \]

\[f_{i, 1} = f_{i, 1} * f_{j, 1}, \{i\ to\ j\} \]

答案为 \(2 ^ {2 * n - 1} - f_{1, 0}\)

标签:textup,连通,欧拉,45,cnt,dp,Day44,节点,NOIP2024
From: https://www.cnblogs.com/lovely-sheep/p/18447634

相关文章

  • 代码随想录算法训练营 | 452. 用最少数量的箭引爆气球,435. 无重叠区间,763.划分字母区
    452.用最少数量的箭引爆气球题目链接:452.用最少数量的箭引爆气球文档讲解︰代码随想录(programmercarl.com)视频讲解︰452.用最少数量的箭引爆气球日期:2024-10-05想法:对气球起点排序,没有重叠的箭头+1,有重叠得话将右边置为最小的右边。Java代码如下:classSolution{publ......
  • Day 44-45
    linkA显然可以发现有解当且仅当仅保留所有黑色边时,每个连通块存在欧拉回路最小操作次数可以考虑将黑色连通块缩成一个点,然后在原图里一个连通块拿出任意一颗生成树都可以将这里面的黑点全部消掉(走到黑点的时候走欧拉回路,树边都只会经过两次且都是白边)。显然不存在比这个更小的......
  • [赛记] 多校A层冲刺NOIP2024模拟赛01【衡中】
    构造字符串50pts错解50pts;考虑正解,对于题目中的要求,我们可以转换成若干个相等与不等的操作,若相等则用并查集合并一下,不等则连边,若同块连边则无解,否则从前往后遍历赋值,每次找所连边其它块值的$\operatorname{mex}$即可;时间复杂度:$\Theta(nm\alpha(n))$;点击查看代码#i......
  • Day44~45 图论回顾
    P6628[省选联考2020B卷]丁香之路枚举每个终点,先向\(s\)额外加一条边,就等价于求最小的欧拉回路。(根据图的性质,不走重复路一定更优)刚开始的\(m\)条边必定会组成一系列的连通块,我们还要加边使之联通。又要满足无向图欧拉回路的性质。也就是每个点的度数为偶数。你考虑直......
  • NOIP2024集训Day43 博弈论
    NOIP2024集训Day43博弈论F.多边形之战如果这个三角形三个顶点相邻,则先手必胜(第一刀就可以切)否则当黑色三角形只有一边与白色三角形相邻时才可以被切,显然那个白色三角形是最后一个白色三角形于是转化为:有\(n\)个石子,一次只能取一个,问取最后一个的人是谁做完了。G.[BZO......
  • ENGN4536/6536 - Wireless Communications
    ENGN4536/6536-Wireless CommunicationsAIMiniProject:DeepLearningforPAPRReductionin OFDMGoalInthisproject,youareexpectedtoadoptadeeplearningtooltoreducethepeak-to-averagepowerratio (PAPR) in an emerging wireless technol......
  • 【题解】Solution Set - NOIP2024集训Day42 博弈论
    【题解】SolutionSet-NOIP2024集训Day42博弈论https://www.becoder.com.cn/contest/5574https://www.cnblogs.com/CloudWings/p/17813917.html「中山市选2009」谁能赢呢?一道经典的「二分图博弈」在棋盘问题上的应用。https://www.luogu.com.cn/article/h8a79k3i......
  • 多校A层冲刺 NOIP2024 模拟赛 01
    T1构造字符串签到题注意到\(n\)和\(m\)较小,直接扫一遍用并查集维护他所描述的情况,并将不同的位置记录下来,若存在不同的位置属于同一个集合则不可能构成,否则贪心从前往后取mex即可。时间复杂度\(O(nm\alpha(n))\)。T2寻宝签到题首先先用并查集将大联通块缩点,注意到......
  • 『模拟赛』多校A层冲刺NOIP2024模拟赛01
    Rank打得还可以总A.构造字符串签,但是挂了40pts。发现判条件只有相等和不相等,于是想到并查集维护连通块,将强制相同的两个位置的连通块合并,强制不同的先记下,最后统一判断。重点在细节处理,合并连通块时要将位置靠后的合并到靠前的上,注意\(LCP(x,y)=z\)在\(x+z,y+z\le......
  • 多校A层冲刺NOIP2024模拟赛【衡中】
    多校A层冲刺NOIP2024模拟赛01构造字符串咕咕咕寻宝咕咕咕点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintmaxn=50009;intn,m,k,q,tot,cnt,vis[32767];inta[4]={1,-1,0,0};intb[4]={0,0,-1,1};map<int,short>mp[maxn];queue<pair<int,int>>......