自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 AC自动机的初步学习 hdu2222 AC自动机入门题

本来KMP和trie树就不太熟悉,但是就是想弄明白AC自动机是什么东东,所以就找了一些博客学习了一下,用hdu2222练了一下手。 推荐几篇很好的博客: http://www.cppblog.com/menjitianya/archive/2014/07/10/207604.html 这篇博...

2016-02-29 23:12:56

阅读数 433

评论数 0

原创 UVa 11732 strcmp函数 trie树 左儿子右兄弟表示法

题意: 给出n个字符串, 计算两两比较的次数. 每次比较都需要比较(str1[i] == str2[i])和 (str1[i]== '\0'各一次). 分析: 边插入边统计,这样就刚好是两两比较一次的结果。如果先建树再深搜,那么就多比较了一次,/2就可以。 #inc...

2016-02-29 10:02:57

阅读数 361

评论数 0

原创 LA 3942 背单词 trie树+dp

题目: 题意: 给定一个字符串和给定一个单词集合。问从给定单词集合中选取单词,有多少种选取方法刚好拼接成字符串。 例如: abcd 4 a b cd ab 有两种 a-b-cd ab-cd 分析: 刘汝佳书上入门经典的题目,看了他的模板敲了下,不错,我原先是用链表来存储...

2016-02-28 21:22:51

阅读数 394

评论数 0

原创 poj 3630 找重复前缀 trie树

题目:点击打开链接 题意: 给你一些电话号码,如果其中一个电话号码是另一个电话号码的前缀,那么输出NO,否则YES 分析: 这题就是找最小前缀问题,以前我都是用string然后排序,然后取相等的一段判断就行。今天主要是学习一下trie树。 如果是动态节点的话,会TLE,只能初始化数组...

2016-02-28 17:49:14

阅读数 623

评论数 0

原创 hdu 1075 翻译火星文 trie树 / map

题目:点击打开链接 题意:给你一段火星文对应的英文,再给你几句火星话,让你翻译成英文。 分析:先把火星文建成一颗字典树,在翻译的时候,查找每个单词块,看是否这个串在字典树中能否找到,因为在建树的时候id存储了对应单词的英文,所以查找的时候返回id就可以,找不到就返回-1. 对于这题,如果简单的...

2016-02-28 13:59:18

阅读数 202

评论数 0

原创 hdu 1247 trie树入门题

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1247 题意:给你一些单词,输出是由两个其他的单词组成的单词。 分析:trie树的入门题,很简单,这题的数据很水,每个单词的长度不会超过26. #include #include #include usin...

2016-02-28 11:08:38

阅读数 9

评论数 0

原创 hdu1693 Eat the Trees 插头DP

