E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
DP-树型dp
[AGC024] E - Sequence Growing Hard
树型DP
把问题看成每次向序列中添加一个[1,K][1,K]的数,假设我们要填的数是xx,因为要保证字典序变大,那么所填的位置往后的第一个非xx数必须tfaxtx>tfax。4.wx>wfaxwx>wfax。于是我们可以设fi,jfi,j表示有ii个点,wroot=jwroot=j的树的个数。考虑转移,我们可以给根节点添加一个大小为kk,wroot>jwroot>j的子树,因为子树顺序的问题,我们可以钦定这
DOFYPXY
·
2018-05-21 09:16
dp
树
DP-
最长回文子串
#include#includeusingnamespacestd;constintMAXN=200;intmain(){charstr[MAXN];intdp[MAXN][MAXN],res=1;//dp[i][j]表示str[i]到str[j]是否是回文子串,是则为1gets(str);intlen=strlen(str);//边界for(inti=0;i
wangfy_
·
2018-04-06 08:37
动态规划
DP-
最长不下降子序列 LIS
#include#includeusingnamespacestd;constintMAXN=4000;intmain(){intn,number[MAXN],dp[MAXN];//dp[i]表示(强制)以A[i]结尾的最长不下降子序列的长度scanf("%d",&n);for(inti=0;idp[i])dp[i]=dp[j]+1;}maxNumber=max(maxNumber,dp[i]);
wangfy_
·
2018-04-05 16:40
动态规划
DP-
最大连续子序列和
#include#includeusingnamespacestd;constintMAXN=4000;intmain(){intn,number[MAXN],dp[MAXN];scanf("%d",&n);for(inti=0;i
wangfy_
·
2018-04-05 14:38
动态规划
DP-
蓝桥杯-K好数
题目:问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K=4,L=2的时候,所有K好数为11、13、20、22、30、31、33共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模后的值。样例输入42样例
灬CH灬
·
2018-03-23 17:02
算法
【prufer序】树-
dp-
组合数学
今天本蒟蒻学了这么多东西,当然要写几篇水博文。题意:有n个点,第i个点的限制为度数不能超过ai。现在对于每一个s(1≤s≤n)(1≤s≤n),问从这n个点中选出s个点组成有标号无根树的方案数mod1004535809(n#include#includeusingnamespacestd;constintmod=1004535809;typedeflonglongll;lldp[105][105][
ccosi
·
2018-03-13 23:15
---组合数学---
prufer序
[BZOJ4455][ZJOI2016]小星星 容斥原理+
树型DP
先考虑一个错误的DP,fi,j表示子树i中,i映射到j的方案数,这样可能一个点被重复映射。我们考虑多一维状态fi,j,S表示映射点集至多为S的方案,枚举S来DP,用朴素的容斥原理来求出正确答案即可。代码:#include#include#include#definelllonglongusingnamespacestd;intn,m,st[20],top;llf[20][20],ans;boolm
DOFYPXY
·
2018-01-20 19:47
dp
树
容斥原理
[BZOJ2159]Crash的文明世界
树型DP
+第二类Striling数
听说形如xk的都是Stirling数的套路?我怎么没听说过啊。。。有个性质:xk=∑i=1kS(k,i)∗i!∗(xi)考虑一个组合意义证明,就是给k个格子染x种色的方案数,等于先把这k个格子分成若干集合,在选出相同个数的颜色,每个集合染同一种颜色的方案数。i!∗(xi)这部分好像也可写成下降幂。然后因为组合数的杨辉三角性质(nm)=(n−1m−1)+(n−1m),这题边权又恰好为1,所以很好DP
DOFYPXY
·
2018-01-07 22:29
dp
树
组合数学
Stirling数
[ARC086]E - Smuggling Marbles
树型DP
题面首先可以发现以0为根时,层与层之间时独立的,于是就有了一种O(n^2)的做法:对每一层DP一次,设f[d][i][0/1]表示当前考虑第d层的贡献,i的子树中贡献0/1的方案数。那么最后我们得到很多f[][0][0/1],然后问题就变成从每个f[d][0][0/1]只能选其一,选中的数相乘并乘上选的f[][0][1]的个数再求总和,随便计数一下就好。接着我们考虑怎么把这么所有层放在一起DP,我
DOFYPXY
·
2017-12-14 11:26
dp
树
DP-
连续子数组的最大和
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是1)
Amezf
·
2017-11-09 21:34
[2017纪中11-6]拆网线
树型DP
/二分图匹配
树型DP
即可。代码:#inclu
DOFYPXY
·
2017-11-07 14:18
dp
二分图
树
[2017纪中11-3]机房比教室好多了 博弈+
树型DP
题面先考虑出发点在x,先手玩以x为根这棵子树的答案。首先不难证明,a[x]变大,不会变得更劣。那我们考虑先手拿完一个石头后走向一个a[son]>=a[x]的儿子,这样肯定是不明智的,因为假如对手把你推回x,你当然不能和他一直这样推来推去(你肯定先死),所以你会选择去别的儿子,但这当然不如一开始就去别的儿子(因为a[x]更大)。再考虑先手拿完一个石头后走向一个a[son]#include#inclu
DOFYPXY
·
2017-11-03 21:12
dp
树
博弈
Bear and Tree Jumps 【
树型DP
】
传送门ans=∑ceiling(disi,jk)令f(x,k)=k−x%k则ans=∑disi,j+f(disi,j,k)k=1k(∑disi,j+∑f(disi,j,k))于是问题转化为求∑disi,j和∑f(disi,j,k)令sz[i]=以i为根的子树包含的节点个数,far[i]为i的父亲节点则边far[i],i对∑disi,j的贡献=sz[i]∗(n−sz[i])∑disi,j=∑sz[i
lrccccc
·
2017-10-31 15:55
codeforces
树形DP
[四校联训]切树游戏-树形
DP-
组合数学
链接其实记前缀积和后缀积就可以了,没必要求逆元啊。#include#include#include#defineRregister#definelllonglong#definemax_n100010#definemod1000000007usingnamespacestd;structED{intto,nex;}edge[200100];intn,et;intcol[max_n],st[max_
帽的衣风
·
2017-10-08 22:34
动态规划
数论
......数论基础
......树形DP
洛谷P2014 选课
又是一道
树型DP
,不过这次是以点带权值,因为根是不确定的,我们可以设个虚根0,因为算是多了一点,所以总点数应该++。
Cliu__
·
2017-10-03 23:36
树
树形DP
洛谷P2014 选课
又是一道
树型DP
,不过这次是以点带权值,因为根是不确定的,我们可以设个虚根0,因为算是多了一点,所以总点数应该++。
Cliu__
·
2017-10-03 23:36
树
树形DP
二*苹果树[
树型DP
]
有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点)这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树25\/34\/1现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果。给定需要保留的树枝数量,求出最多能留住多少苹果。输入第1行2个数,N和Q(10thenbegin
Com_man_der
·
2017-09-17 09:45
ThinkPHP读取本地文件信息(包括中文路径)
$file,$files);}}$
dp-
>close();}if(is_file($path)){$files[]=$path;}}/***获取所有文件的文件名称*/publicfunctionget_filenamesbydir
HiCodd
·
2017-08-26 15:05
------PHP
[雅礼集训6-23] T1 电报
树型DP
:设dp[i]表示点i及其子树中的答案,mx[i]表示max{c[son]},son为i的儿子,那么dp[i]=∑(dp[son]-mx[i])+c[i]。
DOFYPXY
·
2017-06-23 21:15
dp
uva 116 Unidirectional TSP(
dp-
递归版)
拿到这个题,首先这个求最小和非常的简单,麻烦的是要求出最短路径。这个真的是卡了我一阵子。本来紫书上是有解答代码的,但我想用递归去实现,所以一直也就没看书上的代码。从网上搜了搜呢,也都是书上的做法,没有创意。但好在最终终于是想到了递归的实现方式:首先求和很简单的dp思想,路径只要在求和的基础上简单的加一个数组来表示对于这个最一个最小行来说,下一个最小行是多少就行了。直接上代码会很容易理解:#incl
wangshuhe963
·
2017-05-17 22:00
递归
dp
uva
创意
[BZOJ1791][IOI2008] Island 基环外向树+DP
所以先找出它的环,对每棵树先进行
树型DP
,记到根最长距离为g[i]。
DOFYPXY
·
2017-04-27 08:21
dp
dp
树
51nod1202【
DP-
树状数组维护】
思路:DP[i]代表从1到i以a[i]为末尾的子序列个数,dp[i]=dp[i]+dp[j](a[i]!=a[j])+1利用树状数组维护以值a[i]结尾的子序列个数。#includeusingnamespacestd;typedeflonglongLL;constLLmod=1e9+7;constintN=1e5+10;LLc[N];intlowbit(intx){returnx&(-x);}vo
keyboarder_zsq
·
2017-03-10 00:31
DP
BIT树状数组
没有上司的舞会 Codevs1380&POj2342&Hdu1520
树型Dp
入门经典题=w=显然,贪心是不对的,因为如果一个节点不选的话,它的儿子不一定一定要选而可能去选它的孙子节点对于一个节点,我们有选与不选两种状态,我们用f[i,1]表示对于i节点这棵树,选i节点的最大值
Eirlys_North
·
2016-10-25 11:27
树型DP
Android TypedValue.applyDimension()的用法
(px是安卓系统内部使用的单位,dp是与设备无关的尺寸单位)非标准单位:dp,in,mm,pt,spTypedValue.applyDimension()方法的功能就是把非标准尺寸转换成标准尺寸,如:
dp
LetGoAway
·
2016-08-30 16:54
【HDOJ 5834】Magic boy Bi Luo with his excited tree(
树型DP
)
【HDOJ5834】MagicboyBiLuowithhisexcitedtree(
树型DP
)MagicboyBiLuowithhisexcitedtreeTimeLimit:8000/4000MS(Java
A_LeiQ
·
2016-08-15 17:35
HDOJ
树型Dp
ACM之DP
DP训练笔记
DP训练笔记DP训练笔记与DP相识DP于我ACA背包
树型DP
未完待续与DP相识中学的时候就对DP不是很感冒,还曾经记得初学递归我差不多没一会就理解了递归的原理,然而印象中动态规划有整整一年不得要领。
iSerendipity
·
2016-08-12 00:53
ACM
动规
dp-
挑战程序设计竞赛-状态的选择 多重部分和 LIS
DP的核心是状态的定义,状态的巧妙定义。多重部分和题目:给定整数a1、a2、.......an,每种数各mi个,判断是否可以从中选出若干数,使它们的和恰好为K。分析:这是一个完全背包恰好装满的问题,当然可以用O(NKmi)但通过把状态dp[i][j]定义成第i个数字使得和为j剩下的个数这样,如果dp[i][j]>=0那么和为j是可以用前i个数填满的,否则我们定义dp[i][j]=-1;所以有三种状
sentimental_dog
·
2016-05-30 23:00
BZOJ 1597: [Usaco2008 Mar]土地购买
次元传送门题意:中文不解释分析:
DP-
>60%DP+斜率优化->AC代码实现/**************************************************************
YOUSIKI
·
2016-05-11 21:00
BestCoder Round #82 (div.1) 1002 HDU 5677
dp-
类似多重背包的思想
链接:戳这里ztrlovessubstringTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)ProblemDescriptionztrlovereserachsubstring.Today,hehasnstring.Nowztrwanttokonw,canhetakeoutexactlykpalin
libin66
·
2016-05-08 22:00
[置顶] [注意]未做的题
[注意]未做的题最短路:HDU 3986 //spfaPKU 3463 //dij HDU 1245 //floydSSL 1500
树型DP
:URAL 1039VIJOS1144SSL 1229/TJU
A_loud_name
·
2016-05-05 18:00
树型dp
树型动态规划 树本身就是一个递归的结构,所以在树上进行动态规划或者递推是最合适不过的事情。 必要条件:子树之间不可以相互干扰,如果本来是相互干扰的,那么我们必须添加变量使得他们不相互干扰。列出一些经典问题吧:1:给出一棵树每个节点有权值 要求父节点和子节点不能同时取求能够取得的最大值 (hdu1520)2:给出一棵树,求离每个节点最远的点的距离 (hdu2196)3:1>在一个地图上,
XerxesSimon
·
2016-04-09 15:00
ACM
树型dp
hdu5647 DZY Loves Connecting
传送门:点击打开链接题意:定义连通集S为,任意一对u,v属于S,u到v的树最短路径经过所有的节点都在S内。求所有这样的连通集大小之和思路:看到维护大小之和,通常还需要维护数量。看了下吉司机的代码写的很简单,只要理解好乘法原理,就很好做了#include #include #include #include #include #include #include #include #include #
qwb492859377
·
2016-03-23 16:00
【POJ 3140】 Contestants Division(
树型dp
)
【POJ3140】ContestantsDivision(
树型dp
)TimeLimit:2000MS MemoryLimit:65536KTotalSubmissions:9121 Accepted:2623DescriptionInthenewACM-ICPCRegionalContest
ChallengerRumble
·
2016-03-22 18:00
【POJ 3140】 Contestants Division(
树型dp
)
【POJ3140】ContestantsDivision(
树型dp
)TimeLimit:2000MS MemoryLimit:65536KTotalSubmissions:9121 Accepted:2623DescriptionInthenewACM-ICPCRegionalContest
ChallengerRumble
·
2016-03-22 18:00
【POJ 2486】 Apple Tree(
树型dp
)
【POJ2486】AppleTree(
树型dp
)TimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:8981 Accepted:2990DescriptionWshxztisalovelygirl.Shelikesappleverymuch.OnedayHXtakeshertoanappletree.ThereareNnodesinthetree
ChallengerRumble
·
2016-03-22 17:00
【POJ 2486】 Apple Tree(
树型dp
)
【POJ2486】AppleTree(
树型dp
)TimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:8981 Accepted:2990DescriptionWshxztisalovelygirl.Shelikesappleverymuch.OnedayHXtakeshertoanappletree.ThereareNnodesinthetree
ChallengerRumble
·
2016-03-22 17:00
【POJ 1947】Rebuilding Roads(
树型DP
)
【POJ1947】RebuildingRoads(
树型DP
)TimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:10607 Accepted:4863DescriptionThecowshavereconstructedFarmerJohn'sfarm
ChallengerRumble
·
2016-03-22 16:00
【POJ 1947】Rebuilding Roads(
树型DP
)
【POJ1947】RebuildingRoads(
树型DP
)TimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:10607 Accepted:4863DescriptionThecowshavereconstructedFarmerJohn'sfarm
ChallengerRumble
·
2016-03-22 16:00
【Poj 2507】The Lost House(
树型dp
)
【Poj2507】TheLostHouse(
树型dp
)TimeLimit:3000MS MemoryLimit:30000KTotalSubmissions:2457 Accepted:1020DescriptionOnedayasnailclimbeduptoabigtreeandfinallycametotheendofabranch.Whatadifferentfeelingtolookdo
ChallengerRumble
·
2016-03-21 19:00
【Poj 2507】The Lost House(
树型dp
)
【Poj2507】TheLostHouse(
树型dp
)TimeLimit:3000MS MemoryLimit:30000KTotalSubmissions:2457 Accepted:1020DescriptionOnedayasnailclimbeduptoabigtreeandfinallycametotheendofabranch.Whatadifferentfeelingtolookdo
ChallengerRumble
·
2016-03-21 19:00
codeforces 533-B Work Group-树
DP-
http://codeforces.com/problemset/problem/533/B题意:每个人有一个直接的领导,1是总裁,现在要找一个最大的集合,每个领导领导的人的数量都是偶数,问最大的值是多少。 给n,n个人接下来n行P,x,pi表示该人领导是pi,X表示该人权值为X求一个子树(集合),里面所有人的下属的个数和都为偶数,求权值最大的一个集合,输出权值:一开始方向就走错了。。以为是只需要
viphong
·
2016-03-09 17:00
HDU1561 The more, The Better(
树型DP
)
题目给的城堡形成一个森林,添加一个超级根把森林连在一起就是树了,那么就考虑用
树型DP
:dp[u][m]表示以u结点为根的子树攻克m个结点的最大价值但是这样转移太难了,根是从每个孩子通过各自分配若干的城堡去攻克转移的
WABoss
·
2016-02-12 19:00
概率
dp-
Ilya and Escalator
题目cf518D大致意思是一个由n个人组成的队列,每个单位时刻队列头可以选择出队列概率为p,或者是不出队列,概率为1-p.问过了t个单位时刻,出队列的人数的期望。思路如果能计算出P{X=i}(0=n的时候dp[i+1][j]+=dp[i][j]代码#include #include #include usingnamespacestd; intN,T; doubleP; constintmaxn
wait_never
·
2016-02-11 21:00
dp
codeforce
POJ3659 Cell Phone Network(树上最小支配集:
树型DP
)
而树上求最小支配集
树型DP
就OK了。
WABoss
·
2016-02-11 18:00
codevs 1090 加分二叉树
一道
树型dp
,方程在程序里有,注意循环的顺序和初始化。
ziliuziliu
·
2016-02-10 22:00
ACM/ICPC 之 DP初步(POJ1088-滑雪)
1//经典
DP-
由高向低海拔滑雪-求最长路 2//Memory:372KTime:32Ms 3#include 4#include 5#include 6#include 7usingnamespacestd
文字失效
·
2016-02-10 19:00
POJ 2486 Apple Tree (
树型DP
)
#include #include #include usingnamespacestd; #defineSIZE230 #defineBACK1 #defineAWAY0 intDP[SIZE][SIZE][2]; boolvisits[SIZE]; intvals[SIZE]; dequetree[SIZE]; intnum,steps; voiddfs(intu){ visits
yxwkaifa
·
2016-02-04 14:00
dp-
更难的矩阵取数问题
题目: 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。 例如:3*3的方格。133213221能够获得的最大价值为:17。1->3->3->3->1->2->2->2->1。其中起点和终点的奖励只计算1次。分析:
wait_never
·
2016-01-21 21:00
算法
动态规划
USACO 4.1 Beef McNuggets麦香牛块
DP-
数论
不想多说,直接入正题。题目大意:给出n个数,求用这n个数(数量无限)不能组成的最大的数是多少。若没有上限或所有数都能组成则输出0.题解:只要你知道以下的数论结论,这道题就是水背包了:有两个数p,q,且gcd(q,p)=1,则最大无法表示成px+qy(x>=0,y>=0)的数是pq-q-p(对于n>pq-q-p,都可以表示成px+qy;而pq-q-p,就无法表示成px+qy)。而且数越多,这个值只会
qq_33229466
·
2015-12-10 21:00
树型dp
hdu5593 ZYB's Tree
传送门:点击打开链接题意:告诉你如何构造一颗树,然后询问有多少点对的距离小于等于K(K #include #include #include #include #include #include #include #include #include #include #include #include #include #definefuck(x)cout<<"["<
qwb492859377
·
2015-12-06 03:00
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他