数据结构
ZYzyZzzz
东阳中学在读学生。
展开
-
【并查集】程序自动分析
原题链接规模太大,先用离散化缩小。①考虑所有相等条件,把所有相等的变量捆绑进同一个集合中。②考虑所有不等条件,若两个变量处于同一集合中,则证明无法同时满足这两个条件。代码实现:#include<bits/stdc++.h>#define N 100000+10using namespace std;int n,m;int a[2*N],fa[2*N];int x...原创 2020-05-03 11:11:59 · 220 阅读 · 0 评论 -
【并查集】搭配购买
原题链接并查集+01背包。先将需要搭配购买的云用并查集绑定,再利用01背包求出价值的最大值。代码实现:#include<bits/stdc++.h>#define N 10000+10using namespace std;int n,m,w;int c[N],d[N];int u,v;int fa[N];int vv[N],ww[N];int f[N];i...原创 2020-05-03 07:39:19 · 927 阅读 · 0 评论 -
【并查集】格子游戏
原题链接并查集裸体。如果将要用线连接的两个点位于同一个集合内,那么当前操作可以围成一个封闭的圈。否则,将两点合并到同一集合内。代码实现:#include<bits/stdc++.h>#define N 1000000+10using namespace std;int n,m,ans=0;int f[N];int get(int x){ if(f[x]==x...原创 2020-04-28 16:11:11 · 574 阅读 · 0 评论