摘要:
CF 1980E Permutation of Rows and Columns(*1600) 思维 题目链接 题意: 给你两个大小为 \(n*m\) 的矩阵,其中元素的是 \(n*m\) 的排列,你可以任意交换两行或者任意交换两列。 求是否通过操作使得矩阵 \(a\) 变成矩阵 \(b\) 。 思 阅读全文
摘要:
https://northes.io/posts/git/git-commit/ 阅读全文
摘要:
Codeforces Round 946 (Div. 3) 题解 A. Phone Desktop 贪心 优先考虑放 \(2\times2\) 的,然后剩下的补 \(1\times 1\) 的。注意需要上取整即可。 #include<bits/stdc++.h> using namespace st 阅读全文
摘要:
Codeforces Round 945 (Div. 2) A. Chess For Three 签到 题意: 三个人两两下棋,胜者得 \(2\) 分,败者得 \(0\) 分,平局双方各得 \(1\) 分。 现在给你三个人的得分(已经升序排序)。 求最多平局个数,如果得分不合法输出 \(-1\)。 阅读全文
摘要:
Ring Road 2 题目链接 思路:先考虑什么情况下会相交,对于两条道路 \((x_1,y_1)\) 和 \((x_2,y_2)\) 。这里默认 \(x < y\) ,显然 当 $x2 < x1<y2 $ 并且 \(y1<x2\) || \(y1>y2\) 时(\(x1\) 和 \(y1\) 互 阅读全文
摘要:
P3007 [USACO11JAN] The Continental Cowngress G 题目链接 思路:2-SAT模板,经典的或条件,那么直接建图即可,对于可行解,我们直接枚举每个方案支持和反对,然后染色判断即可。 代码: #include<bits/stdc++.h> using names 阅读全文
摘要:
Catowice City 题目链接 思路: 第 \(i\) 个人认识第 \(j\) 只猫,所以选了第 \(i\) 个人就必须选第 \(j\) 个人,那么我们连一条 \(i\) 指向 \(j\) 的边。 那么同一个连通分量中就必须同时选择。考虑不能对其他猫产生影响,我们可以选择一个没有出边的强连通分 阅读全文
摘要:
P5782 [POI2001] 和平委员会 题目链接 思路: 因为 \(u\) 和 \(v\) 矛盾,即 \(\lnot (u \land v)\)。 转化成 \(\lnot u \lor \lnot v\) 。那么根据 \(2-SAT\) 标准处理方式。转化为: \((u \rightarrow 阅读全文
摘要:
P4171 [JSOI2010] 满汉全席 2-SAT 题目链接 思路: 2-SAT模板题,我们将满席定为1,汉席定为0.那么建边即可。判断同一道菜满汉是否在强联通分量中即可。 注意多测清空!!! 代码: vector<int> e[N]; stack<int> stk; int dfn[N],lo 阅读全文
摘要:
2-SAT 2-SAT,简单的说就是给出 \(n\) 个集合,每个集合有两个元素,已知若干个 \(<a,b>\),表示 \(a\) 与 \(b\) 矛盾(其中 \(a\) 与 \(b\) 属于不同的集合)。然后从每个集合选择一个元素,判断能否一共选 \(n\) 个两两不矛盾的元素。显然可能有多种选择 阅读全文