CF-1207 F. Remainder Problem(分块)

题目链接

题意

一共5e5个数字,两种操作:

1 x y , a[x] += y

2 x y , ∑i∈nai,n∈[1,5e5],n%x=y\sum\limits_{i\in{n}}{a_i}, n\in{[1, 5e5]}, n \% x = yi∈n∑​ai​,n∈[1,5e5],n%x=y

思路

分块5e5=707\sqrt{5e5} = 7075e5​=707

  1. 模数大于707的数字暴力求,复杂度O(n)O(\sqrt{n})O(n​)

  2. 模数小于707的记录答案,ans[x][y]ans[x][y]ans[x][y]表示模x余y的答案,每次更新一个数计算它对于707以内的模数贡献,复杂度O(n)O(\sqrt{n})O(n​)

总复杂度: O(nn)O(n\sqrt{n})O(nn​)

#include <bits/stdc++.h>
const int maxn = 5e5 + 5;
using namespace std;
long long ans[705][705], a[maxn];
int main() {int q;cin >> q;while (q--) {int op, x, y;cin >> op >> x >> y;if (op == 1) {a[x] += y;for (int i = 1; i <= 700; ++i) {ans[i][x % i] += y;}}else {if (x <= 700) cout << ans[x][y] << endl;else {int sum = 0;for (int i = y; i < maxn; i += x) {sum += a[i];}cout << sum << endl;}}}return 0;
}

CF-1207 F. Remainder Problem(分块)相关推荐

  1. CodeForces - 1207F Remainder Problem(分块)

    题目链接:点击查看 题目大意:给出一个长度为 500000500000500000 的数组,初始时全部为 000,需要执行 nnn 次操作,每次操作分为两种类型: 1xy1 \ x \ y1 x y: ...

  2. Problem F: Matrix Problem (III) : Array Practice Time Limit: 1 Sec Memory Limit: 4 MB Submit: 8787

    Problem F: Matrix Problem (III) : Array Practice Time Limit: 1 Sec  Memory Limit: 4 MB Submit: 8787  ...

  3. CF 783 F. Vlad and Unfinished Business

    原题链接: https://codeforces.com/contest/1675/problem/F 题目和18946 小美的送花线路 有相似之处.小美送花,只有把最远的结点最后送达才能用时最短. ...

  4. CF 1642 F. Two Arrays 随机 + sosdp

    文章目录 题意 思路 传送门 题意 给你nnn个长度为mmm的数组,每个数组都有一个价值wiw_iwi​,让你选出两个数组他们没有交集且价值和最大,如果没有输出−1-1−1. 2≤n≤1e5,1≤m≤ ...

  5. CF 1475 F . Unusual Matrix 思维

    传送门 大体题意:给定两个矩阵a和b,给定一个操作,这个操作可以将a矩阵任意一行或者任意一列取反,问能否将a变成b. 乍一看不是一个很难的题,但是想我这样思维不好的还是看不出来什么东西.让后看到了题解 ...

  6. cf 1504 F. Flip the Cards

    F. Flip the Cards 题意: 这个题你也可以看看,就是一个卡片正反两个数,n个卡片在桌子上摆好,你可以任意移动卡片的位置,也可以翻转卡片(翻转一次消耗1点),最终使得卡片的正面为升序,反 ...

  7. [CF 526 F] Pudding Monsters(单调栈 + 线段树)

    CF526F Pudding Monsters problem solution code problem luogu翻译 solution observation :每行每列恰好有一个棋子,所以如果 ...

  8. 2017.10.17 CF#441 F题 思考记录

    .果然没有题解做题感觉是不一样的. 这个F题可能是最像往常B题的题了(往常B题就是dp,还一般都不难) 首先这个是|,所以|的数越多,它一定是不降的 那么合法的一定是一个数到一个数往后的数所构成的所有 ...

  9. cf 1450 F The Struggling Contestant

    link 题意:给一长度为n的数组A,求以排列p满足A[pi],A[pi-1]不同,定义每一个排列的权值为abs(pi-pi-1) >1 的i的个数.输出满足条件排列的最小权值.无解输出-1 思 ...

最新文章

  1. mysql5.6.20二进制安装
  2. android 判断横竖屏的方法
  3. OpenCV Shi-Tomasi角点检测
  4. Spring中自动装配的方式有哪些?
  5. [STL]List的实现
  6. 【Java学习笔记十】输入输出流
  7. 广州科目三路考经历与注意事项分享
  8. JVM内存模型与垃圾回收GC
  9. lisp获取qleader端点_AutoLISP开发用命令
  10. [everydayNote] 今天脑子不好使
  11. Novernber Rain
  12. ZCU106开发板MIPI摄像头开发的示例程序【详细讲解】
  13. 一个很好用的移动端Lightbox特效插件(一)
  14. 旋转Kubernetes中的秘密
  15. 润乾报表简单报表制作流程(胎盘级教程)
  16. teablue数据分析_数据分析-05 数据可视化
  17. 和风天气 (简易版)
  18. ResNeXt算法详解(resnet提升篇)
  19. 读书笔记, Python - python-tricks-buffet-awesome-features
  20. 在线广告原理:从橱窗到互联网广告核心交易模式——RTB

热门文章

  1. KMP算法的nextval[] 即优化next[]
  2. 1083 矩阵取数问题
  3. C语言经典算法100例-022-乒乓球比赛名单问题
  4. 吃饱了,就来写点东西吧。讲一个真实的故事给你长自信
  5. 推荐25个非常优秀的网页表单设计案例
  6. pikachu漏洞靶机之xss漏洞post提交方式
  7. 【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识
  8. 【数据结构与算法】之深入解析二叉树的算法实现和递归套路深度实践
  9. Python将秒转换为 时分秒 的格式
  10. 征战蓝桥 —— 2013年第四届 —— C/C++A组第9题——剪格子