首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏mathor

    队算法

    概述  队算法是由涛提出的算法,可以解决一类离线区间询问问题,适用性极为广泛。同时将其加以扩展,便能轻松处理树上路径询问以及支持修改操作。 ,下面介绍一下如何用队算法解决这道题。   首先,对询问进行分块,m个询问,L和R的范围都在n以内,我们可以根据L和R的大小来对询问进行分块,假设n=9,并且有以下的询问:  2 3  1 4  4 5  1 6  7 9  8 9  5 8   6 8  对于n=9,我们以sqrt(n)为每个块block的大小,这里block=3,那么我们把1~3分成一组、4~6、7~9,对于每一个询问(L,R),我们以L的范围来决定这个询问在哪个块,然后每一个单独的块内 ,我们让R更小的排在前面,那么上面的询问就分成:  (2,3)、(1,4)、(1,6)和(4,5)、(5,8)、(6,8)和(7,9)、(8,9)。

    91430发布于 2018-09-19
  • 来自专栏OI

    浅谈

    浅谈队 简介 队算法是由涛提出的算法。在涛提出队算法之前,队算法已经在 Codeforces 的高手圈里小范围流传,但是涛是第一个对队算法进行详细归纳总结的人。 涛提出队算法时,只分析了普通队算法,但是经过 OIer 和 ACMer 的集体智慧改造,队有了多种扩展版本。 队算法可以解决一类离线区间询问问题,适用性极为广泛。 不难发现,队只支持离线区间询问,对于在线问题,我们并不能采用队来解决。 带修队 一般的队是不支持修改的,但是如果我们稍微修改一下,就可以让队资瓷修改啦~ 就像 DP 一样,可以强行加上一维时间维, 表示这次操作的时间。 时间维表示经历的修改次数。 例题:AT1219 歴史の研究 Solution 回滚队类似于普通队进行排序。

    78010编辑于 2022-09-19
  • 来自专栏Czy‘s Blog

    攻击

    攻击 在《英雄联盟》的世界中,有一个叫 “提” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。 现在,给出提对艾希的攻击时间序列和提攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。 你可以认为提在给定的时间点进行攻击,并立即使艾希处于中毒状态。 示例 输入: [1,4], 2 输出: 4 原因: 第 1 秒初,提开始对艾希进行攻击并使其立即中毒。中毒状态会维持 2 秒钟,直到第 2 秒末结束。 第 4 秒初,提再次攻击艾希,使得艾希获得另外 2 秒中毒时间。 所以最终输出 4 秒。 输入: [1,2], 2 输出: 3 原因: 第 1 秒初,提开始对艾希进行攻击并使其立即中毒。 但是第 2 秒初,提再次攻击了已经处于中毒状态的艾希。 由于中毒状态不可叠加,提在第 2 秒初的这次攻击会在第 3 秒末结束。 所以最终输出 3 。

    60120发布于 2020-08-27
  • 来自专栏全栈程序员必看

    全局兰指数_空间自相关 | 兰指数

    在地理统计学科中应用较多,现已有多种指数可以使用,但最主要的有两种指数,即Moran的I指数和Geary的C指数,也就是我们常说的兰指数和G统计量。 ---- 今天我们就先了解一下度量空间相关性的一个重要指标之一的兰指数。 兰指数分为全局兰指数和局部兰指数。 // 值的分布 // 兰指数是一个有理数,通过方差归一化操作之后,其值将分布在[-1,1]之间,用来判别空间是否存在自相关。当值大于0时,表示数据呈现空间正相关,其值越大空间相关性越明显。

    2.7K10编辑于 2022-09-12
  • 来自专栏软件工程

    攻击

    在《英雄联盟》的世界中,有一个叫 “提” 的英雄,他的攻击可以让敌方英雄艾希进入中毒状态。现在,给出提对艾希的攻击时间序列和提攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。 你可以认为提在给定的时间点进行攻击,并立即使艾希处于中毒状态。 示例1: 输入: [1,4], 2 输出: 4 原因: 在第 1 秒开始时,提开始对艾希进行攻击并使其立即中毒。 在第 4 秒开始时,提再次攻击艾希,使得艾希获得另外 2 秒的中毒时间。 所以最终输出 4 秒。 但是在第 2 秒开始时,提再次攻击了已经处于中毒状态的艾希。 由于中毒状态不可叠加,提在第 2 秒开始时的这次攻击会在第 3 秒钟结束。 所以最终输出 3。 你可以假定提攻击时间序列中的数字和提攻击的中毒持续时间都是非负整数,并且不超过 10,000,000。

    45910编辑于 2021-12-22
  • 来自专栏机器学习炼丹之旅

    队学习总结

    1.2 队思想 介绍队之前,先介绍本题的另外一种做法: 类似双指针的方式,设当前要统计的区间为 L 到 R ,设置两个指针记录上一次统计的区间为 X 到 Y ,那么只要控制指针,将 X 向 L ,Y 数据范围 1≤N≤10^5, 1≤Q≤10^5, 1≤X_i≤10^9 输入样例: 5 5 9 8 7 8 9 1 2 3 4 4 4 1 4 2 4 输出样例: 9 8 8 16 16 2.1 题目分析 输入样例: 8 2 105 2 9 3 8 5 7 7 1 2 1 3 1 4 3 5 3 6 3 7 4 8 2 5 3 8 输出样例: 4 4 4.1 树变序列思想 这道题其实就是将基本队那道例题搬到了树上 队维护计算所有询问。 下面以例题为例,分析一下如何处理二次离线队。

    93450编辑于 2022-08-11
  • 来自专栏数据结构与算法

    树上队算法

    简介 树上队,顾名思义就是把队搬到树上。 像这种不带修改数颜色的题首先想到的肯定是树套树队,那么如何把在序列上的队搬到树上呢? 树上队 有了这个有什么用呢? = 1e5 + 10; inline int read() { char c = getchar(); int x = 0, f = 1; while(c < '0' || c > '9' ) {if(c == '-') f = -1; c = getchar();} while(c >= '0' && c <= '<em>9</em>') x = x * 10 + c - '0', c = getchar

    92330发布于 2018-07-04
  • 来自专栏孟永辉

    蔚来学特斯拉

    「东施效颦」的故事,纵然是在当时当下的情境之下,依然还是在不断地发生着。借鉴别人的先进经验,为我所用,并没有错。但是,如果将别人的所谓的先进的经验照搬照抄,甚至将此看成是推卸责任,掩盖事实的方式和方法,是无论如何都无法原谅的。即使是无法原谅,但是,这样的事例却无时无刻不再我们的身边发生着。

    35720编辑于 2022-06-30
  • 来自专栏用户7721898的专栏

    慌,看这里!

    如下所示 进入急救模式 进入内核模式

    1.7K20发布于 2020-09-03
  • 来自专栏全栈程序员必看

    【ArcGIS】基础教程:全域兰指数与局域兰指数的计算

    兰指数(Moran’s I)是研究变量在同一个分布区内的观测数据之间潜在的相互依赖性的一个重要研究指标,在本文中,我们将探讨局域(Anselin Local Moran I)与全域两种兰指数(Moran 全域兰指数 首先请注意,在Arcgis中计算兰指数时只能使用矢量数据进行计算。所以如果需要计算一个栅格数据的兰指数的话,建议先转换成矢量数据再进行计算。 计算全域兰指数的工具为【工具箱——Spatial Statistics Tools——分析模式——空间自相关(Moran I)】 输入要素与需要计算兰指数的字段 关于生成报表,建议勾选, 关于【空间关系的概念化】的选择,指路虾神的文章→白话空间统计之五:空间关系的概念化(上) 局域兰指数 局域兰指数与全域兰指数的计算使用的并不是同一个工具,作者刚刚开始用Arcgis计算局域兰指数时也迷惑了一下 hhh 计算局域兰指数的工具在【工具箱——Spatial Statistics Tools——聚类分布制图——聚类和异常值分析(Anselin Local Moran I)】 与全域兰指数几乎同样的设置

    13.6K11编辑于 2022-09-07
  • 来自专栏ACM算法日常

    队新科技——二次离线队入门

    缘起 掌握队核心科技,来入坑一下二次离线队~ 本文的例题是 洛谷 P4887 模板 队二次离线(第十四分块(前体)) 分析 珂朵莉给了你一个序列a,每次查询给一个区间 [l,r] 查询 l<=i< 二次离线队依旧是队嘛,所以肯定先要按队的套路来,我们先不考虑什么二次离线队,先用不带修队来切. c ^ 48), c = gc(); x *= f; } ilv write(int x) { if (x < 0) pc('-'), x = -x; if (x > 9) c ^ 48), c = gc(); x *= f; } ilv write(int x) { if (x < 0) pc('-'), x = -x; if (x > 9) c ^ 48), c = gc(); x *= f; } ilv write(int x) { if (x < 0) pc('-'), x = -x; if (x > 9)

    1.1K30发布于 2020-05-11
  • 来自专栏ACM算法日常

    优雅的暴力——队算法

    输入输出样例 输入 #1复制 6 4 3 1 3 2 1 1 3 1 4 2 6 3 5 5 6 输出 #1复制 6 9 5 2 说明/提示 【数据范围】 对于 100% 的数据,1≤n,m,k≤5e4 在序列中,队算法号称 可以解决一切区间问题 之所以叫队,是因为该算法的发明人是涛大佬 or2 队的思想源于分块,所以队的复杂度是 , 复杂度不算太差,除非毒瘤,不然不会卡队. c ^ 48), c = gc(); x *= f; } ilv write(int x) { if (x < 0) pc('-'), x = -x; if (x > 9) 据笔者的浅陋之识来看,队分为 不带修队(本文) 带修队,一般是单点修改 树上队 在线(带修或不带修)队 二维队 二次离线队 带修队其实就是在不带修队的基础上添加了一根时间轴, 对当前询问区间进行 比较经典的题就是 bzoj 2120 数颜色 关于树上队,因为队的基石是分块,树上分块的姿势很多,适用于树上队的分块有王室联邦树上分块或者括号序将树强制压成一维然后在括号序上跑序列队,所以树上队一般有两种做法

    1.2K10发布于 2020-04-24
  • 来自专栏数据结构与算法

    带修改队算法

    老师讲课的时候就提到过带修改队在线队树上队树上带修改队……但是一直都没有做到过有关的题, 今天有幸做了一道裸的带修改队的题, 那就来分享一下自己的经验 带修改的队 首先我们要知道,普通的队算法是不资瓷修改操作的 , 不过后人对队算法加以改进 发明了资瓷修改的队算法 思路: 在进行修改操作的时候,修改操作是会对答案产生影响的(废话) 那么我们如何避免修改操作带来的影响呢? const int MAXN=2*1e6+10; inline int read() { char c=getchar();int x=0,f=1; while(c<'0'||c>'9' ){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='<em>9</em>'){x=x*10+c-'0',c=getchar();} return x*f; } 综上队算法的排序保证时间复杂度是 的 带修改队算法的时间复杂度证明 以下内容借鉴自洛谷题解 原版队是将区间(l,r)视为点(l,r),带修改的即加一维时间轴(l,r,t) 对于t轴的移动可以保存每次修改

    1K70发布于 2018-04-12
  • 来自专栏闪电gogogo的专栏

    凡《机器学习》笔记

    机器学习方法 1.1 机器学习 通常来说, 机器学习的方法包括: 监督学习 supervised learning:(有数据有标签)在学习过程中,不断的向计算机提供数据和这些数据对应的值,如给出猫、狗的图片并告诉计算机哪些是猫哪些是狗,让计算机去学习分辨 非监督学习 unsupervised learning:(有数据无标签)例给猫和狗的图片,不告诉计算机哪些是猫哪些是狗,而让它自己去判断和分类。不提供数据所对应的标签信息,计算机通过观察数据间特性总结规律 半监督学习 semi-supervised le

    1.6K40发布于 2018-04-18
  • 来自专栏数据结构与算法

    codechef QCHEF(不删除队)

    维护好每个数出现的左右位置之后直接上不删除队就行了 #include<bits/stdc++.h> const int MAXN = 1e5 + 10, INF = 1e9 + 7; using namespace return 0; } inline int read() { char c = getchar(); int x = 0, f = 1; while(c < '0' || c > '9' ) {if(c == '-') f = -1; c = getchar();} while(c >= '0' && c <= '<em>9</em>') x = x * 10 + c - '0', c = getchar

    60330发布于 2019-03-04
  • 来自专栏OI

    浅谈比乌斯反演

    浅谈比乌斯反演 那些各种各样的性质与定理,大多是前人几年甚至几十年才得出来的,哪里是你几天就能理解并证明的。 简介 比乌斯反演是数论中的重要内容。 对于一些函数 f(n),如果很难直接求出它的值,而容易求出其倍数和或约数和 g(n),那么可以通过比乌斯反演简化运算,求得 f(n) 的值。 --OI Wiki 比乌斯函数 定义 \mu(d)=\begin{cases}1&d=1\\(-1)^k&d=\prod_{i=1}^kp_i\text{且}p_i\text{为互不相同的质数}\ 性质 比乌斯函数是积性函数,并且有以下性质: \sum\limits_{dn}\mu(d)=\begin{cases}1 & n=1\\0 & n\not = 1\end{cases} \sum\ limits_{dn}\frac{\mu(d)}{d}=\frac{\phi(n)}{n} 求法 由于比乌斯函数是典型的积性函数,所以也可以用欧拉筛筛出来。

    76520编辑于 2022-09-16
  • 来自专栏新智元

    沃斯地宝 9 系新法宝:360° 清扫地图技术

    2016年1月21日,家庭服务机器人公司沃斯在背景 3W 咖啡馆举办了扫地机器人地宝 9 系DR95的媒体品鉴会。 扫地机器人是目前服务机器人最具有商业化能力的类别,在 2015 年双十一中,生活电器类的冠军就是沃斯的扫地机器人。而在双十二,沃斯也卖了 7800 万台,同比增长 157%。 产品上的漫威图案得到了MARVEL公司的官方授权 沃斯产品经理王珏表示,沃斯的机器人巡航技术“Smart Navi”是一次技术上的突破,不同于国外竞争对手irobot的局部模式,“Smart Navi 地宝9系DR95是Benin会议的主打产品,现场王珏对这款产品进行了实地演示,记者们见证了这款人工智能机器人从识别清扫路径到彻底清扫的全过程。 沃斯创始人钱东奇先生在接受采访时曾经说:"今天的机器人,还未像电视、洗衣机等家电一样进入家庭,成为家里不可缺少的一部分。但我相信,未来机器人会成为家里不可缺少的一部分,而且是重要的家庭成员。"

    1.1K90发布于 2018-03-14
  • 来自专栏wym

    Hdu 6534 队+树状数组

     差值为 k ,则找 [x-k] 到 [x+k] 区间内的数 树状数组维护个数  #include <bits/stdc++.h> using namespace std; const int maxn = 500005; struct node{int l,r,id;int ans;}q[maxn]; int s[maxn],Be[maxn]; int z[maxn],ni[maxn]; int unit,n,m,l=1,r; int ans,k; int lowbit(int x){ return x

    41920发布于 2019-07-08
  • 来自专栏编程使我快乐

    leetcode-495-提攻击

    现在,给出提对艾希的攻击时间序列和提攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。 你可以认为提在给定的时间点进行攻击,并立即使艾希处于中毒状态。 你可以假定提攻击时间序列中的数字和提攻击的中毒持续时间都是非负整数,并且不超过 10,000,000。 第 4 秒初,提再次攻击艾希,使得艾希获得另外 2 秒中毒时间。 所以最终输出 4 秒。 但是第 2 秒初,提再次攻击了已经处于中毒状态的艾希。 由于中毒状态不可叠加,提在第 2 秒初的这次攻击会在第 3 秒末结束。 所以最终输出 3 。 链接:https://leetcode-cn.com/problems/robot-return-to-origin ---- 解题思路 首先构造一个尽可能包含全部情况示例观察, 比如 [2,5,9,10,11,15,20

    64220发布于 2020-11-04
  • 来自专栏ACM算法日常

    比乌斯反演入门

    所以我们来学一下比乌斯反演吧~ 分析 《比乌斯函数入门》中我们已经学习了mobius函数. 现在要来进一步学习mobius反演. . 0<a<=b<=1e5, 0<c<=d<=1e5, 0<=k<=1e5 输入保证 a = c = 1 【输出】 输出答案 【样例输入】 2 1 3 1 5 1 1 11014 1 14409 9 【样例输出】 Case 1: 9 Case 2: 736427 【hint】 对于第一个样例, 9对(x,y) 如下 (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), fraction /= 10), c = gc(); x *= f; return 1; } ilv write(int x) { if (x < 0) pc('-'), x = -x; if (x > 9)

    1.4K20发布于 2020-06-22
领券