hdu3991 Harry Potter and the Present II

如果一个完成一个请求之后,可以继续完成下一个请求,那两个请求的所隔时间必须要大于等于两个节点之间的最短路径。先求出最短路径,然后以请求为节点建有向图,那么这个图的最小路径覆盖就是所求的答案。

一开始路径长度上限开太大都快t成sb了。。。

#include
   
   
    
    
#include
    
    
     
     
#include
     
     
      
      
#include
      
      
       
       
#include
       
       
         using namespace std; #define clr(a) memset(a,0,sizeof(a)) typedef long long ll; const ll up=LLONG_MAX>>6; struct edg{int v,nx;}gp[500010]; struct bi{int q;ll t;}qi[1010]; bool bimp(const bi&a,const bi&b){return a.t 
        
          =dmt[qi[i].q][qi[j].q]) psh(i,j); } return q-hry(); }; int main(){ #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif int t,f;scanf("%d",&f); for(t=1;t<=f;printf("Case %d: %d\n",t++,solve()-1)); return 0; }; 
         
       
      
      
     
     
    
    
   
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值