07 2020 档案
发表于 2020-07-30 22:02阅读:3评论:0推荐:0
摘要:Dijkstra O ( ( n + m ) l o g n ) O((n+m)logn) O((n+m)logn) 只能用于正权图 #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int n,m,st,ed,dis[N
阅读全文 »
发表于 2020-07-28 22:00阅读:62评论:0推荐:0
摘要:一只乌龟由于智商低下,它只会向左或向右走,不过它会遵循主人小h的指令:F(向前走一步),T(掉头)。 现在小h给出一串指令,由于小h有高超的计算能力,他可以马上知道乌龟最后走到哪里。为了难倒小h,他的好朋友小c就说,现在让你修改其中n个指令,使得乌龟移动到离起点最远的地方。(修改是指“T”变成“F”
阅读全文 »
发表于 2020-07-26 21:34阅读:4评论:0推荐:0
摘要:update:二维树状数组的实现 一.概述 树状数组,是一个区间查询和单点修改复杂度都为log(n)的数据结构。主要用于查询任意两点之间的所有元素之和。 树状数组的题多半要转化,利用差分数组,可以将区间修改变为单点修改,单点查询变为区间查询(即前缀和)。只要满足单点修改,我们总能用树状数组来维护前缀
阅读全文 »
发表于 2020-07-18 21:17阅读:8评论:0推荐:0
摘要:一.概述 区间DP也属于线性DP中的一种,它以“区间长度”作为DP的“阶段”,使用两个坐标(区间的左、右端点)描述每个维度。在区间DP中,一个状态由若干个比它更小且包含于它的区间所代表的状态转移而来,因此区间DP的决策往往就是划分区间的方法。区间DP的初态一般就由长度为1的“元区间”构成。 把大区间
阅读全文 »
发表于 2020-07-04 21:58阅读:266评论:0推荐:0
摘要:A. 扩散 法一:二分时间+并查集判连通性 法二:直接floyd *B. 赶牛入圈 解析:大概是二维前缀和+离散化 发现题目中未出现的行和列都对答案不会产生影响,可以直接略过,于是将数(每个坐标的行和列)一起离散化,每个数变成了对应数组中的下标,这样保持了大小关系,对二维前缀和无影响 然后二分边长。
阅读全文 »