![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
图论 —— 图的连通性、2 - SAT
图论 —— 图的连通性、2 - SAT
c4Lnn
这个作者很懒,什么都没留下…
展开
-
POJ 2296. Map Labeler
链接 http://poj.org/problem?id=2296 题意 给每个点分配一个正方形,点只能在正方形的上边和下边的中点,每个正方形不能重叠,可以有公共边 求正方形的最大边长 合法图例 思路 2 - SAT 问题,每个点在正方形上边和下边两种状态 当两点横坐标差大于等于正方形边长或纵坐标差大于等于两倍正方形边长,不用考虑 所以只有三种情况 纵坐标差大于 000 小于正方形边长 纵坐标差大于等于正方形边长小于两倍正方形边长 纵坐标差等于 000 二分 mmm 建图,判断是否矛盾 代码 #inc原创 2020-09-09 01:52:52 · 77 阅读 · 0 评论 -
HDU 4421. Bit Magic
链接 http://acm.hdu.edu.cn/showproblem.php?pid=4421 题意 已知数组 bbb,求是否存在满足要求的数组 aaa 思路 按位做2- 代码 #include <bits/stdc++.h> #define SZ(x) (int)(x).size() #define ALL(x) (x).begin(),(x).end() #define PB push_back #define EB emplace_back #define MP make_pair原创 2020-09-08 22:47:44 · 87 阅读 · 0 评论 -
HDU 1816. Get Luffy Out *
链接 http://acm.hdu.edu.cn/showproblem.php?pid=1816 题意 nnn 对钥匙,一对钥匙中用了其中一把另一把就不能用了 mmm 扇门,每扇门可以用两把钥匙(选一把即可)解开 求按顺序最多能解开多少扇门 思路 2 - SAT 对于 nnn 对钥匙,设 a,ba,ba,b 为一对钥匙 选了 aaa 则 bbb 不能选 选了 bbb 则 aaa 不能选 对于 mmm 扇门,设 a,ba,ba,b 可以解开其中一扇门 不选 aaa 则选 bbb 不选 bbb 则选 a原创 2020-09-08 03:57:26 · 147 阅读 · 0 评论 -
HDU 3715. Go Deeper
链接 http://acm.hdu.edu.cn/showproblem.php?pid=3715 题意 数组 xxx 为 0∼n0\sim n0∼n 的取值,每个数只有 0,10,10,1 两种取值 数组 a,ba,ba,b 取值为 0∼n0\sim n0∼n 数组 ccc 取值为 0,1,20,1,20,1,2 有 mmm 个不等式,xai+xbi≠cix_{a_i}+x_{b_i}\ne c_ixai+xbi=ci 给数组 xxx 赋值,问最多能满足前多少个不等式 思路 2 - SAT原创 2020-09-05 19:04:00 · 203 阅读 · 0 评论 -
LibreOJ 2436. 糖果
链接 <> 题意 思路 代码 #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <cmath> #include <climits> #include <string> #include <vector> #include <stack> #include <q原创 2020-09-04 17:30:09 · 142 阅读 · 0 评论 -
2019CCPC秦皇岛 F. Forest Program
链接 http://acm.hdu.edu.cn/showproblem.php?pid=6736 题意 在仙人掌图中删去一些边使图中没有环,求方案数 思路 DFS 求环 设图中环的大小分别为 c1c_1c1 c2c_2c2, …, ckc_kck,不属于任何一个环的边数为 bbb,则答案为: 2b∗∏i=1k(2ci−1)2^b*\prod _{i=1}^{k}{(2^{c_i}-1)}2b∗∏i=1k(2ci−1) 代码 #include<bits/stdc++.h> using原创 2020-07-30 16:32:26 · 203 阅读 · 1 评论 -
HDU 4685. Prince and Princess
链接 http://acm.hdu.edu.cn/showproblem.php?pid=4685 题意 nnn 个王子,mmm 个公主,每个王子可以娶他喜欢的公主中的一个,每个公主只能嫁个一个王子,必须保证最大匹配,升序输出每个王子可以娶的公主的编号 思路 先求二分图最大匹配,给两边未匹配的点添加虚点凑成完美匹配(虚点与另一边所有点之间都要加一条有向边) 然后在所有匹配的两点之间加一条反向边 最后求强连通分量,每个强连通分量中与王子直接相连的公主就是他可以娶的公主 代码 #include<bits/原创 2020-09-02 13:26:25 · 121 阅读 · 0 评论