輸入格式
第一行包含乙個正整數n和乙個正整數m,意思如題所述。
接下來m行,每行兩個整數ui,vi,表示乙個限制條件。
輸出格式
輸出一行,表示 wjj 需要付出的最大代價。
樣例輸入
3 13 1樣例輸出 6
提示資料範圍
對於30%的資料,滿足1≤n,m≤100。
對於100%的資料,滿足1≤n,m≤10^5。
樣例解釋
題目要求要乙個 1,2,3 的排列,並且限制條件為(3,1)。
符合要求的排列為(3,1,2), (3,2,1),(2,3,1)。
(3,1,2)中,b1=3,b2=1,b3=1。所以代價為3+1+1=5。
(3,2,1)中,b1=3,b2=2,b3=1。所以代價為3+2+1=6。
(2,3,1)中,b1=2,b2=2,b3=1。所以代價為2+2+1=5。
#include#include#include#includeusing namespace std;
const int maxn=100005;
int n,m,du[maxn],f[maxn],cnt,next[maxn<<1],end[maxn<<1],last[maxn];
inline void _read(int &x)
for(x=0;t>='0'&&t<='9';t=getchar())x=x*10+t-'0';
if(!sign)x=-x;
}long long ans=0;
priority_queueq;
vectors;
void insert(int a,int b)
int main()
for(i=1;i<=n;i++)
if(du[i]==0)
q.push(i);
s.push_back(0);
while(!q.empty())
} x=maxn;
for(i=1;i
撲克序列 (排列)
a a 2 2 3 3 4 4,一共4對撲克牌。請你把它們排成一行。要求 兩個a中間有1張牌,兩個2之間有2張牌,兩個3之間有3張牌,兩個4之間有4張牌。請填寫出所有符合要求的排列中,字典序最小的那個。例如 22aa3344 比 a2a23344 字典序小。當然,它們都不是滿足要求的答案。請通過瀏覽...
求序列的全排列演算法
所謂全排列,就是將集合中元素的所有排列情況依次輸出。比如的全排列為 123 132 213 231 312 321,共6種,滿足計算公式n n為集合中元素個數,不重複 當元素不重複時,全排列採用遞迴思想較容易實現,它的遞迴公式推導步驟類似 1 要求得123的全排列,只需求得 1並上23的全排列 1 ...
C 實現序列的全排列
c stl中提供了std next permutation與std prev permutation可以獲取數字或者是字元的全排列,每次函式呼叫獲取下一次排列結果。嘗試自己也實現了一下,功能跟庫函式不同。include using namespace std void output char buf...