随笔分类 - 题解
摘要:Luogu_P3469 [POI2008]BLO Blockade tarjan割点 "题目链接" 假如$i$不是割点 那么只会$i$分离出去,因为是有顺序的 所以答案是$2 (n 1)$ 假如$i$是割点 那么设$s$是$i$的儿子,且$s$的$low$值 =$dfn[i]$ 除去$s$还有一些是
阅读全文
摘要:Luogu_P4878 [USACO05DEC] 布局 差分约束(不连通) "题目链接" 又是差分约束 但是这次并没有联通的性质 ~~题目疯狂暗示~~ 无穷远的情况就是互相不连通 那么只好找一个超级源点$0$ 用$0$和所有的点连一条边权为$0$的边 这样的话从$0$跑spfa就可以知道各自的连通块
阅读全文
摘要:Luogu_P3084 [USACO13OPEN]照片Photo 差分约束 "题目链接" 明显可以用差分约束做 设$s[i]$为$0$到$i$最多有多少奶牛 那么每个区间$s[r] s[l 1]==1$ 也就是$s[r] s[l 1] =1$且$s[r] s[l 1] using namespace
阅读全文
摘要:Luogu_P2607 [ZJOI2008]骑士 P1453 城市环路 基环树+树形DP "2607" "1453" 题目大意都是一样的,只要相连就不能同时取 最大化权值 但是有环 那么就在搜到环之后记录$s$和$t$表示环的两边 两次树形DP 第一次强制不取$s$ 第二次可取$s$ 找出两个的最优
阅读全文
摘要:Luogu_P4381 [IOI2008]Island 基环树 "题目链接" 题目描述的就是一个基环树森林 每次必须要用船的就是两棵基环树之间转移 考虑每个基环树的贡献 有两种可能 第一种是不在环上的一条最长的链,也就是直径 第二种是经过环 第一种很好处理,DP求直径 第二种则在DP的时候记录$d[
阅读全文
摘要:Luogu_P1084 疫情控制 树上倍增+贪心+二分 "题目链接" 首先越到根节点越优很显然 所有向上的问题就可以用树上倍增来优化 而且答案具有单调性 显然你ans的时间能完成ans+1也可以 那么就可以二分答案ans,是最大值最小 如何验证这个二分的答案??? 首先把所有的点都上移到1号节点的子
阅读全文
摘要:Luogu_P1026 统计单词个数 DP+string "题目链接" 题面是个什么玩意 选了this不能选th的原因是t被占用 所以只要避开第一个字母就行 字符串可以用string string的substr(l,len)函数表示把l之后长度为len的字符拿出来 find(x)则是查询字符串x第一
阅读全文
摘要:luogu_P3953 逛公园 记忆化搜索+最短路 "题目链接" 边权有0而且可能有环,所以可能出0环 出0环的话就有无限条路径了(因为可以绕着这个环一直转悠) 所以先正着跑spfa 然后反向建边 记忆化搜索 $f[i][j]$表示到$i$点,还有比最短路增加$j$的余额的方案数。 ~~真不好理解~
阅读全文
摘要:Luogu_P1514 引水入城 记忆化搜索 "题目链接" 题目的意思很好理解 考虑记忆化搜索 搜索第一行每个点能覆盖的区间 $l[x][y]$和$r[x][y]$分别表示点$(x,y)$能覆盖的左右端点 转移自然是取$\min$和取$\max$ 最后$dfs$完了统计一下最后一排的覆盖来看第一问
阅读全文
摘要:Luogu_P4999 烦人的数学作业 数位DP "题目链接" 明显数位DP的题目 $f[i][j]$记为第$i$位,各位总和为$j$的数和。 记忆化搜索。 代码如下:
阅读全文
摘要:Luogu P1600 天天爱跑步 树上差分 "题目链接" 树上问题 ~~没看出怎么差分~~ 被观察到的条件有两个 lca前一半(包括lca) $d[S_i] d[x]=w[x]$ $d[i]$表示节点深度 lca后一半 $d[S_i]+d[x] 2 d[lca(S_i,T_i)]=w[x]$ 但是
阅读全文
摘要:Luogu_P4316 绿豆蛙的归宿 期望DP "题面" 挺简单的概率期望DP 设$f[i]$为$i$到$n$的期望路径的长度 答案就是$f[1]$ $f[x]=(\dfrac{1}{d[x]}) ∑(f[y]+dis)$ $d$是度数,$y$是$x$的儿子,$dis$就是距离 这个式子比较显然 但
阅读全文
摘要:POJ3417 Network (闇の連鎖) 树上差分 lca "POJ3417" "闇の連鎖" 奇奇妙妙的树上差分 主要边是树的结构 附加边让树的结构出现环 手画可以发现 设$xy$为附加边,假如第一次切断了$xy$通过树边相连的路径 也就是破坏了环 那么第二次就必定要切断$xy$ 那么就可以通过
阅读全文
摘要:Luogu_P1099 树网的核 树的直径 "题目链接" ~~题面好长,都不想看~~ 又是明明显显的树的直径的题 可以有很多种答案更新方法: 方法一 可以$O(n^2)$的枚举核的一端$p$得出$p+s$和离他们的最远的点 方法二 可以二分偏心距,$O(nlogsum)$ 方法三 求出最长链,然后分
阅读全文
摘要:Luogu P3629 [APIO2010]巡逻 树的直径 "题面链接" 看题就知道应该是连树的直径,也就是最长链 $ans=2(n 1) l1+1$ 但是$k\le2$ 当他是$2$的时候怎么处理??? 只好再跑一遍求树的直径 我们先把之前求出的$l1$的所有边变为$ 1$ 之后再求 $ans=2
阅读全文
摘要:Luogu_P2886 [USACO07NOV]牛继电器Cow Relays 图论 矩阵快速幂 "题目链接" "POJ3613" 题意就是求经过k条边的从st到ed的最短路 我们假设$a[i][j]$为经过一条边的最短路 $a2[i][j]$为经过两条边的。 那么$a2[i][j]=min(a[i]
阅读全文
摘要:Luogu_P3302 [SDOI2013]森林 主席树,启发式合并,lca "luogu题面" 求树上路径的第k大,树之间还有合并。 明显是主席树再加合并。 先说链上第k大,其实就是$Tx+Ty Tlca Tlcafa$ $T$表示权值线段树。 主席树维护的是从根节点到当前节点的前缀和。 ask的
阅读全文
摘要:CF1167D Bicolored RBS 短码贪心 "题目链接(洛谷)" 贪心题。 遇见左括号分入深度浅的颜色 遇见右括号分入深度深的颜色 ~~代码真的短~~ 代码如下: cpp{.line numbers} include using namespace std; const int maxn=
阅读全文
摘要:题面:https://www.luogu.org/problem/P4766 非常容易就想到以时间为区间来DP。 但是时间比较大,需要离散化。 转移方程就是: 这样转移的原因是有一些区间是没有外星人的,这些区间都是0。 所以不能直接memset所有的决策点。 就需要找一下这个区间是不是有外星人,最大
阅读全文
摘要:题面:https://www.luogu.org/problem/P2161 可以用set水。 先把 l , r 存在结构体里面。 重定义小于号。 让右端点小于左端点。就是没有交。 那么find找的时候就是找a.l<b.r && b.l<a.r 。 也就是相交的。 代码如下:
阅读全文

浙公网安备 33010602011771号