摘要:
洛谷传送门 吐槽 并不算个难题,主要是调的时间稍微有点久了,所以放上来记录一下 水一下博客 。 思路 数据范围很小,又是求方案数类的问题,不关心具体方案,不关心具体方案会让我们想到 \({\rm DP}\) 的做法。数据很小又让我们想到了状态压缩的进行 \({\rm DP}\) 。另外这道题属实和 阅读全文
摘要:
国际惯例:题目链接 题目大意:给定有向图,问有多少个点可以被除自己以外所有点到达。 部分分:按照题意模拟,我每个点跑一次$Dfs$,暴力统计,看看多少个点可以被所有点达到。 感觉也没啥好说的了...$Tarjan$缩点,然后发现如果存在这么一坨点,他们必然是出度为$0$的,否则的话,这个点如果能回来 阅读全文
摘要:
$Dij$是一类基于贪心的最短路算法。 首先我们明确这个算法是干什么的,这个算法是用来跑单源最短路的,也就是给你一张图,给出某一个特定的起点,你需要求出这个点到其他任意点的最短路。 其次,我们明确它可以解决什么样的问题,它可以解决单源最短路问题,实际上,对于给一个起点问到其他点最短路的问题,它是未必 阅读全文
摘要:
题目Luogu或者题目AcWing 一道区间$DP$,设计状态$f[i][j]$表示合并$i\to j$的最大价值,那么合并$i,j$的最大价值应该是从某个最后一步转移过来,也就是某一步合并$i,j$的转移过来,所以枚举这个$k$,就可以转移了。 需要注意的几个细节就是 环形要加倍,就可以变成链问题 阅读全文
摘要:
这里就不赘述怎么进行$DP$了,预处理,状态设计,初始化,转移,把这些搞清楚就好了。 状态设计一定要不重不漏的将题目中所有情况划分为若干个集合。 然后考虑这若干个集合是怎么转移的,如果转移,代价是什么,都要考虑好。 设计状态之后,初始化一定要按照你所设计的状态来初始化,非法状态设成无穷,可能转移的设 阅读全文
摘要:
最近学数学学的比较多,矩阵快速幂应该算数学吧。 题目链接 题目大意: 给定$n$,\(k\),然后给定$n \times n$的矩阵A,求$A^k$ ##数据范围: $1\le n \le 100,0 \le q \le 10^12,\vert A_{i,j} \vert \le 1000$ 做法就 阅读全文
摘要:
"树剖模板部分" 还是树剖,今天本身想学线段树合并~~可惜我没学会~~,然后看到一道线段树合并的例题 "雨天的尾巴" 然后看到是树上一段路径的处理,就想到了树链剖分。~~具体怎么做还是不会看完题解只能理解树链剖分就写了树链剖分~~。 完整代码会放在结尾。 题目大意: 给定一珂n个点的树,m次操作,每 阅读全文
摘要:
#####树链剖分,一个让你代码量翻倍的能优雅解决树上问题的神奇方式。 树剖就是把树拆成链,拆成序列,然后就可以用序列方式处理这棵树。 一道树剖题Luogu 3384 ####题目大概意思:给一有根树,给定四种操作 树上两点,及他俩路径上点权+\(d\) 查询树上两点及路径上点权和 某点及子树+\( 阅读全文
摘要:
虚假的定义:笛卡尔树,一种神奇的树,这玩意大概是一个将序列转化为一棵树的东西。首先找到序列中的最大值或者最小值,然后递归定义,找到其左边区间的最大值或最小值作为根节点的左儿子,再找到其右边区间的最大值最小值作为根节点的右儿子。 笛卡尔树可以从定义看出来,是一个类似堆的结构,满足每个结点都是子树加自己 阅读全文
摘要:
上次的扫描线[包括窗口的星星]都是使用线段树实现的 但扫描线可能更多是一种思想,实际上并不存在那么一条线,只是你按照某种顺序排序,让处理二维问题变得简单。 一道新题:圆的异或并 #####题目大意:给定n,然后给定n个圆[圆心坐标+半径],异或就是那么个异或,最后输出面积除以PI。 #####跟矩形 阅读全文