这道题有趣的是,可以用二分法定位(nlogn),直接硬解,最佳方法是差分数列用前缀和来进行映射


方法一:70分解法,根据题意直接计算,结果超时:

#include <iostream>
#include <cmath>
using namespace std;
int n,N;
int main(){cin>>n>>N;int r=N/(n+1);int a[n];a[0]=0;for(int i=1;i<=n;i++){cin>>a[i];}int pos=n;int ans=0;int g;for(int i=N-1;i>=0;i--){for(pos;pos>=0;pos--){if(a[pos]<=i){g=i/r;ans+=abs(g-pos);break;}}}cout<<ans<<endl;return 0;
}

方法二:双层循环,遍历[0,N-1]分段计算

#include <iostream>
#include <cmath>
using namespace std;
int n,N;
int main(){cin>>n>>N;int r=N/(n+1);int a[100002];a[0]=0;a[n+1]=N;for(int i=1;i<=n;i++){cin>>a[i];}int num=0;int last=0;long long int ans=0;for(int i=0;i<=n;i++){//f(j)=i;for(int j=a[i];j<=a[i+1]-1;j+=num){last=((j/r)+1)*r-1;//last position whose value equals g(j)if(last>a[i+1]-1) last=a[i+1]-1;num=last-(j-1);ans+=abs(i-(j/r))*num;}}cout<<ans<<endl;return 0;
}

思路来源:https://bl【】og.csdn【】.net/q【】q_21471309/article/details【】/12329【】6864

CCF-CSP-202112-2-序列查询新解思路讲解-c++相关推荐

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

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

  2. CCF CSP 序列查询新解

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

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

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

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

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

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

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

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

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

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

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

  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. CCF CSP 201812-2 小明放学 解题思路及经验总结

    更新:多谢weixin_44714465同学指出我的错误[详见49-52行代码,已改正!].CCF CSP的OJ居然没有把这个错误检测出来,不过为了追求严谨,我们还是应该及时改正! 题目描述 试题编号 ...

最新文章

  1. dataframe重命名
  2. ES6-const注意
  3. 使用动态代理简单模拟一下spring的事务管理
  4. P2689 东南西北
  5. 新版ffmpeg PCM编码到AAC,swr_convert转换采样精度,稍微修改兼容PCM编码为G711A及MP3,记录下。
  6. 重庆一银行发生火灾 浓烟直往外窜
  7. syslog()的基本用法
  8. GNS3中不同型号路由器支持的模块表
  9. 不止代码:ybtoj-棋盘分割(二维区间dp)
  10. Java 7 –反编译项目硬币
  11. python xml etree_python xml.etree解析xml
  12. 用Python绘制棒棒糖图表,真的好看!
  13. VMware虚拟机的下载与安装(附Win10简易安装教程)
  14. [Python爬虫] 3-数据解析(lxml/bs4/正则)
  15. python爬虫实战万年历
  16. java基本语法大全(全)_Java基本语法大全(全)
  17. 教育认证有效期 有道云笔记_有道云笔记使用指南
  18. 433m的模块含义及该如何适当的选择对应的无线模块
  19. 免费建立个人网站怎么做?教你简单的方法
  20. uniapp解决H5唤醒APP

热门文章

  1. Android多线程和异步任务
  2. CactiEZ V10.1 中文版 Cacti中文 使用教程
  3. Linux 彻底删除、粉碎文件命令shred
  4. 常用的报表工具有哪些?目前最流行的报表工具?
  5. 泛微OA实施要点总结-立哥技术经验
  6. 分享全国离线地图数据
  7. 政府云计算的构建选择-刘鑫(政务云 云平台)
  8. fancybox ajax post,javascript - 将jquery fancybox显示为ajax成功
  9. Windows XP 超级140个技巧(转)
  10. 想领跑工业“F1”?我们为您带来6大“弯道超车”技巧