当前位置: 首页 > news >正文

SCUT - 37 - 手速帝CZK - 分块

https://scut.online/p/37

一开始想到要根号分块预处理,但是不太懂具体怎么写。想不到如此暴力。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 300000;

//预留长出来的600
ll a[MAXN + 800 + 5];
ll res[MAXN + 800 + 5];
ll ans[MAXN + 800 + 5];

struct Query {
    int x, y, id;
} q;
vector<Query>v[800 + 5];

int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; ++i)
        scanf("%lld", &a[i]);
    int block = (int)sqrt(n) + 200;
    for(int i = 1, x, y; i <= m; ++i) {
        scanf("%d%d", &x, &y);
        if(y > block) {
            //长度比较长,直接暴力统计
            for(int j = x; j <= n; j += y)
                ans[i] += a[j];
        } else {
            q.x = x, q.y = y, q.id = i;
            v[y].push_back(q);
        }
    }
    for(int y = block; y >= 1; --y) {
        for(int i = n; i >= 0; --i) {
            //暴力统计后缀和
            res[i] = a[i] + res[i + y];
        }
        int len = v[y].size();
        for(int i = 0; i < len; ++i)
            ans[v[y][i].id] = res[v[y][i].x];
    }
    for(int i = 1; i <= m; ++i)
        printf("%lld\n", ans[i]);
}

转载于:https://www.cnblogs.com/Yinku/p/11298490.html

相关文章:

  • HDU 1166 敌兵布阵
  • babel
  • 转载 对于struct file_operations中ioctl消失的学习笔记
  • SCUT - 77 - 哈利波特与他的魔法杖
  • 圆满完成 中大 《性能测试与LoadRunner应用》 实战训练课!
  • 利用vi编辑器创建和编辑正文文件
  • c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
  • Simulation of AVL Trees (DYNAMIC)
  • hive中function函数查询
  • 更改Windwos server 2003 域用户密码策略默认配置
  • SCUT - 38 - 屠场的秘密 - 分解
  • 0 or 1 ?
  • 今天去面试.net开发,感想
  • fortinate防火墙使用本地用户三步开通PPTP ***
  • SCUT - 153 - 小马哥和他的山脉 - 线段树
  • __proto__ 和 prototype的关系
  • Android Volley源码解析
  • Java|序列化异常StreamCorruptedException的解决方法
  • Laravel 菜鸟晋级之路
  • oschina
  • Redux 中间件分析
  • 安卓应用性能调试和优化经验分享
  • 初识 webpack
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 服务器从安装到部署全过程(二)
  • 记录:CentOS7.2配置LNMP环境记录
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 数据仓库的几种建模方法
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 用jQuery怎么做到前后端分离
  • #14vue3生成表单并跳转到外部地址的方式
  • #宝哥教你#查看jquery绑定的事件函数
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (02)vite环境变量配置
  • (day6) 319. 灯泡开关
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (安卓)跳转应用市场APP详情页的方式
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二)WCF的Binding模型
  • (附源码)ssm高校实验室 毕业设计 800008
  • (接口封装)
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)EOS中账户、钱包和密钥的关系
  • **CI中自动类加载的用法总结
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .bat批处理(一):@echo off
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .Net Remoting常用部署结构
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET 中创建支持集合初始化器的类型
  • .NET导入Excel数据