简单666
简单666
全部文章
题解
归档
标签
去牛客网
登录
/
注册
简单666的博客
全部文章
/ 题解
(共9篇)
题解 | #完全平方数的尾巴#
题意: 给你一个数,判断这个数是不是某个平方数对取模的结果 解法一(扩展欧几里得) 我们记这个平方数为 由 可得 显然这是一个不定方程,于是我们可以用扩展欧几里得算法求解 具体的,我们可以解出的解 于是原方程的一个解为: 我们...
C++
数学
2021-09-13
1
561
题解 | #序列取反问题#
题意: 给你一个长度为的序列,第个数字代表了一段连续的区间, 其中这些区间满足要么完全覆盖,要么不相交, 现在每次等概率地随机选择一个点,并且将区间全部打上标记, 问期望多少次能将整个序列都打上标记(答案对998244353取模)? 解法一(问题转化+暴力求解) ...
C++
数学
2021-09-12
0
652
题解 | #牛牛摇骰子#
题意: 给你一个无限长的数轴,刚开始你在位置处,你每次可以向左或者向右移动个单位,现在有次询问,第次询问给你一个数字,问从起点位置到所在位置最少需要多少步? 解法一(最短路,不可AC) 显然我们可以根据题意构建一张以数轴上的数字为点,边权为的无向图,边表示数字变化成数字的一次操作 ...
C++
数学
最短路
2021-09-10
0
595
题解 | #消息压缩#
题意: 将一根长度为 切割为每段至少长度为5的若干段,求总的切割方案数?(5+6和6+5算两种不同的方案) 解法一(暴力枚举,不可AC): 我们可以定义递归函数 表示当前绳子长度为 ,进行递归地切割,最后 时统计答案。 代码: class Solution { p...
C++
动态规划
数学
2021-09-02
1
538
题解 | #牛牛凑数字#
题意: 有数码 各无限个,消耗一个数码 需要的代价为 ,现有大小为 的可消耗代价,问可以凑成的最大数字为多少? 解法一(完全背包): 注意到每个数码可以用一次和多次,使用数码需要消耗一定的代价,这显然是一个变形的完全背包问题。 现在需要解决的是,有一个数字字符串 ,要将数码 插入到...
C++
数学
贪心
2021-09-01
0
469
题解 | #牛牛分蛋糕#
题意: 有两种蛋糕,第一种蛋糕有 个,第二种蛋糕有 个,要求将这些蛋糕分到 个盘子里,分法必须满足下列要求: 1. 每个盘子里只能放一种蛋糕 2. 盘子不能为空 现在让你求出满足上述要求的前提下,装有最少蛋糕数量的盘子中装的蛋糕数量最多是多少? 解法一(暴力枚举答案) 有一个显然的...
C++
数学
二分查找
2021-08-30
0
593
题解 | #牛牛扔牌#
题意: 给你一个长度为 的字符串,n为偶数,现在要执行 次操作,操作规则为:若 为素数,则将当前字符串的前2位删除并追加到答案字符串中。若 为非素数,则将当前字符串的后2位删除并追加到答案字符串中,求最后的答案字符串(初始时答案字符串为空串)。 解法一(素数判断+模拟): 维...
C++
字符串
数学
2021-08-29
0
511
题解 | #牛牛的棋盘#
题意: 有一个 大小的棋盘,你需要在棋盘上面放 个点,问使得第一行,第一列,最后一行,最后一列都有点的方案数,答案对 取模。 解法一(暴力搜索,不可AC): 直接枚举矩阵每个点是否放点,然后判断是否符合要求再统计答案。 具体的,我们递归地用 表示当前考虑第 个点,当前已经放了 个点...
C++
动态规划
数学
2021-08-28
0
555
题解 | #牛牛的Fib序列#
题意: 给你一个数列 ,其中 , , 求 的值。 解法一(暴力递推,不可AC): 根据 可得出 ,因此我们直接循环递推过去即可。 这边我们采用滚动数组的形式,由于每一个只依赖连续的两个值求解,故我们开一个长度为的数组,接下来我们来模拟『填写』值的过程 ...
C++
数学
2021-08-27
0
449