開始有k個生物,有n個屬性
支援3種操作:
1.將兩個生物合併成乙個新的生物,所有屬性值為原來的較大值
2.將兩個生物合併成乙個新的生物,所有屬性值為原來的較小值
3.詢問i生物的第j個屬性值
n<=1e5 k<=12 q<=1e5
input
三個數 n k q分別表示屬性數,生物數以及運算元
之後k行每行n個正整數,表示生物屬性(屬於[1,1e9])
之後q行,每行3個數對應乙個操作
output
對於每次詢問輸出一行表示答案
example
input1
3 2 4
1000000000 1000000000 1
1 1000000000 1000000000
1 1 2
2 1 2
3 3 2
3 4 2
input2
1 3 232
12 1 3
3 4 1
output1
1000000000
1000000000
output2
1note
對於第乙個樣例
第三個生物屬性為1000000000 1000000000 1000000000
第四個生物屬性為1 1000000000 1
本題不能打表,記憶體會炸,只能遞迴;
一開始遞迴出了毛病wa,後來想明白了
**如下:
#include#include#include#include#include#include#include#define ll long long
#define inf 0x3f3f3f3f
#define n 100010
using namespace std;
int n,k,q;
int v[20][n];
struct ax[n];
int dfs(int a,int c)else
}int main()
}int t=k+1;
while(q--)else}}
return 0;
}
CodeForces 878 簡要題解
起床困難症候群,隨便構造一下就好了。include define xx first define yy second define mp make pair define pb push back define mset x,y memset x,y,sizeof x define mcpy x,y...
Codeforces 703D 樹狀陣列
codeforces 703d 題意 給1e6長度的區間,每個單位代表乙個數。給1e6個詢問,每次問區間內出現次數為偶數次的數異或和。思路 賽中的時候想莫隊水過去,結果pretest都沒過233 正解是樹狀陣列。首先假設是奇數次的話,就是乙個簡單字首和。現在偶數次,有乙個處理技巧就是記錄這個區間出現...
codeforces 912D 期望計算
題目鏈結 題意 在乙個n m的魚塘裡面放置k條魚,每次可以選定乙個r r的矩陣並獲得矩陣內魚的數量的分數。請問該如何在魚塘裡面放置魚,使得最後的期望得分最大。思路 直接通過列舉放置魚的位置計算期望得分明顯非常非常不現實,於是我們換一種計算思路我們去計算各點放置魚之後可以得到的期望得分,然後取前k大的...