第一届ACC(AcWing Cup)全国高校联赛初赛:个人版题解

简介: 第一届ACC(AcWing Cup)全国高校联赛初赛:个人版题解

1.数圈圈

十六进制是一种基数为 16 1616 的计数系统,是一种逢 16 16161 11 的进位制。

通常用数字 0123456789 和字母 ABCDEF 表示,其中: A ∼ F A∼FAF 表示 1015,这些称作十六进制数字。

观察这些数字的图案,我们可以发现,有些数字上面包含圈圈,具体来说:

数字 0,4,6,9,A,D 中包含一个圈。

数字8,B 中包含两个圈。

数字1,2,3,5,7,C,E,F 中不含圈。

现在,给定一个十进制整数 n,请你将其转化为十六进制表示,并数一数其十六进制表示中一共含有多少个圈圈。

输入格式

一个整数 n

输出格式

一个整数,表示整数n 的十六进制表示包含的圈圈总数。

数据范围

前三个测试点满足 0≤n≤1000n100,

所有测试点满足 0≤n≤2×10^90n2×109

输入样例1:

11

输出样例1:

2

输入样例2:

14

输出样例2:

0

题解

进制转换,没什么好说的

源代码

#include<iostream>
using namespace std;
int res;
int n;
int main() {
    cin >> n;
    while (n) {
        int t = n % 16;
        n = n / 16;
        if (t == 0 || t == 4 || t == 6 || t == 9 || t == 10 || t == 0xd)
            res++;
        else if (t == 8 || t == 0xb)
            res += 2;
    }
    cout << res;
}

2.农田灌溉


image.png

输入格式

image.png

输出格式

每组数据输出一行答案。

数据范围


image.png

输入样例:

3

5 1

3

3 3

1 2 3

4 1

1

输出样例:

3

1

4

题解


image.png

#include<iostream>
using namespace std;
int n, k;
int x[205];
int main() {
  int T;
  cin >> T;
  while (T--) {
    int res = 1;
    cin >> n >> k;
    for (int i = 1; i <= k; i++)
      cin >> x[i];
    x[0] = 1;
    x[k + 1] = n;
    for (int i = 1; i < k; i++)
      res = max(res, (x[i + 1] - x[i]) / 2 + 1);
    res=max(res,x[1]);
    res=max(res,n-x[k]+1);
    cout << res<<endl;
  }
  return 0;
}

3.选取数对


image.png

输入样例1:

5 2 1

1 2 3 4 5

输出样例1:

9

输入样例2:

7 1 3

2 10 7 18 5 33 0

输出样例2:

61

题解


image.png

源代码

#include<iostream>
#include<cstring>
using namespace std;
int n, m, k;
const int N = 5005;
long long a[N];
long long s[N];
long long f[N][N];//最右右到i,选j个段
int main() {
  cin >> n >> m >> k;
  for (int i = 1; i <= n; i++)
    cin >> a[i];
  for (int i = 1; i <= n; i++)
    s[i] = s[i - 1] + a[i];
  memset(f, -0x3f3f3f3f3f3f3f3f, sizeof f);
  f[0][0] = 0;
  for(int i=0;i<=n;i++)
      f[i][0]=0;
  for (int i = m; i <= n; i++) {
    f[i][1] = max(f[i - m + 1][0] + s[i] - s[i - m], f[i - 1][1]);
  }
  for(int i=0;i<=n;i++){
      for(int j=1;j<=k;j++){
          if (i-m>=0)
              f[i][j]=max(f[i-m][j-1]+s[i]-s[i-m],f[i-1][j]);
      }
  }
/*  for(int i=0;i<=n;i++){
      for(int j=0;j<=k;j++)
          if (f[i][j]<0)
              cout<<"-1 ";
          else
              cout<<f[i][j]<<" ";
     cout<<endl;
  }*/
  cout<<f[n][k]<<endl;
}


目录
相关文章
|
人工智能
天梯赛-L1-064 估值一亿的AI核心代码 (20 分)--2019全国CCCC天梯赛L1题解
天梯赛-L1-064 估值一亿的AI核心代码 (20 分)--2019全国CCCC天梯赛L1题解
378 0
|
测试技术 C++
【PTA天梯赛】L1-001 L1-002 L1-003 L-004 L-005 L-006 L-007 L-008 L-009 L1-010 c++
【PTA天梯赛】L1-001 L1-002 L1-003 L-004 L-005 L-006 L-007 L-008 L-009 L1-010 c++
229 1
第20届上海市青少年计算机应用操作竞赛 ☆线下赛 T1.阶乘求和
第20届上海市青少年计算机应用操作竞赛 ☆线下赛 T1.阶乘求和
170 0
|
JavaScript BI
【蓝桥杯集训·周赛】AcWing 第96场周赛
文章目录 第一题 AcWing 4876. 完美数 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4877. 最大价值 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4878. 维护数组 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
92 0
|
存储 机器学习/深度学习 人工智能
【蓝桥杯集训·周赛】AcWing 第94场周赛
文章目录 第一题 AcWing 4870. 装物品 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4871. 最早时刻 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4872. 最短路之和 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
82 0
|
存储 人工智能 算法
【蓝桥杯集训·最后一次周赛】AcWing 第 97 场周赛
文章目录 第一题 AcWing 4944. 热身计算 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4945. 比大小 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4946. 叶子节点 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
137 0
|
存储 机器学习/深度学习 人工智能
【蓝桥杯集训·周赛】AcWing 第 95 场周赛
文章目录 第一题 AcWing 4873. 简单计算 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4874. 约数 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4875. 整数游戏 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
121 0
|
存储 算法
【蓝桥杯集训·每日一题】AcWing 3728. 城市通电
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 Prim算法
97 0