BZOJ3714 [PA2014]Kuglarz
来源:互联网 发布:互联网共享打印机端口 编辑:程序博客网 时间:2024/05/17 10:42
知道了第x~y个杯子的奇偶性,就相当于知道了x和x-1之间的缝到y和y+1之间的缝的奇偶性
知道了缝a到缝b的奇偶性和缝b到缝c的奇偶性,我们就知道了缝a到缝c的奇偶性
要知道所有杯子底下有没有球,我们就要知道每个杯子左右两端的缝之间的奇偶性,也就相当于要知道任意两个缝之间的奇偶性
所以这就是一道花式最小生成树问题-_-知道奇偶性相当于连一条边,整个图联通了就都能知道了
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<ctime>#include<cmath>#include<algorithm>#include<iomanip>#include<vector>#include<map>#include<set>#include<bitset>#include<queue>#include<stack>using namespace std;#define MAXN 2010#define MAXM 1010#define INF 1000000000#define MOD 1000000007#define eps 1e-8#define ll long longstruct edg{int x;int y;int v;friend bool operator <(edg x,edg y){return x.v<y.v;}};int f[MAXN];edg e[MAXN*MAXN];int tot;ll ans;int n;int fa(int x){return f[x]==x?x:f[x]=fa(f[x]);}void kruskal(){int i;for(i=0;i<=n;i++){f[i]=i;}sort(e+1,e+tot+1);for(i=1;i<=tot;i++){if(fa(e[i].x)!=fa(e[i].y)){ans+=e[i].v;f[fa(e[i].x)]=fa(e[i].y);}}}int main(){int i,j;scanf("%d",&n);for(i=0;i<n;i++){for(j=i+1;j<=n;j++){scanf("%d",&e[++tot].v);e[tot].x=i;e[tot].y=j;}}kruskal();printf("%lld\n",ans);return 0;}/**/
0 0
- bzoj3714【PA2014】Kuglarz
- 【PA2014】【BZOJ3714】Kuglarz
- BZOJ3714 [PA2014]Kuglarz
- BZOJ3714 [PA2014]Kuglarz
- bzoj3714: [PA2014]Kuglarz
- 【bzoj3714】[PA2014]Kuglarz
- bzoj3714 [PA2014]Kuglarz
- 【BZOJ3714】【PA2014】Kuglarz
- bzoj3714: [PA2014]Kuglarz
- BZOJ3714: [PA2014]Kuglarz
- 【bzoj3714】【PA2014】【Kuglarz】【最小生成树】
- 最小生成树 BZOJ3714 [PA2014]Kuglarz
- 【BZOJ3714】【PA2014】Kuglarz(最小生成树)
- 【bzoj3714: [PA2014]Kuglarz】转化 ---最小生成树
- bzoj3714 [PA2014]Kuglarz(贪心+并查集)
- 【BZOJ 3714】 [PA2014]Kuglarz
- 3714: [PA2014]Kuglarz
- 3714: [PA2014]Kuglarz
- Android之Http通信Json解析
- 分享国内外好用的H5页面制作网站
- 学习了一下XML,并结合相应的知识讲解了一下spring的dubbo配置
- nodejs中 exports 和 module.exports 的区别
- 我的见解之hibernate(十一)
- BZOJ3714 [PA2014]Kuglarz
- JAVA学习第二周——数组
- Android WebView加载后有白边框的问题
- 第13章[1]:运算符的重载基本属性
- 批量建立软链接
- android输入框自动顶上去问题解决。
- Hibernate基础知识(7)
- s3cmd 快速评估RADOSGW的性能
- mr项目优化总结