思路: 考虑每一个节点,小偷有两种选择,偷,或者不偷。 用res[?, ?]存储这两种情况下能偷到的最多的钱。res[0]表示不偷该节点能得到的最多的钱,res[1]表示偷了该节点能得到的最多的钱。 1.如果某个节点是NULL,那么显然,res=[0, 0]2.如果节点不为空: 1)不偷此节点的话, ...
分类:
其他好文 时间:
2020-04-13 10:33:18
阅读次数:
87
LINK: "最短路" 一张仙人掌图 求图中两点最短路。 $n=1$ 考虑边数是多少 m =n 1 对于一张仙人掌图 考虑先构建出来dfs树 非树边会形成环 环不可能相交 也没有自环 那么说一每形成一个环需要一条树边和非树边。 所以m include include include include ...
分类:
其他好文 时间:
2020-04-02 22:31:11
阅读次数:
84
Codeforces 1327 E. Count The Blocks 思路: 考虑$n$位数字。 假设说现在考虑块为$i$时候的答案。 当$i=n$: 那就只有$00...0,11...1,...,99...9$这样的答案,所以输出$10$。 当$i<n$的情况: 这连续的$i$个数字可以卡在$n ...
分类:
其他好文 时间:
2020-03-24 12:46:50
阅读次数:
66
题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 具体思路: 考虑二分法。 方法一:直接调用函数 python中的bisect库提供二分查找和插入。其中bisect_left()时,插入点 ...
分类:
其他好文 时间:
2020-03-14 16:52:51
阅读次数:
60
对于本题,最短路,考虑bfs,那么我们可以跑2次bfs,求出每个点到1与n的最短路,设为x_a, x_b,那我们可以把问题转换成max(min{x_a+y_b,x_b+y_a}+1)(x,y属于1到n),我们假设x_a+y_b<=x_b+y_a,那我们就是求出x_a+y_b的最大值,不等式转换一下, ...
分类:
其他好文 时间:
2020-02-18 22:07:16
阅读次数:
90
Java的equals方法的使用技巧 1.业务场景: 在某个社交软件中,要求每个用户的用户名(name)必须独一无二,那么在每次增加新用户的时候,都要对该用户的注册名进行判断,如果当前用户名已经被占用,则无法为该用户创建账号,只能要求该新用户重新选择设定用户名。 2.解决思路: 考虑到这里比较的每一 ...
分类:
编程语言 时间:
2020-02-14 23:01:41
阅读次数:
189
"HDU 2047" 思路 考虑第 $n$ 位为 $F$ 或者 $E$ ,第 $n 1$ 位,可以填$3$ 个字母, $f[n] = 1 2f[n 1]$ 考虑第 $n$ 位为$O$ ,因为两个$O$ 不能相邻,所以,第 $n 1$ 位,只能填$2$ 个字母,第$n 2$ 可以填$3$个字母 $f[ ...
分类:
其他好文 时间:
2020-02-13 09:25:23
阅读次数:
49
模板题,提供两种思路。 1.考虑它求得是 出现个数$ \lfloor \frac{r l+1}{k}\rfloor$ 的最小值 那么我们可以根据如果大于这个数那么你把这个区间数列 排好序 然后分段,分成 $k$ 段,每次上下整都取,方便处理.webp 因为 $k\leq5$ 所以上下整都取不会超过 ...
分类:
其他好文 时间:
2020-02-06 01:24:13
阅读次数:
69
题目让我们维护一个连通无向图,边有边权,支持加边删边和询问从$x$到$y$的异或最短路。 考虑到有删边这样的撤销操作,那么用线段树分治来实现,用线段树来维护询问的时间轴。 将每一条边的出现时间段标记到线段树上,表示在这一段询问中这条边存在。 异或最短路的处理方法与 "最大XOR和路径" 类似,给线段 ...
分类:
其他好文 时间:
2020-01-27 14:05:55
阅读次数:
69
Problem 1002 "Operation" 题意: 一个长度为$n$的字符串$a$,执行下面的操作 $1$ $l$ $r$查询区间内异或的最大值 $0$ $x$ 将$x$放到数组最后一位 输入和输出是强制在线的。。。 思路: 考虑维护一个前缀线性基$f_{ij}$,同时贪心的使线性基的位置尽可 ...
分类:
其他好文 时间:
2020-01-24 18:49:02
阅读次数:
96