首页 > TAG信息列表 > 好数

2022-9-11/12 #27 自弹 自唱 自赏 不如自封为王

发现了栀子的一首歌 Go crazy for me,真上头。 昨天有一根木刺扎进了我右手中指,伤口愈合后挑不出来了,写代码按到那里就会痛一下。 匈牙利跑二分图匹配可以找到增广路后再清空 vis 数组,某些题中会有优越性。(反正不劣) 做了 CF848D Shake It!,觉得挺简单,就不记录了。 CF1726G A Certain

【题解】AT5335

思路 这只是一道普通的模拟题…… 这道题中无解的情况有两种: 不是一位数并且首位为 0。 每一位上为两个不同的值。 除此之外,我们要找到最小的 好数, 就应该把首位赋值为 1, 其余赋值为 0。 Code #include <cstdio> #include <cstring> using namespace std; const int MAXN = 15;

【Swift】LeedCode 好数对的数目

【Swift】LeedCode 好数对的数目 由于各大平台的算法题的解法很少有Swift的版本,小编这边将会出个专辑为手撕LeetCode算法题。新手撕算法。请包涵!!! 给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。 返回好数对

【力扣】1512. 好数对的数目

给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。 返回好数对的数目。 示例 1: 输入:nums = [1,2,3,1,1,3] 输出:4 解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始 示例 2: 输入:nums = [1,1,1,

date7.24 K好数

K好数 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K=4,L=2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模 后的值。 输入格式 输入包

AtCoder Regular Contest 123

目录$\text{C - 1, 2, 3 - Decomposition}$解法代码 \(\text{C - 1, 2, 3 - Decomposition}\) 解法 定义一个数为好数当且仅当它由 \(1,2,3\) 组成,\(f(i)\) 就是 \(i\) 的答案。 分而治之 的思想挺妙的,但我压根没想到。考虑将 \(n\) 分解成 \(10p+r\) 的形式(并非除数与余数),可以想

蓝桥杯—算法训练(bp,动态规划)

试题 算法训练 K好数 资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于

【洛谷6124】[NEERC2015] Binary vs Decimal(BFS)

点此看题面 定义一个仅由\(0,1\)构成的十进制正数\(A\)是好的,当且仅当它转化成的二进制数\(B\)满足\(A\)是\(B\)的后缀。 求第\(n\)个好数。 \(n\le10^4\) 推性质+大力\(BFS\) 我们发现,给一个数加上一个新的最高位\(10^k\),由于\(2^k|10^k\),它不会影响到第\(0\sim k-1\)位。 所以

【LeetCode】C++ :简单题 - 字符串 788. 旋转数字

788. 旋转数字 难度简单88 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。 如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5

K好数(DP)

K好数(DP) Description 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K=4,L=2的时候,所有K好数为11、13、20、22、30、31、33 共7个。给定K、L,求L位K好数的数目。 Input 从文件读入数据,第一行为K、L,其中

3次幂好数

传送门   给你一个正整数n。你真的很喜欢好的数字,所以你想找到最小的好数字大于或等于n。 如果正整数可以表示为3的不同幂的和(即不允许3的幂的重复),则称为好整数。Input对于给定的正整数n,找到最小的m(n≤m),m是一个好数。Output输入的第一行包含一个整数q(1≤q≤500)-查询数。接下来是q

qbxt 10.4 T4 数字

知识点:图论,哈密尔顿通路,状压 DP 原题面: qbxt 考试题,无链接。 扯 感觉这题挺有趣的,用到的技巧很多,所以来详细写一写。 题意简述 给定 \(n\) 个好数和 \(m\) 个坏数,以及参数 \(k\)。 好数和坏数均为 \(k\) 位数,且由 \(1\sim 4\) 组成。 求包含所有好数但不包含任何坏数,且只由 \(

1512. 好数对的数目

难度简单26   给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。 返回好数对的数目。   示例 1: 输入:nums = [1,2,3,1,1,3] 输出:4 解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0

CF1249C1 Good Numbers (easy version) 题解

题目:Link hard version 正解:状态压缩 + 二分查找 看到题目中“每个 333 的幂最多只能使用一次”,可以很容易想到用状态压缩来解决 对于每一个好的数(Good Number)xxx,可以将它用一个二进制数 yyy 表示。其中,如果对应的二进制数的第 iii 位为 111,代表构成 xxx 时使用了 3i3^i3i

K好数

k,l=map(int,input().split()) list1=[[0]*105 for i in range(105)] for i in range(105): list1[1][i]=1#初始化第一行,我们是从最后一位开始向前的所以最后一位可以为0 #print(list1[1][i]) for i in range(2,l+1):#从第二位开始 for j in range(k): for x in range(k): i

【普及模拟】好数

对于一个正整数X,如果把X化成二进制数后,如果X的二进制数至少有三个连续的1或者至少有3个连续的0(不能有前导0),那么X就是“好数”。例如8就是“好数”,因为8对应的二进制数是1000,有三个连续的0。整数15也是“好数”,因为15对应的二进制数是1111,也有三个连续的1。整数27就不是“好

LeetCode 788. 旋转数字(Rotated Digits) 36

788. 旋转数字 788. Rotated Digits 题目描述 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。 如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是

蓝桥杯 K好数 【动态规划】

时间限制:1.0s   内存限制:256.0MB 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对10000000