摘要: 主席树作为最常用的可持久化数据结构,广泛运用与各种区间、树上问题的在线求解已经对DP的优化上。这里主要讨论其单纯作为数据结构的应用。 P1972 [SDOI2009] HH的项链 这是一道极其经典的题——静态区间种类数,其变体非常多,树上的,带修的,强制在线的等等。 这题做法也很多样,离线后树状数组 阅读全文
posted @ 2024-11-11 15:16 all_for_god 阅读(62) 评论(0) 推荐(0)
摘要: 离散化可以说是非常不熟练的部分做一次错一次 通过c++自带的函数可以很方便地进行离散化的操作 函数unique去重,lower_buond在有序的序列上二分查找。 for(int i=1;i<=n;i++) cin>>a[i],b[i]=a[i]; sort(b+1,b+n+1);int len=u 阅读全文
posted @ 2024-11-11 12:03 all_for_god 阅读(12) 评论(0) 推荐(0)
摘要: 顾名思义,trie树是由字典与树的结合体,是一种方便快捷地存储字符串等字符集较小的串集的数据结构(不确定算不算数据结构) 而其结构是朴素的。trie树的节点本身并没有特殊的含义,其信息更多体现在边上。如下图 这是一颗典型的trie树。 例如我们要表示aba这个字符串,我们就从1->2->6->11, 阅读全文
posted @ 2024-11-01 17:09 all_for_god 阅读(36) 评论(0) 推荐(0)
摘要: 不得不说,数位DP是我掌握的最不好的一个板块。其实数位DP还挺好理解的,状态设计也一目了然,但是请小心前导零。 从数位DP最基础的模版题:windy数开始做起 P2657 [SCOI2009] windy 数 题意:不含前导零且相邻两个数字之差至少为 2 的正整数被称为 windy 数。windy 阅读全文
posted @ 2024-10-25 17:39 all_for_god 阅读(26) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-10-24 22:01 all_for_god 阅读(0) 评论(0) 推荐(0)
摘要: 概率DP是DP中一个非常重要且较难的DP类型。其题型灵活多变,尤其爱与树形DP结合,同时很可能需要各种数据结构优化。 其主要考点便是DP方程的建立与维护。由于“概率”二字,许多时候分类讨论与小数运算也是不可避免的。 因此,概率DP对选手的逻辑思维与代码能力也有很高的要求,可以说是DP中的集大成者。 阅读全文
posted @ 2024-10-23 12:01 all_for_god 阅读(39) 评论(0) 推荐(0)
摘要: 网络流是求网络最大流的算法,看似没什么用,实际上很多题目都可以通过建图转化为网络最大流问题 模板 P3376 【模板】网络最大流 概念 “网络最大流问题”本身是指从一个原点 \(s\) 往外流水,这个原点本身有无穷多水可以流,有 \(m\) 根双向管道连接 \(n\) 个节点,每个节点都有一个最大流 阅读全文
posted @ 2024-10-18 19:03 all_for_god 阅读(34) 评论(0) 推荐(0)
摘要: 树形DP就是在树上DP。 P2515 [HAOI2010] 软件安装(口胡) 发现原图是一个森林与一堆环所构成的不知道什么东西。先将每个连通块染色,对于每个连通块判环将环以及连在环身上的东西判掉。然后直接建一个没有权值的虚空节点将森林连成一棵树即可直接DP。 P3262 [JLOI2015] 战争调 阅读全文
posted @ 2024-10-12 16:34 all_for_god 阅读(24) 评论(0) 推荐(0)
摘要: 决策单调性DP是一个非常重要的DP类别。在决策点随枚举点增加单调不降时,可以有效地优化复杂度。 一般而言,决策点指的是对于一个 \(f[i]\),它的值需要从另一个值j中转移,而对于所有j,令 \(f[i]\) 最大的j值就是决策点。 而其单调性体现在对于一个点i,它的决策点一定会大于等于i-1的决 阅读全文
posted @ 2024-10-09 16:53 all_for_god 阅读(58) 评论(1) 推荐(1)
摘要: 区间DP的特征一般很明显——数据范围。一般而言,朴素的区间DP数据范围只有1e3~1e4,只有加上一些毒瘤的数据结构的题才会更大 状态设计上,区间DP都比较套路。\(f[l][r]\) 与 \(f[l][r][0/1]\) 都是非常常见的。不过具体问题具体分析,压缩维度等常用思想仍旧重要 转移方程是 阅读全文
posted @ 2024-10-03 21:08 all_for_god 阅读(19) 评论(0) 推荐(0)