自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

No__stop

No one could stop you, as surely want it .

  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 hdu 4622 Reincarnation(后缀数组)

hdu 4622 Reincarnation题意:还是比较容易理解,给出一个字符串,最长2000,q个询问,每次询问[l,r]区间内有多少个不同的字串。(为了与论文解释统一,这里解题思路里sa数组的值是从1到n,但其实代码中我的sa数组的值是从0到n)。解题思路:09年的后缀数组论文里有一个类似的题,求一个字串的不同字串有多少个。问不同的字串有多少个,即问对于每一个后缀,它的所有前缀中

2013-07-31 16:30:33 2386 4

原创 hdu 4630 No Pain No Game

hdu 4630 No Pain No Game题意:给出一个n和1到n的某个排列,询问q次,每次询问[l,r]区间内任意挑两个数,最大公约数的最大值是多少。解题思路:记录一个pre数组,pre[i]表示对于某个数i,已经出现过的它的倍数最近是在那个位置。将询问按右端点排序。用树状数组维护从某一位置到maxn的最佳答案。从1到n开始扫描num[i],sqrt(num[i])的复杂度去枚举它

2013-07-31 13:57:48 1390

原创 HDU4601 Letter Tree

多校第一场,HDU4601 Letter Tree

2013-07-28 20:58:06 1112

原创 hdu4605 Magic Ball Game

#include#include#include#includeusing namespace std ;const int maxn = 111111 * 2 ;struct Ans{ int x , y ;} ans[maxn] ;struct Point{ int x , v ;} p[maxn] ;struct Node{ int id , x ;

2013-07-24 16:31:51 931

原创 poj2486 Apple Tree (树形dp)

题意:有一颗苹果树,树上的u节点上有num[u]个苹果,树根为1号节点,囧king从根开始走,没走到一个节点就把接点上的苹果吃光,问囧king在不超过k步的情况下最多吃多少个苹果。解题思路:处理出两个dp数组,f1[u][i]表示在不超过i步的情况下,从u节点开始,往下吃,吃完后回到u节点,最多能吃多少苹果。f2[u][i]表示在不超过i步的情况下,从u节点开始往下吃,最多能吃多少苹果。#in

2013-07-24 14:21:36 884

原创 网络流

最大流ISAP模板poj1273#include#include#include#include#define ll __int64using namespace std ;const int maxn = 111111 ;struct Edge{ int from , to , cap , flow , next ;} edge[maxn<<1] ;int

2013-07-19 10:45:05 931

原创 codeforces 161D Distance in Tree(树形dp)

codeforces 161D Distance in Tree(树形dp) 题意:求一颗树中,两个节点间距离为m的点对有几对。因为节点数有50000,考虑最短路算法肯定是不对的。解题思路:树形dp。先预处理出dp[u][i]表示以u为根的树上,到u的距离为i的点有多少个。再dfs搜索一遍,将dp[u][m]*2累加到sum中,即u树中到u的距离为m的个数。然后统计所有的子树 将d

2013-07-18 16:15:08 999

原创 HDOJ (HDU) 1561 The more, The Better (树形DP)

HDOJ (HDU) 1561 The more, The Better (树形DP)题意:中文题。。解题思路:求最优解,考虑dp。树形dp,转换成有依赖的分组背包dp[u][i]表示u子树中取i个物品,能获得的的最大价值是多少。cnt[u]数组表示u子树的大小,即背包的容量,cnt数组可以通过递归计算子树后不断增大。设V为U的儿子,取到v必须取到u。所以先不考虑将u物品放入背包中,而

2013-07-18 15:21:05 837

原创 zstu4119 Juice树形dp

题意:给出一颗树,树根有无穷大的能量。所有的就节点通过管道连接,管道能流过的能量上限为p[i](1-100)。点亮每一个节点都需要一定的能量r[i](0-100)。流入每个子节点管道的能量总和,不能超过它与父亲相连的管道的直径。问最多能点亮几个节点。解题思路:题目要求最优值,可以想到dp的思路。dp[u][i]表示流入u节点i 的能量,最多能将u子树上的多少个节点点亮。那么就转换成了一个分组背

2013-07-18 10:50:49 779

原创 SRM 497 DIV1 550

题意:给出一颗树(需要自己先构造),书上的节点有颜色和tag两种信息。颜色共有7种,tag有3种,分别是“u”,“i” ,“b”类型的tag。我们要对这棵树进行染色,每次染色,可以对当前节点染色,也可以对其子树染色。对子树染色时,每次染色能且仅能将所有类型某一tag的节点染成某一相同颜色。问至少需要染色多少次,才能将每个节点染成其所需的相应颜色。解题思路:我们要得到的答案为某一最优解,因此能够

2013-07-16 15:22:58 839

AC自动机练习题

AC自动机练习题,加简单的思路。。又要详细思路及代码的可以到我博客里看,也可以联系我。

2013-05-27

rmq算法(倍增)

rmq算法,有详细注释 dp1[i][j] = max ( dp1[i][j-1] , dp1[i+(1<<(j-1))][j-1] ) ; dp2[i][j] = min ( dp2[i][j-1] , dp2[i+(1<<(j-1))][j-1] ) ;

2012-12-17

空空如也

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

TA关注的人

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