上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页
摘要: 树状数组或者二叉索引树也称作Binary Indexed Tree,又叫做Fenwick树;它的查询和修改的时间复杂度都是log(n),空间复杂度则为O(n),这是因为树状数组通过将线性结构转化成树状结构,从而进行跳跃式扫描。通常使用在高效的计算数列的前缀和,区间和。 其中a数组就是原数组,c数组则 阅读全文
posted @ 2019-03-13 21:26 Isaunoya 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 这个的算法是 O(n log log n) 两只log 两只log 跑的快~ 接近线筛 线筛太麻烦了。。主要是这个算法比较简便 线筛不会重复筛选 而这个有一部分是要重复筛选的 下面来看真的线筛。。 “最小质因数 × 最大因数(非自己) = 这个合数” 的途径删掉。由于每个数只被筛一次,时间复杂度为  阅读全文
posted @ 2019-03-13 21:19 Isaunoya 阅读(241) 评论(0) 推荐(0) 编辑
摘要: kruskal是按权值排序的贪心算法 众所周知 n个点 靠n-1条边就可以连通了。。 带上权值 就可以连成一棵最小生成树。 prim的话 prim的话 有好几种版本。。 prim不如kruskal 如果说要是稠密图【比较少的吧】 就用prim 其实prim的优化挺快的吧 emm 阅读全文
posted @ 2019-03-13 21:08 Isaunoya 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 并查集通过一个一维数组来实现,本质上是维护一个森林。刚开始的时候,森林里的每一个结点都是一个集合(也就是只有一个结点的树),之后根据题意,逐渐将一个个集合合并(也就是合并成一棵大树)。之后寻找时不断查找父节点,当查找到父结点为本身的结点时,这个结点就是祖宗结点。合并则是寻找这两个结点的祖宗结点,如果 阅读全文
posted @ 2019-03-13 20:57 Isaunoya 阅读(198) 评论(0) 推荐(0) 编辑
摘要: //非难度递增。 $快速幂(quickpow)$ $最短路(Floyd+spfa+dijkstra)$ $大乘法$ $前缀和(一维+二维)$ $并查集$ $最小生成树(kruskal+prim)$ $线筛$ $快排$ $树状数组$ $线段树$ $二分/三分$ $ST表$ $裴蜀定理$ $tarjan 阅读全文
posted @ 2019-03-13 20:52 Isaunoya 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 最短路的题目 阅读全文
posted @ 2019-03-13 20:50 Isaunoya 阅读(193) 评论(0) 推荐(0) 编辑
摘要: P2068 统计和 这题真的非常水了 如果不会 右转【模板】树状数组 2 基本上是一模一样的 阅读全文
posted @ 2019-03-04 23:24 Isaunoya 阅读(146) 评论(0) 推荐(0) 编辑
摘要: P2419 [USACO08JAN]牛大赛Cow Contest 海星 这题代码比较短 (哪题Floyd代码长的) 太真实了 直接上代码吧 这题就是一个经典的传递闭包问题 可以用拓扑排序啥的 不过还是Floyd简便一下 阅读全文
posted @ 2019-03-04 22:19 Isaunoya 阅读(291) 评论(0) 推荐(0) 编辑
摘要: P2935 [USACO09JAN]最好的地方Best Spot Floyd的水题(黄题) 海星。 这可能是我第一道发的Floyd的博客 这个是Floyd的算法 很简单就三行 仅此而已 但是 这个是一种方法 简单的说 Floyd是一种DP 求最短路(最长路)反正比spfa啥的好打 最关键就是时间复杂 阅读全文
posted @ 2019-03-04 22:05 Isaunoya 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 首先先说明本题的思路。题目要求有三种操作,两种是不同的在线修改,还有一种是在查询取模后的结果。而这两种操作又是区间乘法和区间加法,我们可以惊喜的发现这两种操作对于取模运算来说都是自由的!但是面对非常大的数据,我们必须思考怎么样用线段树优雅的跑过这道题目。 面对这两种操作,可以联想到线段树的一个非常好 阅读全文
posted @ 2019-03-03 19:43 Isaunoya 阅读(151) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页
TOP