首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
小红的数位删除
9条解析
开通博客写题解
kilomatutinal
发表于 2026-02-17 10:53:12
这道题其实简单喵~只需要用广度优先搜索(BFS)就可以探索所有可能的状态了喵!用结构体 zu 记录当前两个数的值 a、b 和已经操作的次数 cishu。从初始状态 (a, b) 开始,不断尝试对其中一个数删除每一位,生成新的数对,并记录步数。用 set<pair<int,int>&
展开全文
smartiphone
发表于 2026-02-17 10:19:55
#include<bits/stdc++.h> #define inf 0x3fffffff #define endl '\n' using namespace std; int main() { cin.tie(nullptr)->sync_with_stdio(fal
展开全文
Night_crusing
发表于 2026-02-18 01:50:38
通过位运算状态压缩解题和bfs搜索都是可行的,这里使用bfs #include<bits/stdc++.h> using namespace std; struct State { string sa; string sb; int steps; }; boo
展开全文
BeauWill
发表于 2026-02-17 00:25:41
bfs搜索一下即可,每次枚举删除的数字是a或者b,然后枚举删除a或者b的每一个数位,通过转字符串删除该位,再转回int #include <iostream> #include <queue> #include <array> #include <map&g
展开全文
YunBaichuan
发表于 2026-02-17 10:34:02
前言:祝大家新年快乐! 思路:暴力枚举。注意到题目的a,b数字最长为10,因此可以枚举a和b的所有子序列,然后判断是否满足条件,时间复杂度为,为大概是量级左右,可以通过 具体来说,我们可以枚举保留的位数个数i和j,然后用组合数函数combinations(a, x)表示从a这个迭代器或者数组等这种存
展开全文
怎么不AC啊
发表于 2026-02-17 14:19:36
数位删除得到的值是原数值的子序列,只需要生成所有子序列,然后检查即可。 子序列的个数(至多)是,故时间复杂度为,可行. #include <climits> #include <iostream> #include <string> #include <ut
展开全文
xiaosheng123
发表于 2026-02-17 16:33:57
import java.util.*; import java.io.*; public class Main { static class FastReader { BufferedReader br; StringTokenizer st;
展开全文
此在Dasein
发表于 2026-02-17 17:42:47
本题的核心在于通过最少的删除操作,使得两个数字之间满足倍数关系(即 是 的倍数,或 是 的倍数)。 约束分析: 数据范围: 。 这意味着数字的长度最大仅为 10位 ( 是最小的10位数,最大值接近 )。 操作定义: 删除数位。这本质上是在寻找字符串的子序列 (Subsequence)
展开全文
空调不够冷HA
发表于 2026-02-17 21:07:45
#include <stdio.h> #include <string.h> #include <stdlib.h> // 存储生成的子序列信息 typedef struct { long long val; int ops; } Node; N
展开全文
查看本题
查看本题讨论
相关比赛
69695-第20届纪念款-牛客周赛 Round 20
进入比赛
70882-赣南师范大学蓝桥杯校内选拔赛
进入比赛
73226-个人创建赛
进入比赛
77745-2024年杭商院天梯赛蓝桥杯集训
进入比赛
等你来战
查看全部
牛客周赛 Round 132
报名截止时间:2026-02-22 21:00
牛客小白月赛129
报名截止时间:2026-02-27 21:00
牛客周赛 Round 133
报名截止时间:2026-03-01 21:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题