自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒟蒻 lxw的博客

学习使我快乐(大雾)

  • 博客(15)
  • 收藏
  • 关注

原创 数位dp总结

到这里,数位dp就告一段落了,kuangbin的专题还差一道,那一道涉及到了ac自动机,目前还不可做。 简单写下数位dp的总结基础部分数位dp有它固定的模板,例如solve,dfs函数的大体写法,和limit的处理。唯一不同的地方就是前缀状态state的维护,最为详细的state记法就是把前面所选择的每一个数都记录下来(即前缀prev),那么这就成了纯粹的暴力。 所以,根据题目...

2018-05-28 21:06:13 322

原创 XHXJ's LIS (数位dp,bitset状态压缩)

题目链接 题目大意:给出L和R找出在[L,R]中满足最长递增子序列长度等于K的个数。 思路: 本来想的是维护一个num[10],num[i]表示以i结尾的lis的长度,0<=num[i]<=9。然后状态压缩的时候发现压缩后太大,看了题解之后知道,必须要用nlogn求lis的思路来做,因为nlogn的思路是维护一个长度为10的bool数组,压缩后状态数少很多。#include ...

2018-05-28 20:41:45 751

原创 没有填的坑

BCD Code:数位dp+ac自动机(kuangbin数位dp专题)

2018-05-28 19:21:48 170

原创 Balanced Number(数位dp,枚举平衡点)

题目链接 大意:平衡数有平衡点,使平衡点两边的权值(数值)×权重(到平衡点的距离)和相等对于任意一个平衡数,它的平衡点唯一 枚举平衡点统计平衡数的个数注意0的情况,0有一个平衡点,但是00有两个平衡点,000有三个平衡点#include <bits/stdc++.h>#define ll long longusing namespace std;ll dp[20]...

2018-05-26 16:15:35 440 3

原创 Round Numbers(数位dp,前导0)

题目链接 题目大意:要求二进制中0的个数大于等于1#include <bits/stdc++.h>#define ll long longusing namespace std;int len,dig[40];ll dp[40][100];ll dfs(int pos,int state,bool zero,bool limit){ if(pos==0){...

2018-05-25 20:18:33 824

原创 Balanced Numbers(数位dp,前导0,状态压缩)

题目链接 题目大意:要求每个奇数出现的次数为偶数,每个偶数出现的次数为奇数状态压缩,一个长度为10的3进制数。 第i位上为0,表示i没出现过,为1表示i出现奇数次,为2表示i出现偶数次。 change函数进行状态转移int change(int state,int pos){ int data=0; if(state==0) data = 0; else da...

2018-05-25 20:01:30 635

原创 B-number (数位dp入门)

题目链接n中存在“13”且n%13==0 注意参数ok的状态转移#include <bits/stdc++.h>#define ll long longusing namespace std;const int mod = 13;int len,dig[20];ll dp[20][20][2][20];ll dfs(int pos,int prev,int ok,...

2018-05-21 21:12:25 1286

原创 Bomb(入门数位dp)

题目链接一开始理解错题意了,以为4949对答案的贡献为2,所以dfs里有个sum参数#include <bits/stdc++.h>#define ll long longusing namespace std;int len,dig[20];ll dp[20][20][20];ll dfs(int pos,int prev,int sum,bool limit){...

2018-05-21 20:57:58 437

原创 Beautiful numbers(数位dp)

题目链接 假设m有k个因子a1,a2,a3…ak 显然n%m%ai = n%ai#include <bits/stdc++.h>#define ll long longusing namespace std;int len,dig[20];const int mod = 2520;ll dp[19][2621][50];map<int,int>h;se...

2018-05-21 20:25:56 233

原创 吉哥系列故事——恨7不成妻(数位dp,求符合条件数的平方和)

(solve(r)+mod-solve(l-1))%mod输出时因为求区间值的mod,所以一定要注意防止出现负数 题目链接#include <bits/stdc++.h>#define LL long longusing namespace std;const int mod = 1e9+7;int a[20],len;LL w[20];struct node{...

2018-05-17 21:48:42 256

原创 hdu 4734 F(x) 数位DP

题目链接 简单的数位dp#include <bits/stdc++.h>#define LL long longusing namespace std;const int mod = 1e9+7;int dp[11][20000];int a[110];int len,maxx;int dfs(int pos,int prev,bool limit){ in...

2018-05-15 17:01:14 78

原创 不要62(数位dp)

不要62LL dfs(int pos,int prev,bool limit){ int i; if(pos==0) return 1; if(!limit&&dp[pos][prev]!=-1) return dp[pos][prev]; int up; LL ans=0; up = limit?a[pos]:9; ...

2018-05-14 20:29:35 117

原创 Gym - 101653R(数位dp)

题目链接 简单的数位dp入门 要求每一位都要不小于前一位核心代码如下:LL dfs(int pos,int prev,bool limit){ int i; if(pos==len) return 1; if(!limit&&dp[pos][prev]!=-1) return dp[pos][prev]; int up; LL a...

2018-05-14 20:11:01 202

原创 Poj 1182食物链(带权并查集)

[食物链](http://poj.org/problem?id=1182)Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 85904 Accepted: 25688Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 ...

2018-05-11 19:13:20 100

原创 二分图最大匹配

//匈牙利算法bool match(int u){ for(auto v:edge[u]){ if(vis[v])continue; vis[v] = 1; if(!from[v]||match(from[v])){ from[v] = u; return 1; } }...

2018-05-03 11:08:31 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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