2019第十屆藍橋杯B組決賽題解第九題

2021-09-23 18:35:51 字數 1128 閱讀 4132

題意: 兩種操作,c x y,將x位置的數修改為y,q x y,查詢[x,y]之間的第8大值,y-x+1<= 8的話輸出0

思路: 區間第8大值,線段樹在時間、空間都夠了(藍橋怎麼會讓手寫主席樹。。)

每個節點儲存它管轄的這個區間的前8大值,修改的時候暴力merge,單次修改複雜度log(n)*8

查詢的時候返回含有8個值得list,並不斷merge

**:

#include#define mem(a,b) memset(a,b,sizeof(a))

using namespace std;

typedef long long ll;

const int inf = 0x3f3f3f3f;

const int maxn = 1e5+55555;

const ll mod = 998244353;

const double eps = 1e-7;

struct tree t[maxn<<2];

int l,n;

void build(int i,int l,int r)

void update(int i) else

}return ;

}void modify(int i,int pos,int val)

modify(i<<1,pos,val);

modify(i<<1|1,pos,val);

update(i);

return ;

}vectormerge(vectorans1,vectorans2) else

}return ans;

}vectorquery(int i,int l,int r)

if(t[i].l>= l&&t[i].r<= r)

return merge(query(i<<1,l,r),query(i<<1|1,l,r));

}int main() else

vectorans = query(1,x,y);

printf("%d\n",ans[7]);}}

return 0;

}

2019第十屆藍橋杯比賽總結(B組c c )

本題總分 5 分 作為籃球隊教練,你需要從以下名單中選出 1 號位至 5 號位各一名球員,組成球隊的首發陣容。每位球員擔任 1 號位至 5 號位時的評分如下表所示。請你計算首發陣容 1 號位至 5 號位的評分之和最大可能是多少?本題總分 5 分 小明用字母 a 對應數字 1,b 對應 2,以此類推,...

2019第十屆藍橋杯C C

這是我第一次參加藍橋杯比賽,比完後,有點低於預期,自己的發揮低於預期,賽事水準也低於預期。教室裡面很多同學的電腦出現問題,舉辦學校也沒有完善的應急方案,有一部分同學11點鐘才可以做題。提取碼 560f1.給20個球員擔任五個不同位置的得分,要你選五個球員組成一支球隊的最大得分。這道題要是全排列做的話...

第十屆藍橋杯B組省賽第B題

試題 b 年號字串 26進製數 問題描述 小明用字母 a 對應數字 1,b 對應 2,以此類推,用 z 對應 26。對於 27 以上的數字,小明用兩位或更長位的字串來對應,例如 aa 對應 27,ab 對 應 28,az 對應 52,lq 對應 329。include include include...