BZOJ5334 Tjoi2018 數學計算

2021-08-29 16:08:52 字數 1194 閱讀 6795

time limit: 10 sec  memory limit: 256 mb

submit: 234  solved: 155

小豆現在有乙個數x,初始值為1. 小豆有q次操作,操作有兩種型別: 

1 m: x = x  *  m ,輸出 x%mod;

2 pos: x = x /  第pos次操作所乘的數(保證第pos次操作一定為型別1,對於每乙個型別1 的操作至多會被除一次),輸出x%mod

一共有t組輸入(t ≤ 5)

對於每一組輸入,第一行是兩個數字q, mod(q ≤ 100000, mod  ≤ 1000000000); 

接下來q行,每一行為操作型別op,操作編號或所乘的數字m(保證所有的輸入都是合法的).

1 ≤ q ≤ 100000

對於每乙個操作,輸出一行,包含操作執行後的x%mod的值

110 1000000000

1 22 1

1 21 10

2 32 4

1 61 7

1 12

2 7212

201016

42504

84解析:

有點妙啊。

首先直接模擬維護字首積取模是不行的,因為除法不能邊除邊取模。

**:

#include using namespace std;

const int max=100010;

int n,m,t,tot,mod;

int tree[max<<2],pos[max];

inline int get_int()

inline void print(int x)

inline int mul(int a,int b)

inline void build(int root,int l,int r)

inline void add(int root,int l,int r,int pos,int x)

int mid=(l+r)>>1;

if(pos<=mid) add(root<<1,l,mid,pos,x);

else add(root<<1|1,mid+1,r,pos,x);

tree[root]=mul(tree[root<<1],tree[root<<1|1]);

}int main()

} return 0;

}

bzoj5334 Tjoi2018 數學計算

這是個悲傷的故事捂臉 噶爺爺安利了到水題,自然而然的被d飛 隊長看了一眼說他不會 然而我寫t了的時候他過來又看了下說粗略看沒啥問題 ozy一眼就說我會nlogn的 結果題意看了20分鐘沒看懂。高興的吼了起來 tkj 人家都秒了你才看懂題意 哈哈。然而我看懂題意也一眼秒啦。就是線段樹把全部記錄下來亂搞...

bzoj5334(線段樹裸題)

description 小豆現在有乙個數x,初始值為1.小豆有q次操作,操作有兩種型別 1 m x x m 輸出 x mod 2 pos x x 第pos次操作所乘的數 保證第pos次操作一定為型別1,對於每乙個型別1 的操作至多會被除一次 輸出x mod input 一共有t組輸入 t 5 對於每...

Bzoj 3175 Tjoi2013 攻擊裝置

給定乙個01矩陣,其中你可以在0的位置放置攻擊裝置。每乙個攻擊裝置 x,y 都可以按照 日 字攻擊其周圍的 8個位置 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 x 1,y 2 x 2,y 1 求在裝置互不攻擊的情況下,最多可以放置多少個裝置。第一...