并查集
冰可乐小朋友
把事情想简单些,或许就会开心些
展开
-
2020牛客暑期多校训练营(第八场)Interesting Computer Game(并查集+离散化 或者 网络流)
题目 题意:给出n个二元组,每组只能选一个数,问最多选几个数。 可以先进行并查集将这些数分成很多树或者圈,相当于一条边连接两个点,我们只能选择其中一点,树可以选n-1个点,圈可以选n个点。 数大n小,可以离散化。 #include<iostream> #include<cstdio> #include<cstring> #include<unordered_map> using namespace std; typedef long long ll; cons原创 2020-08-07 01:00:33 · 102 阅读 · 0 评论 -
2020杭电多校A Very Easy Graph Problem(图论)
题目 题意:给定N和K,满足二元组(n,k) 1≤n≤N,1≤k≤K. (1,k)是特殊二元组,如果(n,k)是特殊二元组,①(n + k, k)也是特殊二元组, ②(nk, k) 也是特殊二元组。 问在给定的N和K中有多少个特殊二元组。 由题意,所有特殊二元组都是从(1,k)出发的。如果先进行第二步,则后面所有的二元组是(k,k), (k^2,k) ,(k+k,k)…可见后面的数都是(k的倍数,k)包括了所有k的倍数。如果先进行第一步,这里因为如果再进行第二步会跟第一个思路重合,所以只操作第一步(1+k,原创 2020-08-06 19:26:22 · 167 阅读 · 0 评论