首页 > 其他分享 >P4429 [BJOI2018] 染色

P4429 [BJOI2018] 染色

时间:2024-01-11 16:15:23浏览次数:32  
标签:BJOI2018 两个 个点 无解 染色 相邻 P4429 若图 性质

题面传送门

这么牛的结论题!

分别考虑每个联通块,不断去掉一度点显然不影响,我们依次给出几个手玩的结论:

性质 1:如果有奇环,那么无解。

只需要给奇环上的集合全部赋值 \(\{0,1\}\) 即可。

性质 2:若存在两个环的边不相交,那么无解。

考虑一个环,取其对称的两个点,分别记为 \(p,q\)。

令 \(p\) 为 \(\{0,1\}\),\(p\) 相邻的两个点分别为 \(\{0,2\},\{1,2\}\),则这两个必有一个 \(2\)。然后除了 \(p,q\) 以及和 \(p\) 相邻的两个点全部赋值为 \(\{2,3\}\),则 \(q\) 相邻的两个点有一个为 \(2\)。令 \(p\) 为 \(\{2,x\}\),则 \(p\) 必定为 \(x\)。

考虑连接这两个环的某一条链,我们对两个环分别这样处理,使链连接的两个点的值固定为 \(x,y\)。

若这两个点之间有奇数个点,则令 \(x,y\) 不同,中间的点为 \(\{x,y\}\) 即无解。

若这两个点之间有偶数个点,则令 \(x,y\) 相同,中间的点为 \(\{x,z\}\),\(z\) 取任意未出现的数即无解。

性质 3:若两个环相交的部分为奇数,则无解。

因为一条链上如果有 \(>1\) 个点则总是可以每次抵消两个点,所以我们不妨将这种情况看做存在 \((1,2),(2,3),(3,4),(1,4)\) 以及另外一个共用 \((1,4)\) 这条边的环。

令 \(1\) 为 \(\{0,1\}\),令 \(2\) 与另一个和 \(1\) 相邻的点为 \(\{0,2\}\) 和 \(\{1,2\}\),则这两个点必有一个 \(2\),不妨令 \(2\) 的值为 \(2\),\(3\) 的集合为 \(\{2,1\}\),\(3\) 的值固定为 \(1\),这样若 \(4\) 为 \(\{1,3\}\),则无解。另一边也是对称的。

性质 4:若图不是广义串并联图,则无解。

性质 5:若图有两个三度点,且连接两个三度点之间的长度不为 \(2,2\) 加上一个偶数,则无解。

不想写了,反正我构造出来了

然后有解的图就很简单了,容易判断。

submission

标签:BJOI2018,两个,个点,无解,染色,相邻,P4429,若图,性质
From: https://www.cnblogs.com/275307894a/p/17958784

相关文章

  • 易基因:人早期胚胎发育的表观遗传调控(染色质重塑+组蛋白修饰+DNA甲基化)|深度综述
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 哺乳动物发育研究促进了对协调胚胎发生遗传、表观遗传和细胞过程的理解,并揭示了对人类胚胎发生特异性新见解。最近研究生成了人类早期胚胎发生的第一个表观遗传学图谱,激发了关于表观遗传学重编程、细胞命运调控以......
  • Linux 中 shell脚本统计fasta文件中每一条染色体的长度
     001、借助数组实现[root@pc1test]#lsa.fa[root@pc1test]#cata.fa##测试fasta文件>chr1aattccggttcc>chr2ttccc>chr3tttccct##统计脚本[root@pc1test]#awk'{if($0~/^>/){tmp=$0;ay[tmp]=0}else{ay[tmp]+=......
  • Linux 中shell脚本实现给fasta文件中重复的染色体名做序号标记
     001、测试数据[root@pc1test]#lsa.txt[root@pc1test]#cata.txt##测试数据>jcf718000347055627>jcf718000347055638>jcf7180003470552496>jcf718000347054653>jcf718000347055862>jcf718000347055671>jcf71800034705508......
  • P2486 [SDOI2011] 染色
    题目描述给定一棵\(n\)个节点的无根树,共有\(m\)个操作,操作分为两种:将节点\(a\)到节点\(b\)的路径上的所有点(包括\(a\)和\(b\))都染成颜色\(c\)。询问节点\(a\)到节点\(b\)的路径上的颜色段数量。颜色段的定义是极长的连续相同颜色被认为是一段。例如112221......
  • 2023.08.12-美团-第五题-树上染色
    给定一棵树,每个节点都有一个权值以及最开始是白色。定义操作A:选择两个有边直接相连的节点,可以将两个节点同时染红.当且仅当他们都是白色但是这样的题目太过简单,所以我们定义一个更复杂的操作B:在满足操作A的条件下两个节点的权值的乘积也需要是x∗x的形式,现在允许执行操作若......
  • 动态规划之房屋染色
    这里有n个房子在一列直线上,现在我们需要给房屋染色,共有k种颜色。每个房屋染不同的颜色费用也不同,你希望每两个相邻的房屋颜色不同费用通过一个nxk的矩阵给出,比如cost[0][0]表示房屋0染颜色0的费用,cost[1][2]表示房屋1染颜色2的费用。样例:输入:costs=[[14,2,11],[11,14,5],[......
  • P3177 [HAOI2015] 树上染色
    P3177[HAOI2015]树上染色[P3177HAOI2015]树上染色-洛谷|计算机科学教育新生态(luogu.com.cn)目录P3177[HAOI2015]树上染色题目大意思路code题目大意有一棵\(n\)个点的树,你可以在上面把\(k\)个点染成黑色,收益为黑点两两之间的距离和加上白点两两之间的距离和求......
  • seqkit软件根据染色体名称从fasta文件中批量提取数据
     001、[root@pc1test1]#lsa.fachr.list[root@pc1test1]#cata.fa##测试fasta>chr1tttcccggg>chr2tttgggccc>chr3cccttt>chr4aaaaattt[root@pc1test1]#catchr.list##染色体列表chr2chr4[root@pc1test1]#seqkit-w8......
  • Linux awk给fasta中重复的染色体名做重复标记
     001、[root@pc1test1]#lsa.txt[root@pc1test1]#cata.txt##测试文件>jcf718000347055627>jcf718000347055638>jcf7180003470552496>jcf718000347054653>jcf718000347055862>jcf718000347055671>jcf718000347055085&......
  • 解题报告P2486 [SDOI2011] 染色
    P2486[SDOI2011]染色题目链接分两段,最后靠同一条重链合树剖加线段树,典中典。这题的线段树维护比较新颖。线段树中维护这个区间左右端点的颜色和颜色段数量。建树和查询和修改时要判断左区间的右端点和右区间的左端点是否颜色相同。如果不相同,直接将段数相加,否则减一。然......