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 |
|
|
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 |