
ACM/ICPC高维前缀和
just_sort
Acdream.
展开
-
SPOJ Time Limit Exceeded
【题目链接】点击打开链接 【题意】 【解题方法】 Wannafly的每日一题,通过这个题我学到了新的知识。就是维护如何维护高维前缀和。这个题首先不考虑c[i]的限制,我们可以想到一个dp,就是dp[i][j]表示长度为i的序列以j结尾的方案数。显然有dp[i][j] = sum(dp[i-1][k]),这里对所有满足j&k=0的k求和。 然后k & j原创 2017-01-03 19:25:32 · 802 阅读 · 0 评论 -
Codeforces Round #257 (Div. 1) D. Jzzhu and Numbers
题目链接:见这里 题意:给出n个非负的整数a[i],求选出至少一个数使得这些数按位与的结果为0的方案数。1 <= n <= 10^6,0<=a[i]<=10^6 。输出答案对1e9+7取模 解题思路,来自Wanafly每日一题。 原问题等价于给定n个包含于{0,1,2,…,19}的集合,求选出若干个集合使得它们的交为空的方案数, 直接不太好做,考虑容斥,记g[S]为选出若干个集合使得它们的交原创 2017-01-14 11:52:02 · 612 阅读 · 0 评论 -
HDU5977 Garden of Eden 树分治+高维前缀和
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5977 题意:给一个有n(1 解法:树分治+高维前缀和,暴力枚举就超时了,但是只要知道高维前缀和以及枚举子集的相关知识,就能用O(k*(1 //高维前缀和+树分治 #include using namespace std; typedef long long LL;原创 2017-10-02 15:56:22 · 402 阅读 · 0 评论