提交记录 4222


用户 题目 状态 得分 用时 内存 语言 代码长度
OMG_link noi18a. 【NOI2018】归程 Time Limit Exceeded 40 4 s 20404 KB C++ 1.83 KB
提交时间 评测时间
2018-07-18 23:07:27 2020-07-31 22:42:49
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
#define MN 200000
#define MM 400000
#define MQ 100000
typedef long long LL;
int n,m,q,k,s;
int hd[MN+5],dis[MN+5],fa[MN+5];
int to[MM*2+5],val[MM*2+5],nxt[MM*2+5],rn=0;
bool vis[MN+5];
struct edge{int u,v,l,a;}e[MM+5];
struct ques{int v,p,i,a;}qu[MQ+5];
struct node{int u,d;bool operator<(const node b)const{return d>b.d;}};
bool cmp1(edge a,edge b){return a.a>b.a;}
bool cmp2(ques a,ques b){return a.p>b.p;}
bool cmp3(ques a,ques b){return a.i<b.i;}
inline void add(int u,int v,int w){
	++rn;nxt[rn]=hd[u];hd[u]=rn;to[rn]=v;val[rn]=w;
}
int gfa(int u){return fa[u]==u?fa[u]:fa[u]=gfa(fa[u]);}
void uni(int u,int v){
	u=gfa(u),v=gfa(v); if(u==v) return;
	dis[u]=std::min(dis[u],dis[v]); fa[v]=u;
}
void dij(int S){
	memset(vis,false,sizeof(vis));
	memset(dis,0x7f,sizeof(dis));
	std::priority_queue<node> Q;
	dis[S]=0; Q.push((node){S,dis[S]});
	while(!Q.empty()){
		node u=Q.top(); Q.pop();
		if(vis[u.u]) continue; vis[u.u]=true;
		for(int i=hd[u.u];i!=-1;i=nxt[i]){
			if(vis[to[i]]) continue;
			if(dis[to[i]]>dis[u.u]+val[i]){
				dis[to[i]]=dis[u.u]+val[i];
				Q.push((node){to[i],dis[to[i]]});
			}
		}
	}
}
int main(){
	int T; scanf("%d",&T);
	while(T--){
		memset(hd,0xff,sizeof(hd));
		scanf("%d%d",&n,&m);
		for(int i=1;i<=m;i++){
			scanf("%d%d%d%d",&e[i].u,&e[i].v,&e[i].l,&e[i].a);
			add(e[i].u,e[i].v,e[i].l),add(e[i].v,e[i].u,e[i].l);
		}
		dij(1);
		for(int i=1;i<=n;i++) fa[i]=i;
		scanf("%d%d%d",&q,&k,&s);
		if(k!=0) return 1;
		for(int i=1;i<=q;i++)
			scanf("%d%d",&qu[i].v,&qu[i].p),qu[i].i=i;
		std::sort(e+1,e+1+m,cmp1);
		std::sort(qu+1,qu+1+q,cmp2);
		for(int i=1,j=1;i<=q;i++){
			while(j<=m&&e[j].a>qu[i].p) uni(e[j].u,e[j].v),++j;
			qu[i].a=dis[gfa(qu[i].v)];
		}
		std::sort(qu+1,qu+1+q,cmp3);
		for(int i=1;i<=q;i++)
			printf("%d\n",qu[i].a);
	}
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1226.04 us1 MB + 768 KBAcceptedScore: 5

Testcase #2254.69 us1 MB + 784 KBAcceptedScore: 5

Testcase #3389.74 us1 MB + 800 KBAcceptedScore: 5

Testcase #4531.23 us1 MB + 808 KBAcceptedScore: 5

Testcase #53.874 ms2 MB + 120 KBAcceptedScore: 5

Testcase #64 s19 MB + 948 KBTime Limit ExceededScore: 0

Testcase #73.498 ms1 MB + 988 KBAcceptedScore: 5

Testcase #83.445 ms1 MB + 992 KBAcceptedScore: 5

Testcase #93.526 ms1 MB + 988 KBAcceptedScore: 5

Testcase #10225.995 ms17 MB + 960 KBRuntime ErrorScore: 0

Testcase #1134.699 ms10 MB + 156 KBWrong AnswerScore: 0

Testcase #12243.088 ms19 MB + 804 KBWrong AnswerScore: 0

Testcase #13237.799 ms19 MB + 800 KBWrong AnswerScore: 0

Testcase #14236.017 ms19 MB + 816 KBWrong AnswerScore: 0

Testcase #15785.16 us1 MB + 952 KBWrong AnswerScore: 0

Testcase #16786.86 us1 MB + 952 KBWrong AnswerScore: 0

Testcase #17109.738 ms17 MB + 636 KBWrong AnswerScore: 0

Testcase #18108.471 ms17 MB + 636 KBWrong AnswerScore: 0

Testcase #19107.617 ms17 MB + 636 KBWrong AnswerScore: 0

Testcase #20111.456 ms17 MB + 636 KBWrong AnswerScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-13 23:57:13 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