目录

  • 官网链接
  • F-第二大数
  • H-特征值
  • I-最大公约数

官网链接

F-第二大数

题目描述
牛神对于第一的宝座感到厌倦,他开始研究第二大的贡献。
现在给你一个N个数的排列P,包含(1,2,…,N),其中对于任给的一组(L,R)(1 ≤ L < R ≤ N) ,定义XL,R为序列元素从下标L到R中第二大的数。
现在请聪明的你算出∑L=1N−1R=L+1NXL,R的结果,AC者可凭运气获得牛神签名照一张。
输入描述:
第一行为牛神想要研究的数字N,其中2 ≤ N ≤ 104
第二行为N的一个排列。
输出描述:
输出包括一个整数,表示所求结果。

示例1
输入
3
2 3 1
输出
5

题解:
首先是理解题意:即理解要求的表达式的意思。即:计算从
1 ~ 2,1 ~ 3,…,1 ~ n;
2 ~ 3,2 ~ 4,…,2 ~ n;
…;
n-1 ~ n;
以上区间中的第二大的数值之间相加的结果。
又因为题目的数据范围为104,可以O(n2)出解。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e4+10;
int a[N];
int main()
{int n;//根据时间复杂度,可以做O(n方)的scanf("%d",&n);for(int i = 1;i <= n;i++){scanf("%d",&a[i]);}long long res = 0;for(int i = 1;i <= n;i++){int mx = a[i],mi = -2e9;for(int j = i + 1;j <= n;j++){if(a[j] > mx)   mi = mx,mx = a[j];else if(a[j] < mx && a[j] > mi)   mi = a[j];res += mi;}}    cout << res;
}

H-特征值

题目描述
最近捷宝学习了线性代数的知识,并成功在期末考试中获得了100分的好成绩。
其中计算矩阵的特征值这一题型给他留下深刻印象。
出于好奇心,他决定利用假期时间仔细钻研特征值这一概念。经过长达好多好多好多好多天的闭关研究,捷宝提出了整数的特征值这一概念。
可爱的捷宝定义,对于任意的正整数X,它的特征值的计算方式为:

