bzoj3671 Noi2014 隨機數生成器

2022-08-21 13:21:09 字數 837 閱讀 2968

優先按照它說明的方法處理陣列

然後為了讓數列中盡可能多的出現小的數字

所以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需要通過這一片魔法森林,才能夠拜訪到隱士。魔法森林中居住了一些妖怪。每當有...