首页 > 其他分享 >GDOI2024 考前模拟2 T2

GDOI2024 考前模拟2 T2

时间:2024-02-28 11:36:30浏览次数:27  
标签:le 考前 T2 Alice GDOI2024 bigoplus Bob clr

题目描述

题解

考虑黑用 \(1\) 表示,白用 \(0\) 表示,那么Alice要赢,就意味着每条边 \(x\rightarrow y\) 等价于 \(clr[x]\le clr[y]\)。连边也就是 \(\le\) 的关系。

不妨编号从 \(0\) 开始,题目的染色方式则意味着 \(clr[x]\neq clr[x\bigoplus 1]\)。那么原图里有 \(x\rightarrow y\) 这样的一条边,等同于需要添加 \(x\bigoplus 1\leftarrow y\bigoplus 1\)。
需要注意,Bob 可以任意操控他能染的点。也就是说,若 \(x\) 是 Alice 负责的,\(y\) 是 Bob 负责的,并且 \(x<y\),\(x\) 和 \(y\) 之间有直接的边。那么 Alice 给 \(x\) 染完,必须不能留给 Bob 染 \(y\) 就赢的可能性。换句话说,如果是 \(x\rightarrow y\),则 Alice 必须给 \(x\) 染白色。如果是 \(x\leftarrow y\),则 Alice 必须给 \(x\) 染黑色。
换成我们图里面的语言,就是对于这样的情况,额外添加一条 \(x\) 和 \(x\bigoplus 1\) 之间的边。方向依据上面的讨论(之间的方向)而定。建完边,跑 SCC 缩点。
最后是检查工作:

  1. 假如存在 \(x\) 和 \(x\bigoplus 1\) 位于 tarjan 缩点后的同一个连通块,那么无论如何 Alice 都是输的。因为同一个连通块等价于必有 \(clr[x]=clr[x\bigoplus 1]\)。
  2. 再次强调 Bob 的控制能力。假如存在 \(x,y\) 都是 Bob 负责的,且 \(x\) 到 \(y\) 有路径,那么 Bob 可以直接使 \(clr[x]>clr[y]\),Alice 就输了。
    假如到这里还没出现问题,我们断言 Alice 可以赢。因为 Alice 只要根据图的限制,把自己负责的点都染好,Bob 是没有赢的办法的.

标签:le,考前,T2,Alice,GDOI2024,bigoplus,Bob,clr
From: https://www.cnblogs.com/FLY-lai/p/18039792

相关文章

  • 2024.2.27模拟赛T2题解
    题目有一个神奇的结论\(\foralla<b<c,a\oplusc>min(a\oplusb,b\oplusc)\)然后就可以写出\(n^2\)dp,再用TRIE树优化即可code#include<bits/stdc++.h>usingnamespacestd;#defineN200005#defineintlonglongintn,k1,k2;inta[N],fl[2];constintm......
  • test2024.2.23
    圣诞树题意:用\(m\)种颜色的彩球装点\(n\)层的圣诞树。圣诞树的第\(i\)层恰由\(l_{i}\)个彩球串成一行,且同一层内的相邻彩球颜色不同,同时相邻两层所使用彩球的颜色集合不同。求有多少种装点方案。\(n,m\le10^6,1\lel_{i}\le3\times10^3,\suml_{i}\le10^7\)。......
  • GDOI2024 AFO寄
    Day-4怎么说呢……因为这次考不好就会AFO,而我又铁定考不好(个人估分两天加起来\(150\)分)。如果真的要进省队的话,以我\(\text{NOIP233}\)分的垃圾分数,假设省选最高分\(450\)分的情况下,我需要至少考\(200+140=340\)分,再想想\(\text{GDKOI}\)考的\(90\)分的“好成绩......
  • SDOI2024 考前做题
    1.P9126[USACO23FEB]MooRouteIIS首先注意到不一定保证\(r_i\les_i\),否则就是最短路裸题了。注意到此时相当于负权图最短路。spfa也许能过,但是我们想要复杂度确定的写法。利用一下一条边出入时间固定(至少中途不会变)的性质:不难发现每条边最多只会走一次。不妨考虑dfs,记......
  • springboot2.6开始禁止循环依赖了
    参考文章: https://mp.weixin.qq.com/s?__biz=MzI0MTUwOTgyOQ==&mid=2247497189&idx=1&sn=0f03cdafad9bacef66c64a490b85ff23&scene=21#wechat_redirect使用了SpringBoot2.6及以上版本的,如果要允许循环依赖,可以作如下设置:方案二:允许循环引用此方案更像是绕过问题而非解决问题......
  • 2024.2.25模拟赛T2题解
    题目枚举根之后,考虑每次连边的贡献,通过贡献算出每个点的权值,每次找出权值最大的点,又要保证父亲在儿子之前,所以将父亲和儿子合并,权值也合并一下即可code#include<bits/stdc++.h>usingnamespacestd;#defineN2005intans,n,k;intsz[N],deg[N],du[N],fu[N],f[N],h[N];str......
  • 2024.2.26模拟赛T2题解
    题目对询问扫描线,建出\(PAM\)的失配树之后,每次查询相当于,把\(r\)对应节点到根路径染色之后,有多少个节点的值大于\(l\),可以树剖+ODT实现code#pragmaGCCoptimize("Ofast","inline","-ffast-math")#pragmaGCCtarget("avx,sse2,sse3,sse4,mmx")#include<bits/s......
  • GDOI2024 游记
    加训睡觉/fendou。Day-10|2024.2.20早上打了icpc2022hangzhou。拷打钱哥怎么没过计算几何板子题。研究模拟赛某题的凸包,感觉增删的凸包还是太困难了,即使条件弱化很多了也不太好做。nmd。晚上看lpl,怎么IG把BLG给虐了。和网友聊八卦,激情输出观点,得出的结论是恋爱太......
  • 设两个三角形分别为T1和T2,T1的三个端点为A、B、C,T2的三个端点为D、B、C,如何在BC上找到
    如果把T1和T2在平面上展开,问题就简单了。平面上,两个顶点的最短距离就是直线距离。所以,AC和BC的交点P就是所求的点。而2D和3D问题在本质上是一致的,那么原问题就转换为:如何在3D上找到交点P。点A和D向着BC做垂线,记垂足为P1和P2,那么P1、A、P和P2、D、P就构成两个相似三角形,根据相......
  • day39 动态规划part2 代码随想录算法训练营 63. 不同路径 II
    题目:63.不同路径II我的感悟:题目不难,就是不知道哪个煞笔,把路拦截死了,并且入口就放石头,我真是吐了。理解难点:初始值的遇到障碍要Break其他我写的没错边界考虑:还有入口和出口有障碍物的话,要直接返回0.听课笔记:差不多,考虑的点就是:初始值后面为break开头和结尾有障......