P3674 小清新人渣的本願 莫隊 bitset

2022-03-30 06:42:56 字數 850 閱讀 9891

ennmm...bitset能過系列。

莫隊+bitset \(\mathcal(m\sqrt n + \frac)\)

維護乙個正向的bitset mem,再維護乙個反向的bitset mem1,即mem1[n-x]=mem[x];

對於 \(-\) 直接mem&mem<\(x\) 的兩個點 與 一下

對於 \(+\) 直接mem&mem1<<(n-x)因為原來mem[i]代表i,mem1[i]代表n-i,所以沒有位移時對應位置 與 一下就是是否存在兩個數加起來 \(= n\)

對於 \(\times\) 暴力列舉約數即可。

#include#include#include#include#include#include#include#define r register int

using namespace std;

namespace luitaryi const int n=100005;

int n,m,b,mx,a[n],c[n],pos[n];

bool ans[n];

struct node

inline void sub(int x)

inline bool cadd(int x)

inline bool csub(int x) for(r i=1;i<=m;++i) puts(ans[i]?"hana":"bi");

}} signed main()

2019.11.22

P3674 小清新人渣的本願 莫隊 bitset

p3674 小清新人渣的本願 bitset 100005 now1,now2 一鍵了解bitset now1每一位表示第i位是否存在,now2 表示 maxn i位是否存在 1.差為x now1左移 x 位和now1做按位與 存在乙個 1 則 存在 2.和為x now1第 i 位存在,則值為 i 存...

洛谷P3674 小清新人渣的本願

題意 多次詢問,區間內是否存在兩個數,使得它們的和為x,差為x,積為x。n,m,v 100000 解 毒瘤bitset.假如我們有詢問區間的乙個桶,那麼我們就可以做到o n 列舉查詢了。然後我們用bitset優化一下.外面套上莫隊來維護桶。具體來說,差為x可以寫成 a b x 然後我們把bitset...

洛谷P3674 小清新人渣的本願

給定序列a,長度為n,有m次操作,opt表示該次操作型別,l,r表示操作的區間,x表示這次操作的x 選出的這兩個數可以是同乙個位置的數。定義c為每次的x和ai中的最大值,ai 0,每次的x 2。n,m,c 100000 前置技能 思路 對於此類離線的序列問題,想到莫隊演算法,時間複雜度為 o n s...