zoukankan      html  css  js  c++  java
  • POJ

    题目链接: POJ - 1062  昂贵的聘礼 

    要注意等级限制所以枚举可行的等级

    #include<iostream>
    #include<cstring>
    #include<vector>
    #include<queue>
    #include<cmath>
    #include<math.h>
    using namespace std;
    #define maxn 1000
    #define inf 0x3f3f3f3f
    struct ac{
      int va,lv;
      ac(){}
      ac(int b,int c){
        va=b,lv=c;
      }
    }a[maxn];
    struct wa{
      int to,va;
      wa(){}
      wa(int a,int b){
         to=a,va=b;
      }
    };
    vector<wa>q[maxn];
    int n,m;
    int dis[maxn],levl[maxn];
    bool fa[maxn],ffa[maxn];int spfa(int l,int r){
       memset(fa,0,sizeof(fa));
       memset(dis,inf,sizeof(dis));
       queue<int>qq;
       dis[1]=0;
       levl[1]=a[1].lv;
       qq.push(1);
       while(!qq.empty()){
          int u=qq.front();
          qq.pop();
          fa[u]=0;
          for(int j=0;j<q[u].size();j++){
             wa x=q[u][j];
             int i=a[x.to].lv;
             int ii=a[u].lv;
             int v=x.to;
             int va=x.va;
             if(i>=l&&i<=r){
                if(dis[v]>dis[u]+va){
                   dis[v]=dis[u]+va;
                   if(!fa[v]){
                     fa[v]=1;
                     qq.push(v);
                   }
                }
             }
    
          }
       }
       int ans=inf;
       for(int j=1;j<=m;j++){
          ans=min(dis[j]+a[j].va,ans);
       }
       return ans;
    }
    int main(){
       cin>>n>>m;
       for(int j=1;j<=m;j++){
          int va,lv,t;
          cin>>va>>lv>>t;
          a[j]=ac(va,lv);
          for(int k=0;k<t;k++){
             int a,b;
             cin>>a>>b;
             q[j].push_back(wa(a,b));
          }
       }
       int ans=inf;
       for(int j=a[1].lv-n;j<=a[1].lv;j++){
           ans=min(ans,spfa(j,j+n));
       }
       cout<<ans<<endl;
    }
    /*
    
    1 4
    10000 3 2
    2 1
    3 3
    1000 2 2
    4 1
    3 1
    1000 3 1
    4 2
    100 4 0


    105
    */
  • 相关阅读:
    1
    最大子串
    线段树
    mybatis分页插件
    springmvc下载文件
    获“领跑衫”感言
    finnal 评论 II
    用户使用报告
    事后诸葛亮会议 (尸体解剖)
    final阶段成员贡献分
  • 原文地址:https://www.cnblogs.com/Dvelpro/p/9832563.html
Copyright © 2011-2022 走看看