本菜雞還是太菜了,看了半天別人的題解發現理解錯題目意思了,題目的等級是這樣規定的如果你的等級是x,最大差值k,那麼你可以交易的人的等級就在【x-k,x+k】之間,其他等級都不可以,然後因為你沒有等級限制,那麼就特別難搞,我們就列舉假設和我們交換的人的最低等級,但是最低等級+m要包含酋長的等級所以最低等級就是在[rank[1]-m,rank[1]];然後就是**了
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long long
#define ms(a,b) memset(a,b,sizeof(a))
#define lowbit(x) x & -x
#define fi first
#define se second
#define bug cout<<"----acac----"<#define ios ios::sync_with_stdio(false), cin.tie(0),cout.tie(0)
using
namespace std;
const
int maxn =
1e5+50;
const
int maxm =
1.5e5+50
;const
double eps =
1e-7
;const
double inf =
0x3f3f3f3f
;const ll lnf =
0x3f3f3f3f3f3f3f3f
;const
int mod =
1e9+7;
const
double pi=
3.141592653589
;int rank1[
105]
,dis[
105]
,vis[
105]
,head[
105]
;int n,m,cnt;
struct node
a[100005];
void
add(
int u,
int v,
int val)
struct point
bool
operator
<
(const point &x)
const};
void
dij(
int s,
int k)
priority_queueq;
dis[s]=0
; q.
push
(point
(s,0))
;while
(!q.
empty()
)}}}
intmain()
}int ans=inf;
for(
int i=rank1[1]
-m;i<=rank1[1]
;i++
)printf
("%d\n"
,ans)
;return0;
}
POJ 1062 昂貴的聘禮 最短路 超級源點
年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,那麼只要5000金幣就行...
M 昂貴的聘禮(SPFA)
年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,那麼只要5000金幣就行...
加超級源點的Kruskal演算法
東東在老家農村無聊,想種田。農田有 n 塊,編號從 1 n。種田要灌氵 眾所周知東東是乙個魔法師,他可以消耗一定的 mp 在一塊田上施展魔法,使得黃河之水天上來。他也可以消耗一定的 mp 在兩塊田的渠上建立傳送門,使得這塊田引用那塊有水的田的水。1 n 3e2 黃河之水天上來的消耗是 wi,i 是農...