虽然思路很简单是裸的并查集,但是代码要注意细节,我在写的时候就忘了写判断语句 if(af != bf) f[bf] = a; #include <iostream> #include <cstdio> using namespace std; const int maxn = 1e6+50; int ...
分类:
其他好文 时间:
2020-06-20 13:35:37
阅读次数:
89
##题面 Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input 共有若干行,每行一个正整数N≤10,表示棋盘和 ...
分类:
其他好文 时间:
2020-06-19 23:18:56
阅读次数:
45
#题面 Problem Description There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 ? Ki ? N) on every floor. ...
分类:
其他好文 时间:
2020-06-18 19:21:32
阅读次数:
90
本文参考了【算法】并查集(Disjoint Set)和并查集详解 并查集原理 并查集是一种用于处理不相交集合之间合并问题的数据结构,例如求连通子图、判断是否存在环、求最小生成树等。 以判断图中是否有环为例,下图是一个无向图。 graph TB; A B A C A D C D C E 首先把每一个顶 ...
分类:
其他好文 时间:
2020-06-17 20:10:17
阅读次数:
53
题目是一颗生成树,所以路径唯一 树上只有两种颜色,如果客人在经过的路径上有自己喜欢的颜色,则输出 1,否则输出 0 可以用并查集来把相同的颜色合并起来。 \(a,b\) 颜色相同,\(col[a]!=c\) 路上全是客人不喜欢的颜色,输出 0 \(a,b\) 颜色相同,\(col[a]==c\) , ...
分类:
其他好文 时间:
2020-06-17 09:15:59
阅读次数:
54
题目链接:HDU-5936 Difference 题意 有两个等式: \[ \begin{split}f(y,K)&=\sum_{z\ {\rm in\ every\ digits\ of}\ y}z^K \qquad \ \qquad (1)\\x&=f(y,K)-y \qquad\qquad\q ...
分类:
其他好文 时间:
2020-06-16 23:37:38
阅读次数:
91
就是个回滚莫队和带权可删减并查集板子 LCT?雾 这板子还没整理过,就顺手写下吧.... 可删除并查集 其实实质和原本并查集差不多就加了一个虚点的概念 为什么要增加虚点呢? 这就是删除操作的本质 (这里用ha[i]=cnt 代表i节点对应的虚点为cnt) 删除,首先把所有与这个点 i(虚点cnt)有 ...
分类:
其他好文 时间:
2020-06-15 13:58:06
阅读次数:
53
地址 https://www.acwing.com/problem/content/description/839/ 给定一个包含n个点(编号为1~n)的无向图,初始时图中没有边。 现在要进行m个操作,操作共有三种: “C a b”,在点a和点b之间连一条边,a和b可能相等; “Q1 a b”,询问 ...
地址 https://www.acwing.com/problem/content/description/259/ S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N。 他们之间的关系自然也极不和谐。 很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。 我们用“怨气值”(一个 ...
import java.util.HashMap;import java.util.List;import java.util.Stack;/** * 并查集 * <p> * 1)有若干个样本a、b、c、d,假设类型是V * 2)在并查集中最开始认为每个样本都在单独的集合里 * 3)用户可以在任何时 ...
分类:
其他好文 时间:
2020-06-14 10:52:46
阅读次数:
55