bzoj
_pkm_
love coding
展开
-
1079: [SCOI2008]着色方案(dp之记忆化搜索)
题目链接 题意:略 解答:考虑到每种颜色最多只能涂5个,设dp[a][b][c][d][e][last]:能涂一个格子的颜色有a种,能涂2个格子的颜色有b种,能涂3个格子的颜色有c种,能够涂4个格子的颜色有d种,能够涂5个格子的颜色有e种,且上一次涂的是last,的方案数。 能够想到的是,比如一种颜色x能涂3个格子,当我们使用它涂一个格子后,那么它就会变为能涂2个格子的类别中去了。这一点决定了原创 2015-11-14 10:29:25 · 565 阅读 · 0 评论 -
BZOJ3555: [Ctsc2014]企鹅QQ(字符串hash)
题目链接 题意:n个字符串长度一样,找出有多少对,字符串只有一个位置不同 解法: 删除所有字符串的某一位的字符,计算新的hash值,找到相同的。#include<bits/stdc++.h>using namespace std;#define LL long long#define pb push_back#define X first#define Y second#defin原创 2015-11-07 23:19:48 · 781 阅读 · 0 评论 -
BZOJ 2243: [SDOI2011]染色 (树链剖分,点权,线段树)
题目链接树链剖分,然后直接跑一遍,线段树//#pragma comment(linker, "/STACK:102400000,102400000")#include<bits/stdc++.h>using namespace std;#define cl(a,b) memset(a,b,sizeof(a))#define fastIO ios::sync_with_stdio(false)原创 2016-10-28 16:56:39 · 258 阅读 · 0 评论 -
BZOJ 1036: [ZJOI2008]树的统计Count(树链剖分 点权)
题目链接 题意:给出一个树,告诉每个点的权值,然后有修改操作,还有询问(u,v)路径上的最大值,(u,v)路径的和树链剖分啦,一般分为点权和边权,剖分部分不变,只是用其他数据结构处理的时候注意一下,点权可以可以转换为该点与父边的权值,就变为了边权,这样就相于给根节点来了一个虚拟的父亲(代码中不用体现),对于剖分的学习,动手自己剖分一遍,就明白了,第二个dfs就是把重边连城链,其实就是给边编号,使得原创 2016-10-26 16:17:10 · 290 阅读 · 0 评论 -
BZOJ 4034: [HAOI2015]T2(树链剖分,点权,线段树)
题目链接 题意: 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。直接跑树链剖分,我们知道剖分的第二个dfs,我的代码是getpos 中,某一个节点的子树节点编号是连续的,所原创 2016-10-29 10:49:29 · 341 阅读 · 0 评论