POJ 1062 dij
一道读题读的不明所以的题...
每个人只能接受和自己等级差距不超过m的人进行交易 包括间接交易
所以我们可以枚举每一个长度为m的围绕着酋长的等级区间 每次都对这个等级区间内的人进行操作 求dis[1]
在这里的建图方式是很难得的灵光一现呢..
将0点作为源点 每一个物品的本身直接购买的价值设为初始值 对它们进行所给等级区间允许内的松弛操作 找出其中最小的dis[1]
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<math.h>
#include<queue>
#include<iostream>
using namespace std;
int m,n;
int dis[105];
int a[105];
struct node
{
int v;
int nex;
int w;
};
node b[30050];
int point [105];
int level[105];
bool vis[105];
int cnt;
void init()
{
cnt=0;
for(int i=1; i<=n; i++)
point[i]=-1;
for(int i=1; i<=n; i++)
vis[i]=true;
}
void add(int u,int v,int w)
{
b[cnt].v=v;
b[cnt].w=w;
b[cnt].nex=point[u];
point[u]=cnt;
cnt++;
}
void dij(int l,int r)
{
for(int i=1; i<=n; i++)
{
int p=-1;
int minn=999999999;
for(int k=1; k<=n; k++)
{
if(vis[k]&&minn>dis[k])
{
minn=dis[k];
p=k;
}
}
if(p==-1)
return ;
vis[p]=false;
for(int tt=point[p]; tt!=-1; tt=b[tt].nex)
{
int v=b[tt].v;
int w=b[tt].w;
if(level[v]>=l&&level[v]<=r&&level[p]>=l&&level[p]<=r&&vis[v])
{
if(dis[v]>w+dis[p])
{
dis[v]=dis[p]+w;
}
}
}
}
}
int main()
{
while(~scanf("%d%d",&m,&n))
{
init();
for(int i=1; i<=n; i++)
{
int p;
int l,x;
scanf("%d%d%d",&p,&l,&x);
level[i]=l;
a[i]=p;
for(int k=1; k<=x; k++)
{
int d;
int w;
scanf("%d%d",&d,&w);
add(d,i,w);
}
}
for(int i=1; i<=n; i++)
dis[i]=a[i];
int ans=999999999;
for(int l=level[1]-m; l<=level[1]; l++)
{
int r=l+m;
for(int i=1; i<=n; i++)
vis[i]=true;
for(int i=1; i<=n; i++)
dis[i]=a[i];
dij(l,r);
if(ans>dis[1])
ans=dis[1];
}
printf("%d\n",ans);
}
}
POJ 1062 dij的更多相关文章
- POJ 1062 昂贵的聘礼
C - 昂贵的聘礼 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit St ...
- 最短路(Dijkstra) POJ 1062 昂贵的聘礼
题目传送门 /* 最短路:Dijkstra算法,首先依照等级差距枚举“删除”某些点,即used,然后分别从该点出发生成最短路 更新每个点的最短路的最小值 注意:国王的等级不一定是最高的:) */ #i ...
- POJ 1062 昂贵的聘礼(图论,最短路径)
POJ 1062 昂贵的聘礼(图论,最短路径) Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女 ...
- 最短路POJ 1062 昂贵的聘礼
C - 昂贵的聘礼 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit St ...
- POJ 1062 昂贵的聘礼(dij+邻接矩阵)
( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<cstring> #include<cstd ...
- (最短路 dijkstra)昂贵的聘礼 -- poj -- 1062
链接: http://poj.org/problem?id=1062 昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions ...
- POJ 1062 限制点
http://poj.org/problem?id=1062 昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 50 ...
- POJ 1062 ( dijkstra )
http://poj.org/problem?id=1062 一个中文题,一个多月之前我做过,当时我是用搜索写的,不过苦于卡在无法确定等级关系,所以就错了. 看了别人的博客后,我还是不是很理解所谓的枚 ...
- POJ 1062 昂贵的聘礼 最短路 难度:0
http://poj.org/problem?id=1062 #include <iostream> #include <cstring> #include <queue ...
随机推荐
- HybridApp iOS ATS解决方案
苹果在最近的一次WWDC上提出将在2017年1月1日起强制我们用HTTPS,否则提交App可能会被拒绝.很多ios应用的已经放出支持HTTPS的SDK了.本文主要针对混合式IOS应用提供相关的解决方案 ...
- p188习题2
- 烟大 Contest1024 - 《挑战编程》第一章:入门 Problem A: The 3n + 1 problem(水题)
Problem A: The 3n + 1 problem Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 14 Solved: 6[Submit][St ...
- html select 下拉箭头隐藏
html select 下拉箭头隐藏 <!DOCTYPE html> <html> <head lang="en"> <meta char ...
- 自动、手动同步FishEye, JIRA的联系人信息
背景:在将FishEye和JIRA配置成共用用户信息,并且可以在二者之间自由切换,此时FishEye里的用户信息是不能更改的,只有更新了JIRA,然后让其同步至FishEye才行,如何进行设置呢? 答 ...
- TypeScript的崛起
今天要讨论的话题是TypeScript.之前在微博上转载过一篇<The Rise of TypeScript?>的文章,今天来谈一下我的感想. 很多朋友应该都了解,TypeScript是微 ...
- Java封装自己的Api
转自:http://www.2cto.com/kf/201404/291555.html 随着学习的深入,我们都想封装自己的Api,但对于新手这并不是一件简单容易的事! 我要达到的效果:自己封装一些方 ...
- BLUEZ测试报告
测试小分队介绍: 马辰,李孟,罗凡 测试任务分类 帮助类 战斗类 道具类 敌军类 英雄类 地图类 AboutScene.h AchieveLayers.h GameLoading.h GameOver ...
- HDU 1796 How many integers can you find 容斥入门
How many integers can you find Problem Description Now you get a number N, and a M-integers set, y ...
- Adapter适配器
1.概念 *连接后端数据和前端显示的适配器接口 *数据和UI之间的重要连接 2. ArrayAdapter ArrayAdapter构造器如下: ArrayAdapter(Context con ...