UOJ 267 [清华集训2016]魔法小程序
2017-03-06 17:13
351 查看
前缀和
非常认真地观察代码之后我们会发现实际上这是一个多维前缀和问题,c就记录前缀和。考虑前缀和的逆操作,即可复原出原数组。
提示:k维前缀和可以看作k-1维前缀和的前缀和,从而递归下去
非常认真地观察代码之后我们会发现实际上这是一个多维前缀和问题,c就记录前缀和。考虑前缀和的逆操作,即可复原出原数组。
提示:k维前缀和可以看作k-1维前缀和的前缀和,从而递归下去
#include<cstdio> #define R register #define N 1000005 using namespace std; namespace runzhe2000 { typedef long long ll; inline ll read() { R ll r = 0; R char c = getchar(); R bool p = 0; for(; c < '0' || c > '9'; c = getchar()) c == '-' ? p = 1 : 0; for(; c >='0' && c <='9'; r = r*10+c-'0', c = getchar()); return p?-r:r; } int n, m, a , tmpa ; int c , pre ; void main() { n = read(); R int tmpn = 0; for(R int i = 0; i < n; i++) { R int v = read(); tmpa[tmpn++] = v; if(v == 1) {n--; i--; continue;} else a[i] = v; } m = read(); a[n++] = 2000000000;// fuck for(R int i = 0; i < m; i++) c[i] = read(); pre[0] = 1; for(R int i = 1; i < n; i++) if((pre[i] = (ll)a[i-1] * pre[i-1]) > m) {n = i; break;} for(R int j = 0; j < n; j++) { R int aj = a[j], pj = pre[j], *d = c - pj, zzakx = m%pj, ygakg = m/pj%aj; for(R int i = m-1; i >= 0; --i) { (zzakx ? --zzakx : (zzakx = pj - 1, ygakg ? --ygakg : ygakg = aj - 1)); ygakg ? c[i] -= d[i] : 0; } } printf("%d\n",tmpn); for(R int i = 0; i < tmpn; i++) printf("%d ",tmpa[i]); puts(""); printf("%d\n",m); for(R int i = 0; i < m; i++) printf("%d ",c[i]); puts(""); } } int main() { runzhe2000::main(); }
相关文章推荐
- UOJ#267 BZOJ4731【清华集训2016】魔法小程序
- 【清华集训2016】魔法小程序
- uoj275. 【清华集训2016】组合数问题
- UOJ272 [清华集训2016] 石家庄的工人阶级队伍比较坚强 【分治乘法】
- 清华集训魔法小程序
- 【BZOJ 4734】【UOJ 269】【清华集训2016】 如何优雅地求和
- UOJ#272. 【清华集训2016】石家庄的工人阶级队伍比较坚强
- 【UOJ】#273. 【清华集训2016】你的生命已如风中残烛
- UOJ#274. 【清华集训2016】温暖会指引我们前行
- UOJ 274 【清华集训2016】温暖会指引我们前行 ——Link-Cut Tree
- UOJ268 [清华集训2016] 数据交互 【动态DP】【堆】【树链剖分】【线段树】
- uoj 279: [清华集训2016]温暖会指引我们前行
- uoj#272. 【清华集训2016】石家庄的工人阶级队伍比较坚强
- uoj#274. 【清华集训2016】温暖会指引我们前行 //LCT
- uoj#274. 【清华集训2016】温暖会指引我们前行
- UOJ #274. 【清华集训2016】温暖会指引我们前行 [lct]
- UOJ276 [清华集训2016] 汽水 【二分答案】【点分治】【树状数组】
- UOJ_274_[清华集训2016]温暖会指引我们前行_LCT
- UOJ274 [清华集训2016] 温暖会指引我们前行 【LCT】【最大生成树】
- bzoj 3816&&uoj #41. [清华集训2014]矩阵变换