问题描述:

解题思路:

解题代码:C++11代码

#include <bits/stdc++.h>
using namespace std;long long h(long long i, long long r) { //求g(i)的前缀和h(i)if (i < 0) return 0;else return r * ((i + 1) / r - 1) * ((i + 1) / r) / 2 + (i + 1) % r * (i / r);
}long long cal(long long fi, long long lft, long long rgt, long long r) { //给定一个f(i),计算区间里的|g(i)-f(i)|之和,前提是g(i)全部小于等于或者全部大于等于f(i)return abs(h(rgt, r) - h(lft - 1, r) - fi * (rgt - lft + 1));
}int main()
{long long n, N, t;cin >> n >> N;vector<long long> a = {0};for (int i = 0; i < n; ++i) {cin >> t;a.push_back(t);}a.push_back(N);long long r = N / (n + 1), ans = 0;for (long long fi = 0; fi <= n; ++fi) { //遍历每个f(i)long long lft = a[fi], rgt = a[fi + 1] - 1;if (lft / r >= fi || rgt / r <= fi) ans += cal(fi, lft, rgt, r); //如果区间内g(i)全部小于等于或者全部大于等于f(i),直接使用cal函数else ans += cal(fi, lft, r * fi, r) + cal(fi, r * fi + 1, rgt, r); //否则将区间分成两半,分别使用cal函数}cout << ans << endl;return 0;
}

CCF202112-2 序列查询新解相关推荐

  1. CCF CSP202112-2 序列查询新解

    CCF CSP202112-2 序列查询新解 题目背景 上一题"序列查询"中说道: A=[A0,A1,A2,⋯,An]A=[A_0,A_1,A_2,⋯,A_n]A=[A0​,A1​ ...

  2. ~5 ccf 2021-12-2 序列查询新解

    序列查询新解 题目描述 输入 输出 样例输入 样例输出 子任务 源代码 关于这题 题目描述 输入 输出 样例输入 样例1 3 10 2 5 8 样例2 9 10 1 2 3 4 5 6 7 8 9 样 ...

  3. CCF CSP 序列查询新解

    CCF CSP 序列查询新解(C语言) 题目背景 上一题"序列查询"中说道: A=[A0,A1,A2,⋯,An] 是一个由 n+1 个 [0,N) 范围内整数组成的序列,满足 0= ...

  4. CSP CCF: 202112-2 序列查询新解 (C++)

    题目链接:计算机软件能力认证考试系统 试题编号: 202112-2 试题名称: 序列查询新解 时间限制: 1.0s 内存限制: 512.0MB 题目背景 上一题"序列查询"中说道: ...

  5. CCF-CSP-202112-2:序列查询新解(C++11题解)

    文章目录 问题描述 解题思路 AC代码 问题描述 题目来源:CCF-CSP-202112-2:序列查询新解 解题思路 思路稍后再补. AC代码 PA了一次,是因为没开long long #includ ...

  6. CCF-CSP 202112-2 序列查询新解

    题目:序列查询新解 思路:在f区间内划分g区间,注意g区间左端点的定值,不断移动g区间(长度都为r),当g区间末端点超出f的范围,进入下一个f循环 #include<bits/stdc++.h& ...

  7. CCF 202112-2 序列查询新解 python 满分

    CCF 202112-2 序列查询新解 python 满分 题目叙述 问题描述:略 输入格式:略 输出格式:略 样例 满分证明 解题思路 01Python超时70分 02满分python思路 第一,计 ...

  8. CCF CSP 202112-2 序列查询新解

    单纯地讲思路有些难懂,这里结合一个实际例子来说明: 我们假设A = {0,1,3},n = 2,N = 10,r = 10 / (2 + 1) = 3. i 0 1 2 3 4 5 6 7 8 9 f ...

  9. csp202112-2:序列查询新解 题解

    题目 样例 思路: 前缀和思想 观察f(x)f(x)f(x)和g(x)g(x)g(x)的序列,其实是有规律的: f(x)f(x)f(x)在每个A[i]A[i]A[i]处+1+1+1,在[A[i],A[ ...

最新文章

  1. 02 数据类型 (向量 数据框 矩阵和列表
  2. tensorflow.transpose() 举例
  3. 简单的多显示器解决方案
  4. mysql 性能日志_Mysql系列(十一)—— 性能分析慢查询日志
  5. 阮一峰es6电子书_ES6理解进阶【大前端高薪训练营】
  6. python 读取文件_python读取docx文件,就是如此简单
  7. MySQL创建数据库与创建用户以及授权
  8. 国产自主可控的形式化验证代码自动生成工具ModelCoder可替代Matlab/Sumlink
  9. 外媒:美国做空机构浑水放弃做空特斯拉
  10. 给Repeater、Datalist和Datagrid增加自动编号
  11. Spark on yarn 动态资源配置
  12. linux系统编程:自己动手写一个ls命令
  13. 为 SmartDNS 配置广告过滤
  14. prometheus实战(一) 原理介绍
  15. DVWA下载、安装、使用(漏洞测试环境搭建)教程
  16. 《Speech and Language Processing》读书笔记——语法规则及其解析
  17. 图像配准(匹配)与变化检测
  18. 基于java/php/python的毕业设计管理系统开题报告
  19. 嵌入式教程:什么是嵌入式?
  20. 米家扫地机器人是石头代工_石头扫地机器人T6悬崖检测及障碍翻越功能体验:这都不会掉?...

热门文章

  1. 数字频率计的verilog实现
  2. 开源开发工具_3个开源行为驱动的开发工具
  3. 中国新时代贡献人物_关于如何鼓励新贡献者的8个新博客文章
  4. 开源机器人操作系统—ros_九美元计算机,机器人操作系统和更多开源新闻
  5. 2019年南大计算机开放日_开放式硬件计算机年
  6. apache web_Web发明家预测文化将发生变化,Apache推动一半的互联网发展,等等
  7. 使用 | Java使用WebMagic 爬取网站
  8. 学习 | egg.js 中间件和插件
  9. SpringBoot 实现Session共享
  10. 休息是为了更好的出发