#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) }}
第 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) }}