Submission #4474715


Source Code Expand

#include<map>
#include<set>
#include<cmath>
#include<ctime>
#include<queue>
#include<stack>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define qmax(x,y) (x=max(x,y))
#define qmin(x,y) (x=min(x,y))
#define mp(x,y) make_pair(x,y)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
inline int read(){
	int ans=0,fh=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-') fh=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
		ans=ans*10+ch-'0',ch=getchar();
	return ans*fh;
}
const int maxn=2e5+100,inf=2e9;
struct node{
	int x,y,z;
}e[maxn<<1];
int n,a[maxn],m,q,fa[maxn];
ll Ans;
bool cmp(node x,node y){return x.z<y.z;}
int getfa(int x){return x==fa[x]?x:fa[x]=getfa(fa[x]);}
int main(){
//	freopen("nh.in","r",stdin);
//	freopen("zhy.out","w",stdout);
	n=read(),q=read();
	for(int i=0;i<n;i++) a[i]=inf;
	for(int i=1;i<=q;i++){
		int x=read(),y=read(),z=read();
		e[++m]=(node){x,y,z};
		qmin(a[x],z+1),qmin(a[y],z+2);
	}
	for(int i=0;i<n;i++) qmin(a[i],a[(i-1+n)%n]+2);
	for(int i=0;i<n;i++) qmin(a[i],a[(i-1+n)%n]+2);
	for(int i=0;i<n;i++) e[++m]=(node){i,(i+1)%n,a[i]};
	for(int i=0;i<n;i++) fa[i]=i;
	sort(e+1,e+m+1,cmp);
	for(int i=1;i<=m;i++){
		int x=getfa(e[i].x),y=getfa(e[i].y);
		if(x==y) continue;
		fa[x]=y,Ans+=e[i].z;
	}
	printf("%lld\n",Ans);
	return 0;
}










Submission Info

Submission Time
Task G - Zigzag MST
User luogu_bot3
Language C++14 (GCC 5.4.1)
Score 1300
Code Size 1384 Byte
Status AC
Exec Time 100 ms
Memory 9472 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 1300 / 1300
Status
AC × 3
AC × 36
Set Name Test Cases
sample sample-01.txt, sample-02.txt, sample-03.txt
all sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 128 KB
01-02.txt AC 44 ms 2688 KB
01-03.txt AC 84 ms 6656 KB
01-04.txt AC 32 ms 6528 KB
01-05.txt AC 21 ms 5376 KB
01-06.txt AC 27 ms 5760 KB
01-07.txt AC 22 ms 4608 KB
01-08.txt AC 21 ms 4352 KB
01-09.txt AC 25 ms 4224 KB
01-10.txt AC 52 ms 6272 KB
01-11.txt AC 69 ms 5504 KB
01-12.txt AC 83 ms 6400 KB
01-13.txt AC 83 ms 6400 KB
01-14.txt AC 83 ms 6400 KB
01-15.txt AC 85 ms 6400 KB
01-16.txt AC 84 ms 6400 KB
01-17.txt AC 83 ms 6400 KB
01-18.txt AC 64 ms 9472 KB
01-19.txt AC 21 ms 4608 KB
01-20.txt AC 23 ms 4224 KB
01-21.txt AC 37 ms 6272 KB
01-22.txt AC 63 ms 6400 KB
01-23.txt AC 63 ms 6400 KB
01-24.txt AC 22 ms 7424 KB
01-25.txt AC 100 ms 9472 KB
01-26.txt AC 33 ms 6912 KB
01-27.txt AC 28 ms 5760 KB
01-28.txt AC 56 ms 7808 KB
01-29.txt AC 65 ms 6528 KB
01-30.txt AC 78 ms 7936 KB
sample-01.txt AC 1 ms 128 KB
sample-02.txt AC 1 ms 128 KB
sample-03.txt AC 1 ms 128 KB