注:⌊ ⌋为向下取整,即不超过当前数字的最大整数(⌊3.2⌋=3,⌊2.9⌋=2,⌊7⌋=7
现在捷宝想要把概念进行推广,他需要你帮忙设计一个程序,能够对于任意读入的一个正整数,快速计算它的特征值.
输入描述:
输入共包括1行,输入捷宝想要研究的数字X
其中1 ≤ X < 10500000
输出描述:
输出共包括一行,输出所研究数字的特征值
链接:https://ac.nowcoder.com/acm/contest/27302/H
来源:牛客网

示例1
输入
1225
输出
1360
说明
1225+122+12+1=1360

示例2
输入
99999
输出
111105
说明
99999+9999+999+99+9=111105

示例3
输入
314159265358979323846264338327950288419716939937510
输出
349065850398865915384738153697722542688574377708317

备注:
提示:由于本题中读入数据的数据范围较大,所以可以考虑使用int类型的数组来存储X的每一位,以便于后续操作。
计算答案和输出答案也同理,可以使用数组来存储数字的每一位。

题解:
题意是让我们求出将一个数的每一个除以10之后的数相加的结果(算上原来的数),其结果较大,需用高精度思想。下面是这题的代码,其中的思想只可体会,不易言传。

#include<bits/stdc++.h>
using namespace std;
const int N = 5e5+10;
char s[N];
int a[N],t;
int main()
{scanf("%s",s + 1);int n = strlen(s + 1);reverse(s + 1,s + n + 1);for(int i = n;i;i--)    a[i] = a[i + 1] + (s[i] ^ 48);for(int i = 1;i <= n || a[i];i++){a[i + 1] += a[i] / 10;a[i] %= 10;t = i;}for(int i = t;i;i--)   printf("%d",a[i]);return 0;
}

I-最大公约数

题目描述
雯雯沉迷学习数学无法自拔,他在闭关修炼中遇到了难题,聪明的你能帮他解答吗?
现在给你一个N个数的序列P,定义X为这N个数的最大公因数,你可以进行无限次操作,每次操作选择一组(L,R)(1 ≤ L != R ≤ N,PL≥ 1),使得PL - 1且PR + 1,每次操作产生新的序列P。请问所有可能产生的P对应的X最多有多少个。AC者可凭RP获得雯雯签名照一张。
定义:A是序列P的一个公因数当且仅当序列P的每一个元素都能被A整除,且A≥1。
注意:本题规定任何正整数都是0的公因数。
输入描述:
第一行包含一个数 N,其中2 ≤ N ≤ 500。
第二行为长度为N的一个序列,其中序列元素P满足
1 ≤ P ≤ 106
输出描述:
输出包括一个整数,表示所有序列产生的最大公因数的个数。

示例1
输入
3
1 1 2
输出
3

说明
第一次操作,L=1,R=2,操作后P=0,2,2,此时P的最大公因数为2。

第二次操作,L=2,R=3,操作后P=0,1,3,此时P的最大公因数为1。

第三次操作,L=2,R=3,操作后P=0,0,4,此时P的最大公因数为4。

经过若干次操作后,序列P产生的最大公因数为1,2,4,共3个。

题解:
对任意x,若x为序列的因数,即有:
x | a[1],x | a[2],x | a[3],…x | a[n]
令sum = a[1] + a[2] + a[3] + … + a[n]
则:x | sum
即最多可能产生的序列的因数的数量即为sum的不同因数个数。直接对序列求和,计算和的不同因数的个数即可。
下述代码运用了试除法求约数的模板。

#include <bits/stdc++.h>#define pb push_back
#define fi first
#define se second
#define mp make_pairusing namespace std;typedef pair<int, int> PII;
typedef long long LL;template <typename T> bool chkMax(T &x, T y) { return (y > x) ? x = y, 1 : 0; }
template <typename T> bool chkMin(T &x, T y) { return (y < x) ? x = y, 1 : 0; }template <typename T> void inline read(T &x) {int f = 1; x = 0; char s = getchar();while (s < '0' || s > '9') { if (s == '-') f = -1; s = getchar(); }while (s <= '9' && s >= '0') x = x * 10 + (s ^ 48), s = getchar();x *= f;
}int x;int main() {int n; cin >> n;while (n--) {int t; cin >> t;x += t;}int cnt = 0;for (int i = 1; i <= x / i; i++) {if (x % i == 0) {cnt++;if (x / i != i) cnt++;//约数成对出现,需要判重}}cout << cnt;return 0;
}

第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛错题笔记相关推荐

  1. 第八届“图灵杯”NEUQ—ACM程序设计竞赛个人赛(同步赛)

    A题--切蛋糕 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2 ...

  2. 2018年第九届蓝桥杯—C/C++程序设计省赛解题

    2018-4-14 感觉蓝桥杯的风格变了,以前都是暴力搜索类的题目比较多,然而这次并不是- 1.第几天 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意: ...

  3. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——A题 切蛋糕

    题目描述 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2的蛋糕 ...

  4. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——L题 建立火车站

    题目描述 新冠疫情,导致了各个城市之间物资输送的障碍.假设有N个城市在一条直线上,为了物资能顺利抵达各个城市,可以在路线上建立最多个数为K个暂时停靠站,由于火车在两个站台(城市也算站台)之间的距离越近 ...

  5. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——J题 这是一题简单的模拟

    题目描述 财务计划要从家里出发,去N个城市出差,然后再回到家中,但N个出差地点之间不一定都能通车,现在他要筛选出花费最少的路径,你能帮帮他吗? 输入描述 第一行为两个正整数N和M(1≤N≤3001≤N ...

  6. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——I题 买花

    题目描述 情人节马上要到了,阳阳想送出n朵花给喜欢的妹妹,他打算提前开始买.但是,因为他有强迫症,所有的花要分k天买(k>1,即不能一天全买完),第一天他可以买任意朵花,之后每一天买花的数量为前 ...

  7. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——G题 贪吃的派蒙

    题目描述 在遥远的提瓦特大陆上,正在筹备一年一度的羽球节,猎鹿人餐厅为犒劳认真筹备的众人,准备了K份甜甜花酿鸡供大家排队领取. 在每一次的排队中,编号为i的角色领取上限为Ai,这意味着他可以领取的甜甜 ...

  8. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——F题 成绩查询ing

    题目描述 去年的新冠疫情爆发让众多大学生只能只能在家里上学,老师为了方便自己录入成绩和方便大家成绩查询,建立了一个录入和查询成绩的系统,能完成M次两种不同的查询,输入查询次数M,查询M次,每次首先输入 ...

  9. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——E题 Seek the Joker II

    题目描述 长达数日的春日祭终于告一段落,作为巫女的朝野芳乃在打扫完神社本决定好好享受一下久违的宁静.然而守护了神刀数百年的丛雨难耐寂寞,希望芳乃能陪她一起玩扑克消解愁闷. 芳乃并不擅长市井的游戏,所以 ...

最新文章

  1. 聚簇索引、非聚簇索引、普通索引、唯一索引
  2. jquery实现增删改(伪)-老男孩作业day13
  3. Visual Studio 编译优化选项:Debug与Release、禁止优化与O1、O2、Ox优化
  4. 4岁小女孩给Linux内核贡献提交
  5. [GO]结构体及普通变量初始化
  6. 权重确定方法之主成分分析法
  7. ykhmi是什么触摸屏软件_触摸屏如何读写变频器参数?如何控制变频器?实操步骤及方法分享...
  8. WinGdi 和 GdiPlus绘图知识积累
  9. Python:批量爬取下载中国知网(CNKI)PDF论文
  10. jad反编译成java_反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)[转]...
  11. 【第二章 | 进程的描述与控制】《操作系统 慕课版》课后答案 + 复习
  12. Java实现Map转List
  13. hd4600黑苹果html5死机,黑苹果核显hd4400、hd4600显卡Clover引导驱动方法
  14. 自签名证书制作和使用方法
  15. 背篼酥课堂-GPS定位(一) nodemcu 解析gps
  16. Java8的其它 新特性(笔记二十四)
  17. python如何打开npy文件_python实现npy格式文件转换为txt文件操作
  18. 西门子s7 计算机通讯,S7-1200与电脑网线通讯-工业支持中心-西门子中国
  19. linux 查看登入记录_Linux登录信息查询
  20. c语言中<< , >>的作用

热门文章

  1. 中国智慧停车市场运营调研及投资前景方向预测报告2022年版
  2. GDPR(欧盟通用数据保护条例)基础知识
  3. ORACLE锁定账户的原因及解决办法
  4. 【杂篇 · 电脑】买Macbook之后的一些记录
  5. DHCP 服务器监控
  6. 定时任务:创建静态定时任务、动态定时任务
  7. Win10微信 PC 端打字卡顿解决方法
  8. (ZT) 上海房价再涨五倍也并非天方夜谭?
  9. 百度地图 - 绘制海量点
  10. Windows10远程桌面连接配置