提交记录 9291


用户 题目 状态 得分 用时 内存 语言 代码长度
Slr2002 noip18c. 【NOIP2018】赛道修建 Time Limit Exceeded 75 1 s 9020 KB C++ 1.80 KB
提交时间 评测时间
2019-04-22 16:51:50 2020-08-01 01:36:06
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#define M 50010
using namespace std;
int n,m,num,mid,sum,ans,l,r,maxn,p;
int head[M],vis[M];
struct point{int next,to,dis;}e[M<<1];
struct node{int id,v;};
vector<node>S[M];
bool operator < (node a1,node a2){return a1.v<a2.v;}
void add(int from,int to,int dis)
{
    e[++num].next=head[from];
    e[num].to=to;
    e[num].dis=dis;
    head[from]=num;
}
int dfs(int x,int fa)
{
    for(int i=head[x];i;i=e[i].next)
        if(e[i].to!=fa)
        {
            int l=dfs(e[i].to,x)+e[i].dis,to=e[i].to;
            S[x].push_back((node){to,l});
        }
    int G=S[x].size();
    sort(S[x].begin(),S[x].end());
    for(int i=G-1;i>=0;i--) 
    {
        if(S[x][i].v>=mid) sum++,vis[S[x][i].id]=true;
        else break;
    }
    for(int i=0;i<G;i++)
    {
        int u=S[x][i].id,l=S[x][i].v;
        if(vis[u]) continue;
        for(int j=i+1;j<G;j++)
        {
            if(vis[S[x][j].id]) continue;
            if(l+S[x][j].v<mid) continue;
            vis[u]=vis[S[x][j].id]=true;
            sum++;
            break;
        }
    }
    for(int i=G-1;i>=0;i--)
        if(!vis[S[x][i].id])
            return S[x][i].v;
    return 0;
}
void DFS(int x,int fa,int now)
{
    if(now>=maxn) maxn=now,p=x;
    for(int i=head[x];i;i=e[i].next)
        if(e[i].to!=fa)
            DFS(e[i].to,x,now+e[i].dis);
}
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<n;i++)
    {
        int a,b,c;scanf("%d%d%d",&a,&b,&c);
        add(a,b,c),add(b,a,c);
        r+=c;
    }
    r/=m;
    while(l<=r)
    {
        for(int i=1;i<=n;i++) 
            S[i].clear();
        memset(vis,false,sizeof(vis));
        mid=(l+r)/2;
        sum=0,dfs(1,1);
        if(sum<m) r=mid-1;
        else ans=mid,l=mid+1;
    }
    printf("%d\n",ans);
    return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1266.75 us1 MB + 388 KBAcceptedScore: 5

Testcase #2266.98 us1 MB + 388 KBAcceptedScore: 5

Testcase #3264.2 us1 MB + 388 KBAcceptedScore: 5

Testcase #41.025 ms1 MB + 448 KBAcceptedScore: 5

Testcase #51 s2 MB + 676 KBTime Limit ExceededScore: 0

Testcase #61 s2 MB + 976 KBTime Limit ExceededScore: 0

Testcase #71 s2 MB + 676 KBTime Limit ExceededScore: 0

Testcase #81 s3 MB + 604 KBTime Limit ExceededScore: 0

Testcase #9709.82 us1 MB + 540 KBAcceptedScore: 5

Testcase #1019.441 ms5 MB + 864 KBAcceptedScore: 5

Testcase #1135.422 ms8 MB + 828 KBAcceptedScore: 5

Testcase #12286.72 us1 MB + 392 KBAcceptedScore: 5

Testcase #13283.7 us1 MB + 392 KBAcceptedScore: 5

Testcase #14358.37 us1 MB + 396 KBAcceptedScore: 5

Testcase #15352.25 us1 MB + 400 KBAcceptedScore: 5

Testcase #16792.13 us1 MB + 452 KBAcceptedScore: 5

Testcase #17864.77 us1 MB + 444 KBAcceptedScore: 5

Testcase #1830.849 ms2 MB + 784 KBAcceptedScore: 5

Testcase #19332.294 ms2 MB + 972 KBAcceptedScore: 5

Testcase #201 s4 MB + 224 KBTime Limit ExceededScore: 0


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