csp202112-1:序列查询 题解
题目
思路
本题提供了一个数组A,里面有正序增长的数n+1个,A[0]默认为0,在输入中不给出。
定义了函数f(x)f(x)f(x)为序列A中小于等于x的整数里最大的数的下标。
我们很容易发现如下规律:
假定xxx是000到N−1N-1N−1范围内的任意整数,iii是数组下标(0≤i≤n0≤i≤n0≤i≤n)
- 当0≤x<A[n]0≤x<A[n]0≤x<A[n]时,f(x)=i−1(1≤i≤n)f(x)=i-1(1≤i≤n)f(x)=i−1(1≤i≤n)当且仅当A[i−1]≤x<A[i]A[i-1]≤x<A[i]A[i−1]≤x<A[i],此时0≤f(x)≤n−10≤f(x)≤n-10≤f(x)≤n−1
- 当x≥A[n]x≥A[n]x≥A[n]时,f(x)=nf(x)=nf(x)=n
所以由sum(A)sum(A)sum(A)以及上述性质可得:
sum(A)=∑i=1n(A[i]−A[i−1])×(i−1)+(N−A[n])×nsum(A)=\sum_{i=1}^{n}(A[i]-A[i-1])\times(i-1)+(N-A[n])\times nsum(A)=∑i=1n(A[i]−A[i−1])×(i−1)+(N−A[n])×n
参考样例理解:
代码
#include<iostream>
#include<cstdio>
using namespace std;
const int Max=210;
int A[Max];
int n,N;
int main()
{scanf("%d%d",&n,&N);for(int i=1;i<=n;i++) scanf("%d",&A[i]);int res=0;for(int i=2;i<=n;i++) res+=(A[i]-A[i-1])*(i-1);if(A[n]<N) res+=(N-A[n])*n;printf("%d",res);return 0;
}
- 注意点:
n是A[1]~A[n]的个数,也是实际数组中的最大下标
实际数组:A[0]、A[1]、…A[n] (一共n+1个数,数组下标到n)
csp202112-1:序列查询 题解相关推荐
- CCF-CSP-202112-2:序列查询新解(C++11题解)
文章目录 问题描述 解题思路 AC代码 问题描述 题目来源:CCF-CSP-202112-2:序列查询新解 解题思路 思路稍后再补. AC代码 PA了一次,是因为没开long long #includ ...
- CCF202112-1 序列查询
试题编号: 202112-1 试题名称: 序列查询 时间限制: 300ms 内存限制: 512.0MB 问题描述: 解题思路: 顺序暴力枚举,因为对于数组a,a[i] < a[i+1] ,且 ...
- 牛客题霸 [括号序列] C++题解/答案
牛客题霸 [括号序列] C++题解/答案 题目描述 给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,&quo ...
- CCF CSP202112-2 序列查询新解
CCF CSP202112-2 序列查询新解 题目背景 上一题"序列查询"中说道: A=[A0,A1,A2,⋯,An]A=[A_0,A_1,A_2,⋯,A_n]A=[A0,A1 ...
- CCF CSP202112-1 序列查询
CCF CSP202112-1 序列查询 题目背景 西西艾弗岛的购物中心里店铺林立,商品琳琅满目.为了帮助游客根据自己的预算快速选择心仪的商品,IT 部门决定研发一套商品检索系统,支持对任意给定的预算 ...
- CSP 202112-1 序列查询 python
CSP 202112-1 序列查询 python 题目描述 思路 其实这道题,我觉得提示给的非常清楚了,这个提示啊,直接送分了哈哈哈,所以我们只要根据提示,利用乘法运算,计算就可以得到结果 代码 # ...
- csp序列查询(C语言)
csp序列查询 #include<stdio.h>int main(){int n, N, i, sum, j;int A[200];A[0] = 0;sum = 0;scanf(&quo ...
- ~5 ccf 2021-12-2 序列查询新解
序列查询新解 题目描述 输入 输出 样例输入 样例输出 子任务 源代码 关于这题 题目描述 输入 输出 样例输入 样例1 3 10 2 5 8 样例2 9 10 1 2 3 4 5 6 7 8 9 样 ...
- ~4.2 ccf 2021-12-1 序列查询
序列查询 题目描述 输入 输出 样例输入 样例输出 子任务 源代码 题目描述 输入 输出 样例输入 样例一 3 10 2 5 8 样例二 9 10 1 2 3 4 5 6 7 8 9 样例输出 样例一 ...
- CCF CSP 序列查询新解
CCF CSP 序列查询新解(C语言) 题目背景 上一题"序列查询"中说道: A=[A0,A1,A2,⋯,An] 是一个由 n+1 个 [0,N) 范围内整数组成的序列,满足 0= ...
最新文章
- vue cli 添加html,vue-cli创建的项目,配置多页面的实现方法
- C++对C的加强之三目运算符功能增强
- hdu 4143 A Simple Problem 数论
- 制作镜像包时遇到的模块加载错误的问题
- C++ Templates 中的一个例子
- Hadoop Hive
- python内存泄漏解决方案_Python内存泄漏和内存溢出的解决方案
- java 队列总结queue v3 svv.docxjava 队列总结queue v3 svv.docx atitit. java queue 队列体系总结o7t 1. 队列概念	1 1.1. 队列
- Android开发:关于高德地图轨迹纠偏,只显示两个点问题的整体概述
- FSCapture录屏软件
- dht 爬虫 java_[C#搜片神器] 之P2P中DHT网络爬虫原理
- foxit pdf editor linux,Foxit PDF Editor
- 用C语言画空心三角形
- 科比投篮选择——数据采集
- Android APP在线自动更新安装
- linux电子相册,基于Linux电子相册的.doc
- java面向对象与面向过程的区别
- 英语学习APP开发解决方案
- node 简介及安装
- python for finance pdf_python金融大数据分析 pdf