首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
小苯的前缀gcd构造
5条解析
开通博客写题解
小男娘
发表于 2026-05-08 00:31:31
你们都是可爱的小萝莉和小男娘喵~显然发现只要前面被后面整除, 喵,并且如果答案存在一定可以构造这样的序列喵~ 表示前 i 个最后一个数为 j 总和为 k 是否可能,直接转移就可以了喵~下标可以枚举因子优化喵~发现转移是平移,于是可以用 bitset 优化喵~最终时间复杂度 喵~ #include
展开全文
AliLexiWalker
发表于 2026-05-08 00:21:37
一边往数组里放数,一边让前缀 gcd 只会往“更小的约数”走,再用 DP 记录当前前缀 gcd 和已经凑出来的权值,最后看看能不能刚好凑到 x。 void solve(){ int n,m,x;cin>>n>>m>>x; if(x<n||x&
展开全文
YeYiTong_Eason
发表于 2026-05-08 11:41:01
看到没有人想过dfs的解答,来一个相对比较好理解的dfs版本。注意到n和m数据范围很小(50及以内),组数不超过10组,剪枝一下可以卡过时间。注意到f(i)这个序列是不增序列,并且有 f(i+1) | f(i). 我们的目标是通过dfs搜索每一个位置的数。怎么用dfs搜索构造序列呢?首先先预处理50
展开全文
此在Dasein
发表于 2026-05-08 06:05:14
1. 问题分析 该问题的核心在于构造一个数组 ,使其前缀 GCD 序列 的和等于目标值 。通过对 GCD 及其前缀性质的深入分析,我们可以得出以下关键约束: 单调不增性:由 的性质可知,。这意味着 必须是 的约数。因此,序列 必须是一个非递增的正整数序列。 整除约束:对于任意 , 必须满
展开全文
腌萝卜干
发表于 2026-05-08 14:49:54
以下是详细注释帮助理解版 #include <bits/stdc++.h> #define x first #define y second #define all(x) x.begin(), x.end() #define vec1(T, name, n, val) vector&l
展开全文
查看本题
查看本题讨论
相关比赛
115861-牛客周赛 Round 105
进入比赛
115905-牛客周赛105内测
进入比赛
116330-大庆指针——C++一级等考模拟测试
进入比赛
116333-test
进入比赛
116686-aaaatestwsw
进入比赛
等你来战
查看全部
牛客挑战赛88
报名截止时间:2026-05-15 22:00
2026年临沂大学程序设计挑战赛
报名截止时间:2026-05-16 17:30
牛客周赛 Round 144
报名截止时间:2026-05-17 21:00
2026年北京印刷学院程序设计竞赛(同步赛)
报名截止时间:2026-05-20 22:00
牛客练习赛153
报名截止时间:2026-05-22 21:30
2026年中南民族大学程序设计竞赛决赛(同步赛)
报名截止时间:2026-05-23 17:00
"壹零杯"第三届西华师范大学程序设计竞赛(同步赛)
报名截止时间:2026-05-24 14:30
牛客周赛 Round 145
报名截止时间:2026-05-24 21:00
牛客小白月赛133
报名截止时间:2026-05-29 21:00
第二十三届宁波大学程序设计竞赛(同步赛)
报名截止时间:2026-05-30 17:30
牛客2026年儿童节比赛
报名截止时间:2026-06-01 21:00
汤圆头 Round 1
报名截止时间:2026-07-06 22:00
2026牛客暑期多校训练营1
报名截止时间:2026-07-16 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题