摘要:
点分治: 前言: 我太菜了。 用途: 点分治用于静态树上统计路径一类的问题。 如查询边带边权的树上是否存在长度为 \(k\) 的点对等。 算法: 由于只有统计路径的操作,所以这棵树的根是任意取的,先假设树根为1。 那么对于所有路径,只有 经过树根。(图中红色) 不经过树根。(图中蓝色) 对于情况1, 阅读全文
摘要:
扩展欧几里得算法: 前言: 学了两周数据结构发现数论图论忘光了,所以回来补一下,顺便写下笔记。 前置需要: 欧几里得算法,裴蜀定理,脑子 欧几里得算法:即辗转相除法,\(\gcd(a,b)=\gcd(b,a \bmod b)\) 裴蜀定理:若 \(a,b\) 是整数,且 \(\gcd(a,b)=d\ 阅读全文
摘要:
链接:P1505 题意: 给定一棵树,边带权值,五种操作: 修改一条边的权值 将两节点之间的所有边权值变为相反数 询问两节点间边权和 询问两点间最大权值 询问两点间最小权值 分析: 所有操作都是对树上路径的询问和修改,说明这是道树链剖分模板题,思想简单,码量较大,也有一些踩坑的地方,适合初学树剖的来 阅读全文
摘要:
链接:P6075 前言: 虽然其他大佬们的走分界线的方法比我巧妙多了,但还是提供一种思路。 题意: %&¥……@#直接看题面理解罢。 分析过程: 看到这样的题面我脑里第一反应就是DP,但是看到n和k的范围只能作罢。想到各种柿子又根本推不出来,于是颓废地打了个复杂度算不来的貌似是 \(2^{n^3}\ 阅读全文
摘要:
链接: P3147 P3146双倍经验 前言: 今天发现的一道很有意思的DP题 分析: 第一眼以为是区间DP,于是设f[i][j]为从第i个数到第j个数可以合出的最大值,但思考后发现并不能简单合并,并且n的范围也不支持。 于是想贪心,但是贪着贪着发现自己想不出,于是看题解,发现唯一的贪心也被hack 阅读全文
摘要:
链接:P2680 题意: 在树上把一条边边权变为0使得最长给定路径最短 分析: 最大值最小可以想到二分答案,对于每一个mid,寻找所有大于mid的路径,再寻找是否存在一条边使得删去它后大于mid的路径都小于等于mid,可以将这个条件分成两部分。 所有大于mid的路径都经过该边。可以想到统计路径数和每 阅读全文