題目:
原來256m是可以開兩個3e7的陣列的;
因為答案只有 n+m-1 個數,所以暴力判斷能否放即可,不用線段樹;
然而 o(n) 判斷 o(1) 修改和 o(1) 判斷 o(n) 修改是不同的。呵呵。
**如下:
#include#include#include
using
namespace
std;
typedef
long
long
ll;int
const xn=5005,xxn=25000005,xm=5e4+5
;int
n,m,t[xxn],ps[xxn],mn[xn],mx[xn];
intrd()
while(ch>='
0'&&ch<='
9')ret=ret*10+ch-'
0',ch=getchar();
return f?ret:-ret;
}int mnn(int x,int y)
int mxx(int x,int y)
intmain()
for(int i=1,u,v;i<=q;i++)u=rd(),v=rd(),swap(t[u],t[v]);
for(int i=1;i<=n*m;i++)ps[t[i]]=i;
for(int i=1;i<=m;i++)mn[i]=1,mx[i]=n;
int num=0;
for(int i=1,x,y;i<=n*m;i++)
puts(
"");
return0;
}
隨機數生成器
標頭檔案 內容 rand,srand函式和rand max常量 rand max 在windows系統中為32767 在類unix系統中為2147483647 rand 函式返回乙個0 rand max的隨機整數 srand seed 函式 接受unsigned int 型別的引數seed,以see...
Bzoj2875 隨機數生成器
題目描述 棟棟最近迷上了隨機演算法,而隨機數是生成隨機演算法的基礎。棟棟準備使用線性同餘法 linear congruential method 來生成乙個隨機數列,這種方法需要設定四個非負整數引數m,a,c,x 0 按照下面的公式生成出一系列隨機數 x n 1 ax n c mod m用這種方法生...
bzoj3671 Noi2014 隨機數生成器
優先按照它說明的方法處理陣列 然後為了讓數列中盡可能多的出現小的數字 所以1是必須要出現的,這樣才能使整個數列的排序後字典序最小。我們思考,如果2也能在這個數列中那就最好不過了 但是2有可能不在這個數列裡,就是2在走了1就不可能走的地方的話,就不能走2了。所以從小到大列舉數字,如果當前數字能走,就輸...