- 博客(5)
- 收藏
- 关注
原创 关于link cut tree 中cut 的一些东西
但是其实不可能出现这种结果,因为我们findroot(y) 会先把y旋转到根之后再把x 旋转到根。好了说这么多, 单纯是给自己做个笔记, 没想让别人能看懂, 不过如果你能看懂,那你一定是大佬!一种是 y 和 x 之间有边 即 当y 是根的时候 x 是 y 的前驱。而不是充分条件, 即 就算 x 不是 y 的后继, 也有可能。因为我们发现, 这句话是 x 是 y 的后继的必要条件。那么 我上面的判断就无法确定y是x的后继。即 , y 和 x 之间没有直接连接的边。第二种可能 是 x 不是 y 的前驱。
2024-03-27 11:56:05
277
原创 大佬求解 匈牙利算法的优化
看了匈牙利算法 感觉可以优化 然后试着 写了写 结果发现这么写能ac 题 而且 一些只能用 hk 的题这么写竟然也能过了 比如 HDU - 2389想法很简单 给大家我的优化代码虽然是我想的 但是 我不知道原理!!! 求大佬讲解这是正常的匈牙利算法代码bool find(int x) { for (int i = head[x]; i; i = edge[i].nex) ...
2020-04-14 12:46:59
441
原创 HDU 3336 Count the string 另解
嗯 看别人的方法千篇一律(都是 kmp)想个另类方法解决其实本质上差不多 OrzHDU 3336是个前缀问题并且有个规律 --------- 下一位可能的情况 只有在这一位可能的基础上才有可能比如abcabcaca先把 四个a入链表对于 ab 只可能 是 上一位是 a 的情况下才有可能所以 把第三和第四个a 出链表此时 链表中 还剩 2个元素当c入队时在继续筛选这样子快...
2020-03-18 22:42:23
113
原创 CodeForces 1105C 千万不要错过!! 最快解法
正解是 dp做 但是 速度 是 O(n)我这么做 速度 是 log(n)所以 正解 的 n的 只是 1 到 2e5而我这么解只要n 不超过 long 类型 都能秒出 !!!过程 就不讲了 有点麻烦 反正就是 快…#include <iostream>using namespace std;// 这里的 san 主要是 因为涉及 除法取 mod 所以事先求了一下 3 对 ...
2020-03-16 15:26:39
513
原创 HDU 2478 Slides 题解
HDU 2478 Slides原题在这里 < —— 题意多组数据 每组数据 给n个 矩形的 左下角和右上角的坐标值 (x, y) 求去掉 某个矩形使得剩下的矩形 完全重叠 部分最大最容易想到的就是 枚举去掉某一个矩形 剩下的重叠部分的最大值但是 每次的查询复杂度是 O(n) …n次查询果断 tle…所以想到维护前缀和的思想记录一下 查询复杂度降到 O(1)…So 看来能做了....
2020-03-06 20:20:49
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人