bitset
gjghfd
这个作者很懒,什么都没留下…
展开
-
bzoj4810 [ YNOI2017 ] -- 莫队+bitset
莫队。维护22个bitsetbitset,第一个记录数字是否出现,第二个是第一个翻转后的结果。那么查询差时将第一个左移xx位再与原来的andand一下;查询和时将第一个与第二个左移max−xmax-x的结果andand一下;查询积时枚举每个因数就可以了。 时间复杂度O(nn√+n232)O(n\sqrt n + {n^2 \over {32}})原创 2017-07-05 17:41:51 · 334 阅读 · 0 评论 -
bzoj3687 -- bitset优化DP
令fif_i表示子集和是ii的方案数,枚举ii,fi+=fi−aif_i+=f_{i-a_i}。 显然只有当fif_i是奇数时可以记入答案,那么fif_i就可以用bitsetbitset优化,更新时f=f xor f>>aif=f~xor~f>>a_i就可以了。代码:#include<iostream> #include<cstdio> #include<cstring> #include<alg原创 2017-07-05 17:19:52 · 301 阅读 · 0 评论 -
codeforces632F Magic Matrix -- bitset
每一行维护一个bitsetbitset记录已经出现过的列,将每个点按从小到大的顺序插入,插入ai,ja_{i,j}时判断第ii行与第jj行andand起来是否大于00就可以了。 手写bitsetbitset时间复杂度O(n364)O({n^3 \over 64})原创 2017-07-08 16:58:13 · 372 阅读 · 0 评论