清华集训魔法小程序
2018-02-16 22:21
288 查看
多维前缀和的逆运算,只需要对于每一位减除其在这一位上的前缀接收点的答案就可以了。
我们考虑要减去至少有一位不一样的,那我们考虑最后一位是哪一位,然后减除贡献之后多余的贡献就不要计算了。
代码:
我们考虑要减去至少有一位不一样的,那我们考虑最后一位是哪一位,然后减除贡献之后多余的贡献就不要计算了。
代码:
#include <bits/stdc++.h> using namespace std; const int N = 1111111; #define int long long int n , m , x , y , a , c , s = 1; main(void) { for(int i = scanf("%lld" , &n) * printf("%lld\n" , n) * 0;i < n;++ i) scanf("%lld" , &a[i]) , printf("%lld " , a[i]); for(int i = scanf("%lld" , &m) * printf("\n%lld\n" , m) * 0;i < m;++ i) scanf("%lld" , &c[i]); a[n ++] = m; for(int i = 0;i < n;++ i) if(a[i] - 1) { for(int j = m - 1;j >= 0;-- j) if(j % (s * a[i]) >= s) c[j] -= c[j - s]; s *= a[i]; if(s >= m) break; } for(int i = 0;i < m;++ i) printf("%lld " , c[i]); }
相关文章推荐
- 【清华集训2016】魔法小程序
- UOJ 267 [清华集训2016]魔法小程序
- UOJ#267 BZOJ4731【清华集训2016】魔法小程序
- jzoj3542 【清华集训2014】冒泡排序 (又是性质+半构造)
- loj#2323. 「清华集训 2017」小 Y 和地铁(暴搜+树状数组)
- #164. 【清华集训2015】V
- [BZOJ3585][清华集训2014]mex 主席树
- hdu 4545 魔法串 2013金山西山居创意游戏程序挑战赛——初赛(1)
- 清华集训2014 day1 task1 玛里苟斯
- 5296. 【清华集训2017模拟】Sequence 树套树
- 【JZOJ5316】【清华集训2017模拟8.19】merge
- uoj#272. 【清华集训2016】石家庄的工人阶级队伍比较坚强
- uoj 41 【清华集训2014】矩阵变换 婚姻稳定问题
- 【题解】清华集训-2012 模积和
- 【清华集训2017模拟12.09】Tree
- 2016清华集训滚粗记
- 【清华集训2017模拟】Catalan
- [LOJ2321][清华集训2017]无限之环-最小费用最大流
- uoj#158. 【清华集训2015】静态仙人掌
- 【清华集训2014】mex