hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到
Posted isakovsky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到相关的知识,希望对你有一定的参考价值。
题意:
一个完全图,某两点边权为这两点编号之按位与,求最小生成树,输出字典序最小的。
题解:
如果点数不为$2^n-1$,则每一点均可找到一点,两点之间边权为0,只需找到该点二进制下其最左边的0是第几位,与此位为1,其他位都为0的点相连,此边边权为0。
否则,第$2^n-1$点以此法找到的最小点是$2^n$,此点不存在,则$2^n-1$只能与1相连,得到边权为1。其他边都是0,总共得生成树边权和为1。
#include<iostream> using namespace std; int main() int t; scanf("%d",&t); while(t--) int n; scanf("%d",&n); // int ans=0; int k=n+1; while(k>1) if(k%2) printf("0\n"); goto B; k/=2; printf("1\n"); B:; for(int i=2;i<=n;i++) // printf("%d:",i); for(int j=1;j<=n;j<<=1) if( (i&j) ==0) printf("%d",j); goto A; printf("1"); // ans++; A:; if(i<n)printf(" "); printf("\n"); return 0;
以上是关于hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到的主要内容,如果未能解决你的问题,请参考以下文章
2019杭电多校第四场hdu6621 K-th Closest Distance(二分答案+主席树)
杭电2018多校第四场(2018 Multi-University Training Contest 4) 1005.Problem E. Matrix from Arrays (HDU6336) -
HDU多校第四场1005 Didn‘t I Say to Make My Abilities Average in the Next Life?! 单调栈+莫队