給你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 句子字元總和不超過 ...