ICode9

精准搜索请尝试: 精确搜索
  • 罗马数字转阿拉伯数字(徐鹿鸣20221414)2022-09-13 21:05:15

    罗马数字转阿拉伯数字(选做) 罗马数字是位置计数吗?它的缺点是什么? 不是。 位置计数是一种数位按照顺序排列,每个数位有一个位值,数字的值是每个数位和位值的乘积之和的表达数字的系统。罗马数字的规则与之不同。 缺点: 1.不直接,普通人使用不易; 2.没有0; 3.难以计算且有表数上限; 4.写分数

  • 数位dp2022-09-05 22:04:28

    数位dp 目录数位dp简介题同类分布\(\text{Balanced Number}\) 简介 数位 \(dp\) 是一种在数位上进行的 \(dp\),通常用于解决值域 \([L,R]\) 中有几个数满足条件,且 \([L,R]\) 极大 (如 \(1\le L\le R\le 1e18\)) 的问题,这时我们就会在数位上进行 \(dp\),问题规模变为 \(\lg R\) 的 数

  • 数位DP-902. 最大为 N 的数字组合2022-08-14 22:32:34

    问题描述 给定一个按 非递减顺序 排列的数字数组 digits 。你可以用任意次数 digits[i] 来写的数字。例如,如果 digits = ['1','3','5'],我们可以写数字,如 '13', '551', 和 '1351315'。 返回 可以生成的小于或等于给定整数 n 的正整数的个数 。 示例 1: 输入:digits = ["1

  • 数位Dp2022-08-13 12:03:02

    代码拍卖会 题意 问有[ L - R ]有多少个数满足每一位都至少有 1,从左到右不减同时要能被P整除,位数<=\(1e18\). p<=500) 思路 位数贼大,基本上别想着枚举有关位数的东西 单调不减,说明什么,说明一个合法的方法我前面的 +1 后面的至少要 +1 ,如果把他们看成最多 9个 长度为 n的01串的和,

  • 数位 dp,但是做题笔记2022-08-01 20:00:13

    这玩意儿还要学自己推不出来的 SX 是屑。 数位 dp,顾名思义,是根据数位做 dp,每个数位每个数位转移,炒个例子 windy 数。 求 \([l, r]\),我们改成求 \(1\sim r\) 与 \(1\sim (l - 1)\) 最后二者相减。那么我们的问题就成了求 \(1\sim k\) 的 windy 数。运用 dp,数位 dp 每次从最高位往

  • [SDOI2013] 淘金(数位dp+堆)2022-07-13 23:01:16

    description \(f(x)\)表示\(x\)的各个数位的乘积。 给\(N*N\)的矩阵每个矩阵上都有一块金子,一次变化后,金子从\((i,j)\)变到\((f(i),f(j))\)。 问一次变化后矩阵上金子个数前\(k\)大的和为多少。 \(N<=10^{12}\) solution 首先发现题目最终要的性质,\(N\)虽然很大,但\(f(x)\)一共只

  • Leetcode 556.下一个更大元素Ⅲ2022-07-03 17:00:12

      一道比较显然的贪心。   首先我们很容易想到枚举所有的排列情况,但是这样是显然不能通过的。其次我们可以贪心地考虑,思路:假设我们有一个数$n$是ABCDEF(ABCDEF都是数字),既然要找大于$n$的最小排列,我们其实只需要从个位开始考虑,变化越小的数位越好。   以数$1961283241$为例,从

  • 位运算 翻转数位2022-06-28 00:01:02

      You have an integer and you can flip exactly one bit from a 0 to a 1. Write code to find the length of the longest sequence of 1s you could create. Example 1: Input: num = 1775(110111011112)Output: 8Example 2: Input: num = 7(01112)Output: 4 来源:力扣(LeetCo

  • HDU4734 F(x) (数位DP)2022-06-24 22:00:58

    (如此简短的题目给人一种莫名的压迫感......) 题目中定义一个数的权值求解函数:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1. 观察可知:权值的表达式与数的位数相关,再加上要分离每个位上的数字,那么就不难想到数位DP了。 dp[pos][j]表示pos位下小等于j的元素个数,代

  • 数位DP2022-05-22 16:00:40

    1.前缀和思想 2.树的角度 分类 二进制当前位的an 分成 0~an-1 与 an 把最高位划分为一个个集合 左树是枚举1~a(n-1)的情况下 进入右分支的方法就是让nums[i]的i++ 3.预处理 模板 int dp(int n){ if(!n) return 1; vector<int>nums; while (n )nums.push_back(n%10),n

  • X 进制减法2022-05-21 19:01:58

    X 进制减法 进制规定了数字在数位上逢几进一。 $X$ 进制是一种很神奇的进制,因为其每一数位的进制并不固定! 例如说某种 $X$ 进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制,则 $X$ 进制数 $321$ 转换为十进制数为 $65$。 现在有两个 $X$ 进制表示的整数 $A$ 和 $B$,但是其

  • P4127 [AHOI2009]同类分布 题解2022-05-20 12:00:07

    题面 罕见的数位dp好题。 首先感觉这个题想数位dp有点困难,很多东西都在变。注意到每个数位数字和其实最大也才一百多,考虑枚举这个和,统计被这个和整除且数位和等于这个和的数的个数就完事了。 点击查看代码 #include<iostream> #include<cstdio> #include<cstring> typedef long l

  • 数位 dp trick2022-05-03 14:02:56

    CF1290F Making Shapes 考虑凸包,向量集合确定了就能确定唯一凸包。 考虑向量加法转化到最后就是 \(\sum_{x_i>0}c_ix_i=-\sum_{x_i<0}c_ix_i,\sum_{y_i>0}c_iy_i=-\sum_{y_i<0}c_iy_i,\sum_{x_i>0}c_ix_i\le m,\sum_{y_i>0}c_iy_i \le m\) 这里 trick 就是用数位 dp 的方式去解决

  • 数位dp2022-04-18 16:00:47

    题目链接: https://www.luogu.com.cn/problem/P2602 https://www.acwing.com/problem/content/340/ 题目大意: 计算 \(a\) 到 \(b\) 区间中每一个数码出现的次数。 思路: 举个例子,对于一个数 \(abcdefg\),计算 \(d\) 这一位上 \(x\) 出现的次数。 首先,分成两类。 小于 \(abcx000\) 的:

  • 2022 Google Kick Start Round A2022-03-20 16:36:35

    AC代码 Speed Typing 当且仅当\(P\)是\(I\)的子序列时,可行,然后答案是\(|I| - |P|\)。 Challenge Nine 有一个经典的结论:x是9的倍数 等价于 x的各数位之和为9的倍数。然后有只能插入1到9,所以插入的数字只有一种可能,记其为\(I\) 然后就是找个最优的位置插入就可以了,即找到第一个大于

  • java语法-数位进制2022-03-06 11:03:24

    数位进制 整数拓展 二进制、十进制、八进制、十六进制表达“10”怎么处理? 二进制加0b 十进制 八进制加0 十六进制加0x 举例: int i = 10; int i1 = 010; //八进制 0 int i2 = 0x10; // 十六进制0x 0~9 A~F int i3 = 0b10; System.out.println(i); System.out.println(i1); System.

  • 数位 dp 总结2022-02-27 19:33:53

    用途:统计 \([1,x]\) 中满足某某性质的数的个数。 (当然,如果题目要求统计 \([l,r]\) 中的数,那么用 \([1,r]\) 的答案减 \([1,l-1]\) 的答案即可) 数据范围:\(10^9\) 起步。 状态:现在是第几位(\(x\),并记这一位上的数字为 \(num_x\))、有没有前导零(\(zer\))、能枚举的范围是 \([0,9]\) 还是

  • 数位dp2022-02-26 13:00:08

    计数问题 https://www.acwing.com/problem/content/340/ # include <iostream> # include <cmath> using namespace std; int dgt(int n) // 计算整数n有多少位 { int res = 0; while (n) ++ res, n /= 10; return res; } int cnt(int n, int i) // 计算从1到n的整

  • 基数排序2022-02-09 16:03:04

    基数排序又称桶排序,属于分配式排序,通过简直各个位的值,将要排序的元素分配到某些同种达到排序的效果 基数排序是属于稳定性的排序,基数排序法的是效率高的稳定性排序法 基数排序是桶排序的扩展 基数排序的实现:将整数按位数切割不同的数字,然后按不同的数字,然后按每位数进行比较 基本

  • LeetCode 5984. 拆分数位后四位数字的最小和2022-02-06 20:34:15

    文章目录 1. 题目2. 解题 1. 题目 给你一个四位 正 整数 num 。请你使用 num 中的 数位 ,将 num 拆成两个新的整数 new1 和 new2 。 new1 和 new2 中可以有 前导 0 ,且 num 中 所有 数位都必须使用。 比方说,给你 num = 2932 ,你拥有的数位包括:两个 2 ,一个 9 和一个 3 。 一

  • 动态规划(六):数位型DP2022-02-05 17:04:33

    动态规划:数位统计DP(计数问题) 数位统计DP AcWing 338. 计数问题 给定两个整数 \(a\) 和 \(b\),求 \(a\) 和 \(b\) 之间的所有数字中 \(0 \sim 9\) 的出现次数。 例如,\(a=1024,b=1032\),则 \(a\) 和 \(b\) 之间共有 \(9\) 个数如下: 1024 1025 1026 1027 1028 1029 1030 1031 1032 其

  • 位运算的一些性质2022-02-04 16:02:54

    一道位运算交互题的题解 两数位运算等式 \(a \bigoplus b=(a|b)-(a\&b)\) \(a \bigoplus \ b=(a\&b) \bigoplus (a|b)\) \(a|b=(a \bigoplus b)\bigoplus(a\&b)\) \(a|b=(a \bigoplus b)+(a\&b)\) \(a+b=(a \bigoplus b)+2(a\&b)\) \(a+b=(a|b)+(a

  • P00604:数位和(c++代码)2022-01-25 21:33:45

    目录 题目题目描述格式输入输出 样例输入数据 1输出数据 1 分析求最小值求最大值 CODE(c++) 题目 题目描述 给出一个有 N 位的整数,并且各位数的和也是 N,求满足条件的最小、最大的 N 位的整数分别是多少。 格式 输入 共一行有一个正整数 N。1<=N<=1000 输出 输出共两行,

  • 数位DP - 数字游戏 - 一本通 5.3 练习 12022-01-21 17:02:57

    题目描述 由于科协里最近真的很流行数字游戏,某人又命名了一种取模数,这种数字必须满足各位数字之和 mod N 为 0。现在大家又要玩游戏了,指定一个整数闭区间 [a,b],问这个区间内有多少个取模数。 输入格式 题目有多组测试数据。每组只含三个数字 a,b,N。 输出格式 对于每个测试数

  • 数位dp总结 之 从入门到模板2022-01-13 08:00:26

    原文 一、基础篇 数位\(dp\)是一种计数用的\(dp\),一般就是要统计一个区间\([le,ri]\)内满足一些条件数的个数。所谓数位\(dp\),字面意思就是在数位上进行\(dp\)咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位......数的每一位就是数位啦! 之所以要引入数位

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有