题目:点击打开链接 题意:一个棋盘上有0,1.需要找一些回路把1全部串起来,问总方法数 分析:插头dp第一题,果然有点难度,用了我一天的时间,还是自己太菜了。。。。 我是看了这个图才恍然大悟的,这就对应下面的三种可以联通的情况。 对于为什么 f[i][0][s 可参考文档: http:...

2016-02-27 22:06:35

阅读数 225

评论数 0

原创 poj 2411 骨牌覆盖问题 状压dp

题目:点击打开链接 题意:用1*2 的矩形通过组合拼成大矩形,求拼成指定的大矩形有几种拼法 分析: 这题的关键在于什么状态是合法的,可以这样想,用1表示有骨牌覆盖,用0表示空着。在覆盖第i行的时候,那么如果覆盖的状态是合法的,覆盖完后第i-1行必须没有空格了(全是1111),所以可以看出...

2016-02-27 00:04:25

阅读数 1391

评论数 0

原创 zoj 3471 Most Powerful 状压dp(简单)

题目:点击打开链接 题意:有n种原子,原子i和j相撞,如果j消失,会产生能量a[i][j],如果i消失,会产生a[j][i]能量,问产生的最大能量。 分析:这题很简单,本没必要写,但这是我第一道独立做出来的状压dp题,于是写出来了。 f[i]表示状态是i的最大能量,i是一个二进制数,...

2016-02-26 20:09:04

阅读数 186

评论数 0

原创 poj 2288 哈密顿路 状压dp

题目:http://poj.org/problem?id=2288 题意:给出了n个地点和m座桥(连接顶点的),画出哈密尔顿圈并求出最大值,他们的最大值由三部分决定,1:n个地点的value值之和,2:顶点之间连接之积,3:三个(连续的)顶点之积;要求输出最大值,并且存在最大值的情况总数,同时,对...

2016-02-26 17:36:08

阅读数 249

评论数 0

原创 hdu 3001 Travelling 状压dp TSP变形

题目:点击打开链接 题意:给定n 个城市已经 m 条路 以及对应路费c,要求遍历所有城市最少的路费,每个城市不能超过2次 分析:要求每个点最多走两边,不是只可以走一次,所以要用三进制的状态压缩解决这个问题。可以预处理每个状态的第k位是什么。 状态的表示 f[st][i],表示现在在i...

2016-02-26 15:20:27

阅读数 179

评论数 0

原创 几道数学问题 (未完成)

知识点:判断三角形是否为非退化三角形。 方法:判断三点是否在一条直线上,看斜率。但不能直接求斜率,会有精度损失而且还要分情况处理。解决如下: bool ok(point a,point b,point c) { return (a.y-b.y)*(c.x-b.x)==(c.y-b.y)*(...

2016-02-26 11:04:40

阅读数 172

评论数 0

原创 TSP问题 动态规划实现

货郎担问题(TSP)。有n个城市,两两之间均有路直接连接,求一条经过每个城市一次且仅一次,最后返回起点的最短路线。 这是刘汝佳书上的一道题,他给出了思路,我实现了一下。 用动态规划解决,可以假设从0点出发,然后回到0点。那么用 f(i,S)表示现在处在i点,要去访问剩余的在集合S中的点,集...

2016-02-25 20:33:10

阅读数 2800

评论数 0

原创 poj 3311 送披萨 状压dp

题木:点击打开链接 题意: 位于0点小伙计给n个点送披萨,每个点可以经过多次,问送完n个点回到0的最短路程。类似于TSP问题,不过TSP每个点只可以经过一次。 分析: 对于这题,因为一个点可以经过多次,所以可以预处理两个点的最短距离,这个距离可以经过多次。处理完之后,就好办了,可以...

2016-02-25 16:33:02

阅读数 230

评论数 0

原创 poj 1185 炮兵阵地 状压dp

题目:点击打开链接 题意:如图,大炮可以放在p处,黑色区域是可以攻击的范围,问怎么放大炮可以不会误伤,求出最大数? 分析: 和上一篇poj3254一样,这是这题多加了一个判断,就是还要考虑上上行的情况,其实跟上一题差不多,具体参考代码。 【状态表示】dp[i][j][k] ...

2016-02-25 09:50:30

阅读数 163

评论数 0

原创 poj 3254 Corn Fields 状压dp入门题

题目:点击打开链接 题意:一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧,可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方格不能同时放牛,即牛与牛不能相邻。问有多少种放牛方案(一头牛都不放也是一种方案) 分析:状压dp的入门题,这题就是把每一行等效成一个...

2016-02-24 19:48:02

阅读数 203

评论数 0

原创 Codeforces 629C - Famil Door and Brackets dp

题目:629C - Famil Door and Brackets 题意: 给出长度为m的含有()的字符串s,要求在s的前面和后面各加上一个字符串p,q(可以是空串),构成长度为n的合法串。 分析:合法串就是对于任意位置的括号前缀和大于等于0,且最后的前缀和为0。 枚举这个字符串前...

2016-02-24 13:33:58

阅读数 202

评论数 0

原创 Codeforces 629D - Babaei and Birthday Cake 线段树

题目:629D - Babaei and Birthday Cake  题意:给你1-n个圆柱体,要求从1-n,选择一些体积逐渐增大的圆柱体,使得所选的圆柱体体积之和最大。 分析:看到这题,n的数据范围1e5,感觉会超时,于是很快用n^2的dp敲完,超时。。。 O(n^2)的状态转移方程...

2016-02-23 22:10:06

阅读数 253

评论数 0

原创 hdu 1828 Picture 线段树 矩形周长并

题目:点击打开链接 题意:矩形周长并 思路:与面积不同的地方是还要记录竖的边有几个(numseg记录),并且当边界重合的时候需要合并(用lbd和rbd表示边界来辅助) 线段树操作:update:区间增减 query:直接取根节点的值 #include #include #include...

2016-02-23 14:20:48

阅读数 361

评论数 0

原创 hdu 1542 Atlantis 线段树矩形面积并+离散化

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1542 题意:给一些矩形,可能会有重叠,求总的矩形面积 我是看了胡浩的那篇文章,学习一下。 思路:浮点数先要离散化;然后把矩形分成两条边,上边和下边,对横轴建树,然后从下到上扫描上去,用cnt表示该区间下...

2016-02-23 10:48:20

阅读数 363

评论数 3

原创 hdu 3667 线段树区间合并

题目:点击打开链接 题意:有一个线段,从1到n,下面m个操作,操作分两个类型,以1开头的是查询操作,以2开头的是更新操作 1 w  表示在总区间内查询一个长度为w的可用区间,并且要最靠左,能找到的话返回这个区间的左端点并占用了这个区间,找不到返回0  好像n=10 , 1 3 查到的最左...

2016-02-22 17:21:18

阅读数 230

评论数 0

原创 hdu 5631 并查集判联通

题目:点击打开链接 题意: 问题描述 众所周知,萌萌哒六花不擅长数学,所以勇太给了她一些数学问题做练习,其中有一道是这样的: 给出一张 nnn 个点 n+1n+1n+1 条边的无向图,你可以选择一些边(至少一条)删除。 现在勇太想知道有多少种方案使得删除之后图依然联通。 当然,...

2016-02-21 09:44:15

阅读数 444

评论数 0

原创 poj 2096 概率dp

题目:点击打开链接 题意: 一个软件有s个子系统,会产生n种bug。     某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中。     求找到所有的n种bug,且每个子系统都找到bug,这样所要的天数的期望。     需要注意的是:bug的数量是无穷大的,所以发现...

2016-02-20 18:43:38

阅读数 212

评论数 0

原创 hdu 4405 飞行棋 概率dp

题目:点击打开链接 题意:跳棋有0~n个格子,每个格子X可以摇一次色子,色子有六面p(1= 分析: f[i]表示从i点到n+点的期望,易见f[n]=0, 比如n=3,m=0 所列方程为e[0]=1/6e[1]+1/6e[2]+1/6e[3]+1                   ...

2016-02-20 16:50:11

阅读数 253

评论数 0

原创 hdu 4734 数位dp

题目:点击打开链接 题意:给一个数A (十进制表示形式为AnAn-1An-2 ... A2A1,定义函数 F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1,给一个B,求B以内的i,满足F(i) 分析:f[i][j]表示i位...

2016-02-20 13:43:14

阅读数 3

评论数 0

原创 hdu 3652 B-number 数位dp

题目:点击打开链接 题意:求小于n,是13的倍数且含有'13'的数的个数。n《1e9 分析:看了别人的才写出来,点击打开链接,因为要两个要求,不含13且不是13的倍数,这样的话,可是可以用三维数组表示状态f[i][j][k],铁打不变的是i表示数位,然后增加上用j表示余...

2016-02-20 10:14:32

阅读数 179

评论数 0

原创 hdu 2089 不要62 数位dp

题目: 题意:给定一个区间[a,b],问在这个区间中的数字,不包含4和62的数有多少个? 分析:数据范围小于1e6,如果暴力的话,再加上分解因数,预处理的时间复杂度数量级最大1e7,查询O(1)。这题主要是学习一下数位dp。 暴力: #include #include using namespac...

2016-02-19 21:08:18

阅读数 213

评论数 0

原创 按位求和问题 数位计数

看了高逸涵 写的那篇《数位计数问题解法研究》,照着他给的代码,学习一下。 例一、按位求和问题1 题目大意:  给定 A,B(1 代码: #include #include using namespace std; typedef long long ll; ll getsum1(i...

2016-02-19 17:26:32

阅读数 1554

评论数 0

原创 对《浅谈数位类统计问题》的学习

学习了一下数位这类问题,看了这篇论文,不错,把代码敲了一下,没有注册账号验证一下,仅供参考。 论文:点击打开链接 【例题 1】Amount of degrees (ural 1057) 题目大意: 求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K 个互不相等的 B 的整 ...

2016-02-19 14:18:40

阅读数 391

评论数 0

原创 Codeforces 626D 暴力

题目:点击打开链接 题意:A和B玩小球,一共玩了三局,前两局A胜,第三局B胜,问最后B的得分总和大于A的可能性。 #include #include #include #include #include using namespace std; typedef long long ...

2016-02-18 18:01:54

阅读数 235

评论数 0

原创 Codeforces 626C 简单题

题意:求出2的倍数n个,3的倍数m个,但是每个数只能出现一次,也就是说,6的倍数只能出现一次,问最后出现的最大的数? 分析:这题很简单,关键就是怎么判断6的倍数只用了一次,我的思路是先找出全部把n和m各自都选上,求出6的倍数重叠的个数num,然后依次在n和m的尾端判断,放在n的尾端还是放在m...

2016-02-18 16:08:51

阅读数 487

评论数 0

原创 zoj 3627 贪心模拟

题目:点击打开链接 题意: 有n个城市排列在一条线上,两个人刚开始处在p位置,每到一个城市可以获得这个城市的财宝,但是需要一天。他们一共有t天时间可以行动,但是他们之间的距离不能超过m,求最大获得财富。 分析: 若想获得最大财富,那么这两个人刚开始必须分头走,一直走到相距m,如果还有时间的...

2016-02-18 10:13:47

阅读数 220

评论数 0

原创 poj 1155 树形dp+分组背包

题目:点击打开链接 题意: 有一个电视台要用电视网络转播节目。这种电视网络是一树,树的节点为中转站或者用户。树节点的编号为1~N,其中1为总站,2~(N-M)为中转站,(总站和中转站统称为转发站)N-M+1~N为用户,电视节目从一个地方传到另一个地方都要费用,同时每一个用户愿意出相应的钱来付电视节...

2016-02-17 22:33:19

阅读数 180

评论数 0

原创 zoj 3626 树形dp

题目:点击打开链接 题意:有n个城镇,他们之间有路相通,知道每条路需要走的天数,每个城镇的价值,现在一个人想要从k点出发,在m天内去访问别的城镇,但是必须在m天之前返回k点,求可以获得的最大价值 dp[i][j]表示从i点出发走j天获得的最大价值,需要往返,注意m/=2即可 状态转移...

2016-02-17 18:47:55

阅读数 154

评论数 0

原创 hdu 1712 裸分组背包

题意:有n门课程,有个人有m天时间去学习,每门课程学习不同的天数会有不同的价值,问最大价值? 分析:这是一道十分裸的分组背包题。 以下是背包九讲的文段,我刚开始做用的是二维,其实一维就够了。 这个问题变成了每组物品有若干种策略:是选择本组的某一件,还是一件都不选 。 也就是说设 f[k]...

2016-02-16 15:30:48

阅读数 176

评论数 0

原创 UVA 1218 完美服务 树形dp

题意:有n台计算机形成树形结构,要求在其中一些做服务器,使得每台不是服务器的计算机恰好和一台服务器相连,求服务器的最少数量。 分析:不看题解的话,不会做。。。 f[u][0]:表示u是服务器,则每个子节点可以是服务器也可以不是服务器  状态转移方程是:f[u][0]=sum{ min(f[...

2016-02-15 12:42:03

阅读数 162

评论数 0

原创 poj 1655 求树的重心

题目:点击打开链接 题意:有n-1条边链接n个点形成树形结构,问删除哪个点使得,形成的最大连通分量节点数最少,如有多解,输出字典序最小的 分析:和poj3107那题一样,求树的重心,dfs一次,从叶子到根转移,求出每个点的子树的最大连通分量,再和父节点所在一侧的连通分量比较,取最大的一个,再看...

2016-02-15 09:05:50

阅读数 216

评论数 0

原创 poj 2378 简单树形dp

题目:http://poj.org/problem?id=2378 题意:有n个谷仓有n-1条路连接,问最少删除哪几个点才能使得删除点后得到的连通图的加点数不大于n/2. 分析:求树的重心的变形题,poj3107的简单版,一遍dfs从叶子到根转移找出找到以每个节点为根的子树的结点数,f[u]=...

2016-02-14 19:06:04

阅读数 279

评论数 0

原创 poj 3107 Godfather 求树的重心

题目:点击打开链接 题意:黑手党有n个人,关系相当于一棵n个节点的树,去掉某个节点后,树被分成很多块,使得分出来的块中最大连通块节点数最小,这个节点便是Goldfather,Goldfather可能有多个,升序输出。 分析:其实这是一道求树的重心的问题,对于一颗n结点的无根树,找到一个点,...

2016-02-14 15:50:50

阅读数 249

评论数 0

原创 hdu 5626 Clarke and points 最大曼哈顿距离

题目:点击打开链接 题意:给n( 分析:这题和poj2926那题一样。 |xi−xj|+|yi−yj|,拆绝对值可以得到: 正正:xi−xj+yi−yj=(xi+yi)−(xj+yj) 负负:−xi+xj−yi+yj=(−xi−yi)−(−xj−yj) 正负:xi−xj−yi+yj=(xi...

2016-02-14 15:06:49

阅读数 609

评论数 0

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