GDOI模擬 排列

2021-07-11 09:24:52 字數 979 閱讀 3555

給你m個對1到n的排列的特徵,特徵有兩種:

1 x y v:排列的第x個數到第y個數之間的最大值為v

2 x y v:排列的第x個數到第y個數之間的最小值為v

要求你還原出這個排列。

刷水有益身心健康。

既然是求方案,資料範圍又很小,那麼明顯的要用把點向權值連邊。

然後他每次給出範圍之後再進行刪邊。

最後,二分圖最大匹配。

#include

#include

#include

#include

#include

#define fo(i,a,b) for(i=a;i<=b;i++)

using

namespace

std;

const

int maxn=405;

int i,j,k,l,t,n,m,num,s,t,aa,b,c,dd,ans[maxn],po;

//int first[maxn],next[maxn],last[maxn],chang[maxn],fan[maxn];

int a[maxn][maxn],p[maxn],d[maxn];

bool bz[maxn];

bool bfs()}}

return d[t]!=0;

}int dinic(int x,int y)

fo(i,s,t) }}

if(l==0)d[x]=-1;

return l;

}int main()

}else

}fo(j,1,b-1)a[j][dd+n]=-100;fo(j,c+1,n)a[j][dd+n]=-100;

}while(bfs())po+=dinic(s,n);

fo(i,1,n)

}if(!az)

else

}fo(i,1,n)

}

GDOI模擬2015 08 08 排列

給定對於乙個 1 至 n的排列 的m個形如下述的約束 1,x,y,v 排列的第 x 個數到第 y個數之間最大值為v 2,x,y,v 排列的第 x 個數到第 y個數之間最小值為v 要求還原這個排列。方案可能很多,輸出一種即可。如果沒有符合要求的排列,則輸出 1。1 n 200,0 m 40000 有 ...

GDOI模擬8 21總結

今天做了cqoi2013的題。第一次5個小時做5道題 先看了半小時的題。t5是初中做過的原題,記得是處理出上下界然後暴力列舉就行了,就先打了t5,花了乙個小時搞定了t5,過了樣例和自己出的幾個資料就沒管了 沒對拍是因為我覺得資料生成器有點難搞 然後這題做法本來就是暴力 然後去看了下之前沒怎麼看懂題的...

GDOI模擬2015 08 18 解密

給定一篇由若干個單詞構成的原文,還有乙個由若干個單詞組成的句子。加密文是由原文單詞通過某個單詞 可能一樣 替換而成的,原文相同單詞一定會被相同加密文單詞替換。沒有兩個不同的原文單詞被同乙個加密文單詞替換。要求找出句子在加密文中第一次出現的位置。原文本元總和不超過 1000000 句子字元總和不超過 ...