poj1062
经典的图论建模题;
先拿开的等级问题不看;
每个物品本身的价格就是有一个自定义源点到这个点距离;
有了A物品B物品优惠为W就代表由B到A的有向路权值为W;
最后的最小花费就是源点的点1的最短路径(酋长编号总是1);
然后我们再考虑等级问题。穷举每个点作为最高等级,相应的就可以确定哪些点不能访问,然后求最短路;
最终找一个以点i等级为最高等级的情况使源点到1的最短路径最小即可,易知时间复杂度为O(n^3);
var tree:array[..] of integer;
x,y:array[..] of longint;
a:array[..] of longint; //表示离散化乎的标号对应的区间
f:array[..] of boolean;
ff:array[..] of boolean;
i,j,k,n,t,s:longint;
procedure sort(l,r: longint);
var i,j,x,y: longint;
begin
i:=l;
j:=r;
x:=a[(l+r) div ];
repeat
while a[i]<x do inc(i);
while x<a[j] do dec(j);
if not(i>j) then
begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
inc(i);
j:=j-;
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
procedure putdown(i,p,q:longint); //传递标记
begin
if p<>q then
begin
tree[i*]:=tree[i];
tree[i*+]:=tree[i];
tree[i]:=;
end;
end;
procedure build(i,p,q,l,r,x:longint);
var m:longint;
begin
if (a[p]>=l) and (r>=a[q]) then tree[i]:=x
else begin
if tree[i]<> then putdown(i,p,q);
m:=(p+q) div ;
if l<=a[m] then
begin
build(i*,p,m,l,r,x);
end;
if r>a[m] then
begin
build(i*+,m+,q,l,r,x);
end;
end;
end;
procedure dfs(i,p,q:longint); //统计多少可见海报
var m:longint;
begin
if (tree[i]>) and not ff[tree[i]] then
begin
s:=s+;
ff[tree[i]]:=true;
end
else if (tree[i]=) and (p<>q) then
begin
m:=(p+q) div ;
dfs(i*,p,m);
dfs(i*+,m+,q);
end;
end;
begin
readln(t);
for i:= to t do
begin
k:=;
fillchar(f,sizeof(f),false);
readln(n);
for j:= to n do
begin
readln(x[j],y[j]);
if not f[x[j]] then //离散化
begin
k:=k+;
a[k]:=x[j];
f[x[j]]:=true;
end;
if not f[y[j]] then
begin
k:=k+;
a[k]:=y[j];
f[y[j]]:=true;
end;
end;
sort(,k);
fillchar(tree,sizeof(tree),);
for j:= to n do
build(,,k,x[j],y[j],j);
s:=;
fillchar(ff,sizeof(ff),false);
dfs(,,k);
writeln(s);
end;
end.
PS:千万不要以为酋长等级最高……
poj1062的更多相关文章
- POJ1062昂贵的聘礼[最短路建模]
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 45892 Accepted: 13614 Descripti ...
- POJ-1062 昂贵的聘礼---Dijkstra+枚举上界
题目链接: https://vjudge.net/problem/POJ-1062 题目大意: 中文题 思路: 1是终点,可以额外添加一个源点0,0到任意一节点的距离就是这个点的money,最终求的是 ...
- POJ1062不错的题——spfa倒向建图——枚举等级限制
POJ1062 虽然是中文题目但是还是有一定几率都不准题目意思的:1.所有可能降价的措施不是降价多少钱而是降至多少钱2.等级范围:是你所走的那一条路中所有人中最好最低等级差不允许超过limit限制 思 ...
- [poj1062]昂贵的聘礼_最短路_离散化
昂贵的聘礼 poj-1062 题目大意:原文链接?不是英文题,自己看 注释:$1\le N \le 100$. 想法:开始的想法有些过于简单,因为落下了一个条件:就是等级限制是一条路径上的任意两点而不 ...
- POJ-1062 昂贵的聘礼 有限制的最短路
题目链接:https://cn.vjudge.net/problem/POJ-1062 题意 虽然是中文题,还是简单复述一下吧 我们想要酋长的女儿作为老婆.作为交换,酋长想要点钱. 酋长提出可以用其他 ...
- POJ-1062 昂贵的聘礼 (最短路)
POJ-1062 昂贵的聘礼:http://poj.org/problem?id=1062 题意: 有一个人要到1号点花费最少的钱,他可以花费一号点对应的价格,也可以先买下其他一些点,使得费用降低. ...
- POJ-1062(原始dijiksra算法+思维)
昂贵的婚礼 POJ-1062 这道题目一开始看的时候难以理解,但是仔细想,还是可以和最短路联系的,我觉得类似于硬币交换等问题. 以下需要注意几个点,第一就是因为题目规定如何和超出了等级限制的人交易,则 ...
- poj1062 昂贵的聘礼
Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...
- poj1062昂贵的聘礼(Dijkstra**)
/* 题意: 物主有一个物品,价值为P,地位为L, 以及一系列的替代品Ti和该替代品所对应的"优惠"Vi g[u][i] 表示的是u物品被i物品替换后的优惠价格!(u>0, ...
- ACM/ICPC 之 昂贵的聘礼-最短路解法(POJ1062)
//转移为最短路问题,枚举必经每一个不小于酋长等级的人的最短路 //Time:16Ms Memory:208K #include<iostream> #include<cstring ...
随机推荐
- linux 神器之wget
1.什么是Wget? 首页,它是网络命令中最基本的.最好用的命令之一; 文字接口网页浏览器的好工具. 它(GNU Wget)是一个非交互从网上下载的自由工具(功能).它支持http.ftp.https ...
- 前端构建工具gulp入门教程
本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...
- mysql之多表查询
今天在项目中遇到一个数据库查询的问题:三张表分别放置不同的东西:分享的音频相关数据.分享的文字图片说说.分享的主题相关数据.所有分享的东西都可看做新鲜事,现在要求从这三张表将相同的几个字段的数据全部查 ...
- numpy简单入门
声明:本文大量参考https://www.dataquest.io/mission/6/getting-started-with-numpy(建议阅读原文) 读取文件 有一个名为world_alc ...
- 【信息学奥赛一本通】第三部分_队列 ex2_3produce 产生数
给出一个整数n(n<=2000)(代码可适用n<=10^31)和k个变换规则(k<=15). 规则:1.1个数字可以变换成另1个数字: 2.规则中右边的数字不能为零. BFS #in ...
- Oracle创建序列
CREATE SEQUENCE IF NOT EXISTS seq_fund_execute
- maven+mybatis-generator插件反向生成源代码
通过maven+mybatis-generator插件反向生成源代码,如有一个table表为resource,那么将自动生成这样三个文件:Resource.java类.ResourceMapper.j ...
- 查网卡信息(千M o 万M)
- BZOJ 3288 Mato矩阵 解题报告
这个题好神呀..Orz taorunz 有一个结论,这个结论感觉很优美: $$ans = \prod_{i=1}^{n}\varphi(i)$$ 至于为什么呢,大概是这样子的: 对于每个数字 $x$, ...
- PAT-乙级-1032. 挖掘机技术哪家强(20)
1032. 挖掘机技术哪家强(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 为了用事实说明挖掘机技术到底 ...