【CCF-CSP】202112-1-序列查询100分

简介: 【CCF-CSP】202112-1-序列查询100分

一、代码如下

//202112-1-序列查询
#include <iostream>
using namespace std;
#define NumFlag 201 //n最大为200 
int a[NumFlag];//数组A 
int n;//数组个数 
int N;//N值 
void input(){//输入n、N、数组数据 
  cin>>n;cin>>N;
  for(int i=1;i<=n;i++){
    cin>>a[i];
  }
} 
void output(){//输出数组内容 
  for(int i=1;i<=n;i++){
    cout<<a[i]<<" ";
  }
  cout<<endl;
}
int sum(){
  int x=0;//存储sum(A)值 
  for(int i=2;i<=n;i++){//小于a[1]的f()值皆为0,所以从i=2开始,(a[2]-a[1])*1 
    x=x+(a[i]-a[i-1])*(i-1);
  }
  //上述循环没有计算N大于a[n]的部分,下述操作将其补上
  x=x+(N-a[n])*n;
  return x; 
} 
int main(){
  input();
  //output(); //检验输入是否正确 
  int a=sum();
  cout<<a<<endl;
  return 0;
}

image.gif

二、思路分析

模块一、题目的要求与提示

1、样例计算过程

       此题目较长,读完脑壳都懵了,看完题后再认真看懂“ 样例计算过程 ”对理解题意与找寻解题思路有着积极的作用。

image.gif编辑

2、题目所给的提示

       题目所给的这个提示对提升算法效率有着很重要的作用,没注意到这个也因紧张而使用暴力算的话……岂不是嗷呜呜。

image.gif编辑

3、变量范围

       可能算法写对了,但是没注意限界条件也拿不到满分。(这里n一定小于N)

image.gif编辑


模块二、代码步骤分析

       此题关键步骤在于sum(A)的计算,由模块一的读题与分析已大致有了解题思路。

但还需要注意以下细节

1、小于a[1]的f()值皆为0(所以不必算对0的求和),所以从i=2开始

       对于i=2时,x=x+(a[2]-a[1])*1                 ------个例

       对于i时,x=x+(a[i]-a[i-1])*(i-1)                ------共性

for(int i=2;i<=n;i++){ 
    x=x+(a[i]-a[i-1])*(i-1);
  }
image.gif

2、述循环没有计算N大于a[n]的部分,下述操作将其补上

x=x+(N-a[n])*n;
image.gif

此操作结束后x值即为所求。


模块三、结果提交

image.gif编辑

三、题目全图 image.gif编辑

目录
相关文章
|
Go Python
CSP 202112-1 序列查询 python
CSP 202112-1 序列查询 python
CSP 202112-1 序列查询 python
|
人工智能 Go Python
CSP 202112-2 序列查询新解 python 离散+二分法
CSP 202112-2 序列查询新解 python 离散+二分法
CSP 202112-2 序列查询新解 python 离散+二分法
|
测试技术 Go Python
CSP 202009-1 称检测点查询 python
CSP 202009-1 称检测点查询 python
CSP 202009-1 称检测点查询 python
|
Go C++
CSP 202112-2 序列查询新解
CSP 202112-2 序列查询新解
124 0
CSP 202112-2 序列查询新解
|
Go C++
CSP 202112-1 序列查询
CSP 202112-1 序列查询
73 0
CSP 202112-1 序列查询
|
人工智能 移动开发 Go
【CCF-CSP】202112-2-序列查询新解100分(读过必懂)
【CCF-CSP】202112-2-序列查询新解100分(读过必懂)
1007 0
【CCF-CSP】202112-2-序列查询新解100分(读过必懂)
第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
61 0
|
JavaScript 编译器 Go
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
71 0
|
SQL JavaScript 前端开发
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
115 0
|
JavaScript 前端开发 Go
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
96 0