CCF-CSP-202112-2-序列查询新解思路讲解-c++
这道题有趣的是,可以用二分法定位(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++相关推荐
- CCF-CSP 202112-2 序列查询新解
题目:序列查询新解 思路:在f区间内划分g区间,注意g区间左端点的定值,不断移动g区间(长度都为r),当g区间末端点超出f的范围,进入下一个f循环 #include<bits/stdc++.h& ...
- CCF CSP 序列查询新解
CCF CSP 序列查询新解(C语言) 题目背景 上一题"序列查询"中说道: A=[A0,A1,A2,⋯,An] 是一个由 n+1 个 [0,N) 范围内整数组成的序列,满足 0= ...
- CSP CCF: 202112-2 序列查询新解 (C++)
题目链接:计算机软件能力认证考试系统 试题编号: 202112-2 试题名称: 序列查询新解 时间限制: 1.0s 内存限制: 512.0MB 题目背景 上一题"序列查询"中说道: ...
- CCF 202112-2 序列查询新解 python 满分
CCF 202112-2 序列查询新解 python 满分 题目叙述 问题描述:略 输入格式:略 输出格式:略 样例 满分证明 解题思路 01Python超时70分 02满分python思路 第一,计 ...
- CCF CSP202112-2 序列查询新解
CCF CSP202112-2 序列查询新解 题目背景 上一题"序列查询"中说道: A=[A0,A1,A2,⋯,An]A=[A_0,A_1,A_2,⋯,A_n]A=[A0,A1 ...
- ~5 ccf 2021-12-2 序列查询新解
序列查询新解 题目描述 输入 输出 样例输入 样例输出 子任务 源代码 关于这题 题目描述 输入 输出 样例输入 样例1 3 10 2 5 8 样例2 9 10 1 2 3 4 5 6 7 8 9 样 ...
- CCF-CSP-202112-2:序列查询新解(C++11题解)
文章目录 问题描述 解题思路 AC代码 问题描述 题目来源:CCF-CSP-202112-2:序列查询新解 解题思路 思路稍后再补. AC代码 PA了一次,是因为没开long long #includ ...
- 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 ...
- CCF CSP 201812-2 小明放学 解题思路及经验总结
更新:多谢weixin_44714465同学指出我的错误[详见49-52行代码,已改正!].CCF CSP的OJ居然没有把这个错误检测出来,不过为了追求严谨,我们还是应该及时改正! 题目描述 试题编号 ...
最新文章
- dataframe重命名
- ES6-const注意
- 使用动态代理简单模拟一下spring的事务管理
- P2689 东南西北
- 新版ffmpeg PCM编码到AAC,swr_convert转换采样精度,稍微修改兼容PCM编码为G711A及MP3,记录下。
- 重庆一银行发生火灾 浓烟直往外窜
- syslog()的基本用法
- GNS3中不同型号路由器支持的模块表
- 不止代码:ybtoj-棋盘分割(二维区间dp)
- Java 7 –反编译项目硬币
- python xml etree_python xml.etree解析xml
- 用Python绘制棒棒糖图表,真的好看!
- VMware虚拟机的下载与安装(附Win10简易安装教程)
- [Python爬虫] 3-数据解析(lxml/bs4/正则)
- python爬虫实战万年历
- java基本语法大全(全)_Java基本语法大全(全)
- 教育认证有效期 有道云笔记_有道云笔记使用指南
- 433m的模块含义及该如何适当的选择对应的无线模块
- 免费建立个人网站怎么做?教你简单的方法
- uniapp解决H5唤醒APP
热门文章
- Android多线程和异步任务
- CactiEZ V10.1 中文版 Cacti中文 使用教程
- Linux 彻底删除、粉碎文件命令shred
- 常用的报表工具有哪些?目前最流行的报表工具?
- 泛微OA实施要点总结-立哥技术经验
- 分享全国离线地图数据
- 政府云计算的构建选择-刘鑫(政务云 云平台)
- fancybox ajax post,javascript - 将jquery fancybox显示为ajax成功
- Windows XP 超级140个技巧(转)
- 想领跑工业“F1”?我们为您带来6大“弯道超车”技巧