Logo Wy Online Judge

WyOJ

时间限制:N/A 空间限制:N/A 控制组: group_0 压缩包大小: 54.740 KB

#415. 一些第一轮题目

统计

注意:本题为提交答案题,你只在代码里包含答案就行。例如你的答案是 ABC ,那么你提交的代码是 ABC

二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 A,错误填 B)

第 1 题 $\textsf{ }$

   1    #include <algorithm>
   2    #include <iostream>
   3    #include <vector>
   4    using namespace std;
   5
   6    const int M = 17;
   7    vector<unsigned> egg[1 << M];
   8    int dp[1 << M];
   9
  10    int solve(int H) {
  11         int ans = 0;
  12        for(auto to : egg[H])
  13            ans = max(ans, dp[to] + 1);
  14        return ans;
  15    }
  16
  17    int main() {
  18        int n, m;
  19        cin >> n >> m;
  20        while(m--)
  21        {
  22            int a, b;
  23            cin >> a >> b;
  24            if(a > b)
  25                swap(a, b);
  26            egg[b].push_back(a);
  27        }
  28        for(int i = 1; i <= n; ++i)
  29            dp[i] = max(dp[i - 1], solve(i));
  30        cout << dp[n] << endl;
  31        return 0;
  32    }

假设输入的 $a,b$ 满足 $1 \le a,b \le n$。

判断题

1.假设数组 egg 和 dp 长度无限制,则整个算法的时间复杂度为 $O(nm)$。( )

2.当输入为 5 2 4 1 2 5 时,输出为 1。( )

3.整个算法的输出值不会超过 $n-1$。( )

选择题

4.当输入为 9 5 1 8 7 2 5 3 6 4 7 9 时,输出为?( )

A.1 $\text{ }$ B.2 $\text{ }$ C.3 $\text{ }$ D.4

5.如果删去第 24 和 25 行的代码,输出结果将( )。

A.不会变大 $\text{ }$ B.不变 $\text{ }$ C.不确定 $\text{ }$ D.不会变小

6.该代码实现的问题还能用以下哪种算法实现?( )

A.Dijkstra $\text{ }$ B.贪心 $\text{ }$ C.倍增 $\text{ }$ D.差分


或者逐个上传: