设为首页 加入收藏

TOP

hdu 4679 Terrorist’s destroy (二)
2014-11-23 20:10:31 来源: 作者: 【 】 浏览:19
Tags:hdu 4679 Terrorist destroy
e=E[e].next){ int v=E[e].v; if(v==pre) continue; temp=depth[v]+1; if(temp>max1[u]){ max3[u]=max2[u];v3[u]=v2[u]; max2[u]=max1[u];v2[u]=v1[u]; max1[u]=temp; v1[u]=v; }else if(temp>max2[u]){ max3[u]=max2[u];v3[u]=v2[u]; max2[u]=temp; v2[u]=v; }else if(temp>max3[u]){ max3[u]=temp; v3[u]=v; } } temp=0; if(pre){ if(v1[pre]!=u) temp=max1[pre]+1; else if(v2[pre]!=u) temp=max2[pre]+1; else temp=max3[pre]+1; if(temp>max1[u]){ max3[u]=max2[u];v3[u]=v2[u]; max2[u]=max1[u];v2[u]=v1[u]; max1[u]=temp; v1[u]=pre; }else if(temp>max2[u]){ max3[u]=max2[u];v3[u]=v2[u]; max2[u]=temp; v2[u]=pre; }else if(temp>max3[u]){ max3[u]=temp; v3[u]=pre; } int umax1=max1[u]; int umax2=max2[u]; int premax1=max1[pre]; int premax2=max2[pre]; if(v1[u]==pre) umax1=max3[u]; else if(v2[u]==pre) umax2=max3[u]; if(v1[pre]==u) premax1=max3[pre]; else if(v2[pre]==u) premax2=max3[pre]; temp=max(umax1+umax2,premax1+premax2)*prew; if(temp
#include    
#include    
#include    
#include    
#include    
#include    
using namespace std;  
#pragma comment(linker, "/STACK:1024000000,1024000000")   
const int INF=0x3f3f3f3f;  
struct Edge{  
    int v,next;  
    int id;  
    int w;  
}E[100010*2];  
int head[100010],size;  
void addedge(int u,int v,int w,int id){  
    E[size].id=id;  
    E[size].v=v;  
    E[size].w=w;  
    E[size].next=head[u];  
    head[u]=size++;  
}  
void initedge(){  
    size = 0 ;  
    memset(head, -1,sizeof head);  
}  
int len,root;  
int p[100010];  
int q[100010];  
int man[100010];  
void dfs0(int u,int deep,int pre){  
    if(deep>len){  
        len=deep;  
        root=u;  
    }  
    for(int e=head[u] ; e!=-1 ; e=E[e].next){  
        int v=E[e].v;  
        if(v==pre) continue;  
        dfs0(v,deep+1,u);  
    }  
}  
int dep[100010];  
void dfs(int u,int pre){  
    q[u] = pre;  
    dep[u] = dep[pre] + 1;  
    for(int e=head[u] ; e!=-1 ; e=E[e].next){  
        int v=E[e].v;  
        if(v==pre) continue;  
        dfs(v,u);  
    }  
}  
int ans,ansid;  
void solve(int u,int pre){  
    for(int e=head[u] ; e!=-1 ; e=E[e].next){  
        int v=E[e].v;  
        int w=E[e].w;  
        int id=E[e].id;  
        if(v==pre) continue;  
        solve(v,u);  
        if(man[u]&&man[v]){  
            int a=man[u],b=man[v];  
            if(a>b) swap(a,b);  
            int tempmax=max((a-1) , (len+1-b) );  
            if(ans > w*tempmax){  
                ans=w*tempmax;  
                ansid=id;  
            }  
        }  
        else{  
            if(ans>w*len){  
                ans=w*len;  
                ansid=id;  
            }  
        }  
    }  
}  
int main(){  
    int n,T,cas=1;  
    scanf("%d",&T);  
    while(T--){  
        scanf("%d",&n);  
        initedge();  
        for(int i=1 ; i
#include 
#include 
#include 
#include 
#include 
using namespace std;
#pragma comment(linker, "/STACK:1024000000,1024000000")
const int INF=0x3f3f3f3f;
struct Edge{
    int v,next;
    int id;
    int w;
}E[100010*2];
int head[100010],size;
void addedge(int u,int v,int w,int id){
    E[size].id=id;
    E[size].v=v;
    E[size].w=w;
    E[size].next=head[u];
    head[u]=size++;
}
void initedge(){
    size = 0 ;
    memset(head, -1,sizeof head);
}
int len,root;
int p[100010];
int q[100010];
int man[100010];
void dfs0(int u,int deep,int pre){
    if(deep>len){
        len=deep;
        root=u;
    }
    for(int e=head[u] ; e!=-1 ; e=E[e].next){
        int v=E[e].v;
        if(v==pre) continue;
        dfs0(v,deep+1,u);
    }
}
int dep[100010];
void dfs(int u,int pre){
    q[u] = pre;
    dep[u] = dep[pre] + 1;
    for(int e=head[u] ; e!=-1 ; e=E[e].next){
        int v=E[e].v;
        if(v==pre) continue;
        dfs(v,u);
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu-4679-Terrorist’s destroy 下一篇hdu - 3660 - Alice and Bob'..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)