#P1464. Day10-C2 枚举法专项(GESP高等级风格)

Day10-C2 枚举法专项(GESP高等级风格)

Day10-C2 枚举法专项(GESP高等级风格)

独立训练枚举范围、去重、方案数与复杂度。程序枚举三类物品数量。

#include <iostream>
using namespace std;
int main(){
    int n,target;cin>>n>>target;
    int ans=0;
    for(int a=0;a<=n;++a)
        for(int b=0;b<=n-a;++b){
            int c=n-a-b;
            if(a+2*b+3*c==target) ++ans;
        }
    cout<<ans;
}

第 1 题

枚举法的核心是( )。

{{ select(1) }}

  • 删除入度0顶点
  • 按层求最短路
  • 只检查第一个方案
  • 列出候选并逐一验证

第 2 题

使用枚举前最应先估计( )。

{{ select(2) }}

  • 候选方案总数与时间量级
  • IP位数
  • 数据库行名
  • 域名长度

第 3 题

两层各执行约n次的独立枚举,复杂度通常为( )。

{{ select(3) }}

  • O(n)O(n)
  • O(n2)O(n^2)
  • O(logn)O(\log n)
  • O(1)O(1)

第 4 题

枚举组合时限制 b<=n-a 的作用是( )。

{{ select(4) }}

  • 求最短路
  • 解析域名
  • 保证剩余数量c非负
  • 保证图无环

第 5 题

输入 3 8,程序输出( )。

{{ select(5) }}

  • 2
  • 3
  • 1
  • 0

第 6 题

程序中的 c=n-a-b 主要用于( )。

{{ select(6) }}

  • 标记访问
  • 把c固定为0
  • 计算前缀和
  • 避免再枚举第三重循环

第 7 题

若删除 a+2*b+3*c==target 判断,ans 将统计( )。

{{ select(7) }}

  • 所有满足数量和为n的三元组
  • 图的连通分量
  • 所有拓扑序
  • 所有最短路径

第 8 题

当前两层枚举的时间复杂度是( )。

{{ select(8) }}

  • O(1)O(1)
  • O(n2)O(n^2)
  • O(n3)O(n^3)
  • O(2n)O(2^n)