優先按照它說明的方法處理陣列
然後為了讓數列中盡可能多的出現小的數字
所以1是必須要出現的,這樣才能使整個數列的排序後字典序最小。
我們思考,如果2也能在這個數列中那就最好不過了
但是2有可能不在這個數列裡,就是2在走了1就不可能走的地方的話,就不能走2了。
所以從小到大列舉數字,如果當前數字能走,就輸出,然後標記所有走了這個節點就不能走的節點。
#include#include#include#include#include#includeusing namespace std;typedef long long ll;
#define n 5010
ll seed,a,b,c,d;
int n,m,ask;
int x,y;
int arr[n*n],g[n][n];
int ans[n<<2];
bool v[n][n];
int work()
int main()
for (int i=1;i<=m;i++)
for (int j=1;j<=n;j++)
g[i][j]=arr[(i-1)*n+j];
for (int i=1;i<=m;i++)
for (int j=1;j<=n;j++)
arr[g[i][j]]=(i-1)*n+j;
for (int i=1;i<=n*m;i++)
for (int j=x-1;j;j--)
for (int k=y+1;k<=n;k++)
} }
return 0;
}
bzoj3669 NOI2014 魔法森林
給定n個點m條邊的無向圖,每條邊有兩個權值a與b。求一條1到n的路徑使得路徑經過邊的最大a與最大b的和最小。無法到達輸出 1。n 50000,m 100000。我們嘗試列舉路徑的最大a值,那麼我們只需按照a排序按順序插入,維護1到n的b最大值即可。用並查集維護連通性。當加入j到k這條邊時如果形成環,...
bzoj 3669 Noi2014 魔法森林
description 為了得到書法大家的真傳,小e同學下定決心去拜訪住在魔法森林中的隱士。魔法森林可以被看成乙個包含個n節點m條邊的無向圖,節點標號為1.n,邊標號為1.m。初始時小e同學在1號節點,隱士則住在號節點n。小e需要通過這一片魔法森林,才能夠拜訪到隱士。魔法森林中居住了一些妖怪。每當有...
NOI2014 bzoj3669 魔法森林
description 為了得到書法大家的真傳,小e同學下定決心去拜訪住在魔法森林中的隱士。魔法森林可以被看成乙個包含個n節點m條邊的無向圖,節點標號為1.n,邊標號為1.m。初始時小e同學在號節點1,隱士則住在號節點n。小e需要通過這一片魔法森林,才能夠拜訪到隱士。魔法森林中居住了一些妖怪。每當有...