lambda QAQ

fmap :: (q -> a) -> f q -> f a

Poj 3208 Apocalypse Someday

求第nn小的数位中含有三个连续的6的数。考虑小于xx的数位中含有连续三个6的数的个数,可以数位dp。状态为之前连续的6的个数,如果已经有三个6了,无论加什么数字都是合法状态,否则加一个不为6的数就重置个数为0。然后二分就好了#include<cstdio> #include<cs...

2016-10-19 17:12:10

阅读数:177

评论数:0

Codeforces 55D - Beautiful numbers

统计[L,R][L,R]内能被自己每一非零位整除的数的个数。一眼数位dp考虑到LCM(1,2...9)=2520LCM(1,2...9) = 2520可以用前缀mod2520和前缀非0数的LCM做为状态注意到由1到9组成的lcm其实是很稀疏的,可以离散化一下。具体就见代码吧。#include<...

2016-10-12 17:57:21

阅读数:167

评论数:0

Bzoj 3530 数数

求[1,n](n≤101000)[1,n](n\le 10^{1000})中不包含给定数字作为字串的数字个数(mod109+7)\pmod{10^9+7},给定数字总长度≤1500\le 1500。一眼看过去是一个用AC自动机表示状态,用数位dp的模板题注意前导零是不会被统计到的具体见代码#inc...

2016-10-11 16:54:04

阅读数:154

评论数:0

Hdu 4507 吉哥系列故事——恨7不成妻

Hdu 4507 吉哥系列故事——恨7不成妻求[L,R][L,R]中不满足以下任意一条的数的平方和1 整数中某一位是72 整数的每一位加起来的和是7的整数倍3 这个整数是7的整数倍;一眼看去又是一个数位dp,但是怎么统计平方和呢?假设我们在统计最高位为x的n个数的平方和有∑i=1n(x+a)2=n...

2016-10-09 10:15:56

阅读数:212

评论数:0

Lonlife 1016 Change of Life

定义f(x)f(x)为LIS(a0,a1...am)(n=a0+a1×10+...+am×10m,0≤ai≤9,am≠0)LIS(a_0,a_1...a_m)(n = a_0 + a_1\times 10+...+a_m\times 10^m,0\le a_i\le 9,a_m\neq 0)求∑n...

2016-10-09 09:56:36

阅读数:155

评论数:0

Codeforces 258B - Little Elephant and Elections

从[1,m][1,m]中依次选择77个数,满足前六个数中44和77的个数之和小于最后一个数的44和77的个数的方案数(mod1e9+7)\pmod{1e9+7}我们按照4和7的个数对[1,m]的数做等价类划分。然后dfs就好。前半部分可以用数位dp解决。#include<bits/stdc+...

2016-10-08 08:40:15

阅读数:153

评论数:0

Hdu 5456 Matches Puzzle Game

问有多少个等式满足使用的火柴棍个数恰好为nn个输出等式个数(modm)\pmod{m}5≤n≤500,3≤m≤2×1095\le n \le 500,3 \le m \le 2\times 10^9就是求满足a+b=ca + b = c,并且a,b,ca,b,c每一位按照使用的火柴棍个数加权之后恰...

2016-10-06 17:20:36

阅读数:363

评论数:0

Hdu 5921 Binary Indexed Tree

题解链接题意搬运: 用树状数组维护一个序列,在给区间 [l,r][l,r] 加上一个tt的时候,要给 [1,r][1,r]加上 tt,给 [1,l−1][1,l−1] 减去 tt,两次操作后值真正发生变化的节点个数就是这一次区间修改的代价,现在要修改每一个[1,n][1,n]的子区间,求总代价...

2016-10-05 21:53:14

阅读数:901

评论数:0

Ural 1081 Binary Lexicographic Sequence

数位dp+二分找出第k个二进制表示中没有相邻的1的数看起来很不好做是不是,但是作为数位dp,我们还是可以处理小于x的二进制表示没有相邻1的数个数这部分还是挺简单的?然后我们就可以二分去找答案了~感觉这个都是套路,还是见代码吧o(` • ~ • ′。)o #include<bits/stdc+...

2016-05-23 17:24:11

阅读数:179

评论数:0

bzoj 4513 储能表

一句话题面∑x=0n−1∑y=0m−1min(x⊕y−k,0)(modp)\sum\limits_{x=0}^{n-1}\sum\limits_{y=0}^{m-1}min(x\oplus y-k,0) \pmod{p}好的题面就到这里数位dp一下就好记忆话搜索的时候其实用不着很多的分类讨论,具体...

2016-05-07 23:08:05

阅读数:1156

评论数:0

HDU 4734 F(x)

一个简单的数位dp这题的时间卡的有点紧,因为T比较大刚开始每组输入都重新计算dp数组,然后喜闻乐见的T了好久重新设计状态让计算出来的dp数组和A无关,这样就可以多次利用了 #include<bits/stdc++.h> using namespace std;#define LL lo...

2016-05-07 10:43:42

阅读数:273

评论数:0

UVa 11361 Investigating Div-Sum Property

一个不错的数位dp入门题求区间[a,b][a,b]中满足各个数位之和是k的倍数且这个数本身也是k的倍数的数的个数 数据范围 : 1≤a,b≤231,1≤k≤100001\leq a,b\leq 2^{31},1\leq k \leq 10000一个不错的数位dp入门题感觉这题如果要想清楚的话,还...

2016-03-28 20:31:08

阅读数:309

评论数:1

hdu 3652 B-number

又是一个数位dp入门题,求1到n中含有13作为子串而且能被13整除的数的个数 具体见代码吧 #include #include #include using namespace std; const int maxn = 15; int dp[maxn][maxn][maxn][maxn...

2016-03-19 11:08:26

阅读数:246

评论数:0

hdu 2089 数位dp

又一个水暴了的数位dp 感觉数位dp相对于其他的dp来说,只是状态表示的维数多了一点,转移时需要注意的点多了一点,其他的好像也没什么 毕竟转移的时候要注意的地方,在我目前所做的数位dp中,都是一样的 存个代码好了( #include using namespace ...

2016-03-12 10:05:36

阅读数:134

评论数:0

UESTC 250 windy数

人生第一个数位dp成就达成! #include using namespace std; #define LL long long LL dp[15][10][2]; int dig[15]; LL dfs(int pos,int pre,bool limit,bool leadz){ ...

2016-03-11 21:49:26

阅读数:300

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