10.2 模拟赛总结 T1. 数位dp: 一个非常非常非常非常显然的数位 DP $[L,R] = [1,R] [1,L 1]$ 所以是分别求两次小于等于某个数字的方案数 $f(i,j,k)$ 表示从低位数起的第 $i$ 位,按照规则计算后答案为 $j\quad (j=0,1)$ $k$ 表示只考虑后 ...
分类:
其他好文 时间:
2019-10-02 22:47:05
阅读次数:
96
题意: 输入一个正整数N(N<=2^30),输出从1到N共有多少个数字包括1。 代码: #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(fa ...
分类:
其他好文 时间:
2019-10-02 11:05:35
阅读次数:
98
大意: 给定一个$1e9\times 1e9$的矩阵$a$, $a_{i,j}$为它正上方和正左方未出现过的最小数, 每个询问求一个矩形内的和. 可以发现$a_{i,j}=(i-1)\oplus (j-1)+1$, 暴力数位$dp$即可 ...
分类:
其他好文 时间:
2019-09-29 12:32:59
阅读次数:
71
$dp[x][p][pp]$表示第x位,当前已有数字mod 2520(1~9数字的lcm)为p,当前各位数字的lcm为pp 观察到数组太大,考虑压缩,第三维lcm最多只有9个数字,打表发现最多只有48个状态,压掉第三维即可 打表用一个状压然后set维护(广搜也可以)即可 有一个坑点:题目里似乎没有说 ...
分类:
其他好文 时间:
2019-09-26 23:38:30
阅读次数:
96
题目传送门 【题目大意】 定义不含前导零且相邻两个数字之差至少为2的数为$windy$数,求在$[A,B]$这个区间内存在多少$windy$数。 【思路分析】 好的据说这是一道数位DP板子题……$mark$一下,不过说实话这题难道不是记忆化搜索吗???QAQ 我们首先把问题转化成求$[1,B]$之间 ...
开学之后完全没时间写博客.... HDU 2089 不要62(vjudge) 数位DP 思路: 题目给出区间[n,m] ,找出不含4或62的数的个数 用一个简单的差分:先求0~m+1的个数,再减去0~n的个数. 但问题依旧不简单,再次简化为求0~i位数中不含4或62的数的个数. 所以第i位数中的吉利 ...
分类:
其他好文 时间:
2019-09-16 19:18:43
阅读次数:
90
看到这道题,然后便联想到了数位DP什么的……接着发现了答案在一个界内,然后就想着暴力了。 首先如果对每一位都设一个变量的话,根据插板法,最多只能有1e7个项对答案有贡献,和答案在一个界内这个条件组合起来,这启发我们去想暴力。 首先非基变量是没有用的,考虑它们的选和不选,最后都要除掉。 所以只有基变量 ...
分类:
其他好文 时间:
2019-09-13 01:33:47
阅读次数:
92
数位DP|记忆化搜索 听隔壁巨佬说DP和记搜可以互相转换 显然这个题是可以用记忆化搜索过的,那我们应传哪几个参数? 首先就是记搜最基本的位置标记。 然后就是枚举的数字各位之和,以及取模之后的余数(判断能否整除某个数)。 最后就是判边界的参数。 当我们搜到最后一位时如果余数为0,并且各位之和=mod, ...
分类:
其他好文 时间:
2019-09-10 12:50:03
阅读次数:
90
数位DP由来 先来一道题 "传送门" 给出一个闭区间,求闭区间里的round number数(只要该数字二进制中0的个数≥1的个数,就是round number) 而$2^{31}$就可以等于2e9了,所以很容易可以得到以下代码 include include define ll long long ...
分类:
其他好文 时间:
2019-09-09 19:44:17
阅读次数:
90