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

    浅谈

    浅谈队 简介 队算法是由涛提出的算法。在涛提出队算法之前,队算法已经在 Codeforces 的高手圈里小范围流传,但是涛是第一个对队算法进行详细归纳总结的人。 涛提出队算法时,只分析了普通队算法,但是经过 OIer 和 ACMer 的集体智慧改造,队有了多种扩展版本。 队算法可以解决一类离线区间询问问题,适用性极为广泛。 不难发现,队只支持离线区间询问,对于在线问题,我们并不能采用队来解决。 这一次我们排序的方式是以 N^{\frac{2}{3}} 为一块,分成了 N^{\frac{1}{3}} 块,第一关键字是左端点所在块,第二关键字是右端点所在块,第三关键字是时间。 例题:AT1219 歴史の研究 Solution 回滚队类似于普通队进行排序。

    71510编辑于 2022-09-19
  • 来自专栏mathor

    队算法

    概述  队算法是由涛提出的算法,可以解决一类离线区间询问问题,适用性极为广泛。同时将其加以扩展,便能轻松处理树上路径询问以及支持修改操作。 Example input:  5 2 3  1 2 3 2 2  1 22 4  1 5 Example output:  0 //没有  1 //2  0 //没有(2太多了,也不算) 解法   但是这里要是暴力能过我还说什么队算法呢?(orz...)  假设一开始,指针区间(0,0),对于一个查询,我们将指针Left逐步更新成新的L,Right更新成新的R。   ,下面介绍一下如何用队算法解决这道题。   a : gcd(b,a % b); } } 队算法  队的精髓就在于,离线得到了一堆需要处理的区间后,合理的安排这些区间的计算次序以得到一个较优的复杂度 复杂度分析 分块相同时,右端点递增是

    84730发布于 2018-09-19
  • 来自专栏数据结构与算法

    SPOJ COT2 - Count on a tree II(树上队)

    输入输出样例 输入样例#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 7 8 输出样例#1: 复制 4 4 SDOI 2018 因为没学过树上队惨遭爆零, 不过这玩意儿确实定好玩的。 &(p2=(p1=buf)+fread(buf,1,1<<20,stdin),p1==p2)? son[x]) return ; dfs2(son[x], topfa); for(int i = 0; i < v[x].size(); i++) { int to = v[x][i]; if(top[to]) continue; dfs2(to, to); } } int GetLca(int x, int y) {

    87130发布于 2018-07-04
  • 来自专栏Czy‘s Blog

    攻击

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

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

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

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

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

    攻击

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

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

    队学习总结

    数据范围 1≤N≤50000 1≤M≤2×10^5 1≤L≤R≤N 输入样例: 6 1 2 3 4 3 5 3 1 2 3 5 2 6 输出样例: 2 2 4 1.1 暴力做法 我们先来思考最暴力的方法 输入样例: 6 5 1 2 3 4 5 5 Q 1 4 Q 2 6 R 1 2 Q 1 4 Q 2 6 输出样例: 4 4 3 4 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 树变序列思想 这道题其实就是将基本队那道例题搬到了树上 二次离线队 给定一个长度为 nn 的序列 a_1,a_2,…,a_n 以及一个整数 k。 数据范围 1≤n,m≤10^5, 0≤k≤14, 0≤a_i<2^{14}1≤l<r≤n 输入样例: 5 3 2 1 1 4 7 7 1 5 1 3 3 5 输出样例: 8 2 2 核心思想 队的本质其实就是调整查询的顺序使得局部查询具有单调性

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

    树上队算法

    简介 树上队,顾名思义就是把队搬到树上。 像这种不带修改数颜色的题首先想到的肯定是树套树队,那么如何把在序列上的队搬到树上呢? \ 2\ 1$ ? 树上队 有了这个有什么用呢? N$,所以预处理的时候一定要循环到$2*N$!

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

    蔚来学特斯拉

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

    32320编辑于 2022-06-30
  • 来自专栏Python | Blog

    糗事百_多线程demo(2)

    import requests import threading from queue import Queue from lxml import etree # 爬取糗事百 //h2/text()') # print(text) item['author'] = author item

    39910发布于 2019-07-31
  • 来自专栏用户7721898的专栏

    慌,看这里!

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

    1.6K20发布于 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.1K11编辑于 2022-09-07
  • 来自专栏ACM算法日常

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

    3 4 8 0 2 4 5 3 5 1 4 2 5 1 5 输出样例 0 1 2 3 4 1≤n,m≤1e5,0≤ai,k<16384 首先,二次离线队的前置技能是 【1】《优雅的暴力——队算法 第2条中的一个点对答案的影响可用前缀写成差分的形式. 二次离线队依旧是队嘛,所以肯定先要按队的套路来,我们先不考虑什么二次离线队,先用不带修队来切. pr2) ? pr2) ? pr2) ?

    1.1K30发布于 2020-05-11
  • 来自专栏陈冠男的游戏人生

    2020来杯PWN铜牌2-memo

    跟去年那个格式化字符串漏洞的题一样,只是改了改 key 的值,验证过程是这样的 注意那个 v2 是 esp+Eh 而我们的 s 是 esp+Ah,也就是说输入的 6 个 key 有两个会写到 v2 上, v2 是我们可控的,那个 SBYTE1 不知道是啥,对着去年省赛用 angr 解出来的 key 猜测是第二位,SBYTE1(v2) 就是 s 的最后一位了 s[0]=81 即 Q 81 * SBYTE1 (v2) =4131 得到 SBYTE1(v2) 为 51 即 3 s[2] / SBYTE1(v2) = 2 得到 s[2] = 102 即 f SBYTE1(v2) + (char)v2 = 141 的 (char)v2 = 90 即 Z (char)v2 - s[1] = 18 得 s[1] = 72 即 H 那么现在是:QHf?

    66451发布于 2020-11-23
  • 来自专栏数据结构与算法

    带修改队算法

    老师讲课的时候就提到过带修改队在线队树上队树上带修改队……但是一直都没有做到过有关的题, 今天有幸做了一道裸的带修改队的题, 那就来分享一下自己的经验 带修改的队 首先我们要知道,普通的队算法是不资瓷修改操作的 , 不过后人对队算法加以改进 发明了资瓷修改的队算法 思路: 在进行修改操作的时候,修改操作是会对答案产生影响的(废话) 那么我们如何避免修改操作带来的影响呢? 在记录查询操作的时候,需要增加一个变量来记录离本次查询最近的修改的位置 然后套上队的板子,与普通队不一样的是,你需要用一个变量记录当前已经进行了几次修改 对于查询操作,如果当前改的比本次查询需要改的少  code 题目链接 #include<cstdio> #include<cmath> #include<algorithm> using namespace std; const int MAXN=2* 综上队算法的排序保证时间复杂度是 的 带修改队算法的时间复杂度证明 以下内容借鉴自洛谷题解 原版队是将区间(l,r)视为点(l,r),带修改的即加一维时间轴(l,r,t) 对于t轴的移动可以保存每次修改

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

    凡《机器学习》笔记

    如下所示:Q(s1,a1)< Q(s2,a2),所以判断a2为下一个行为,状态更新为s2,重复上述过程。 在行为准则Q 表中寻找 Q(s2, a1) Q(s2, a2) 的值, 并比较他们的大小, 选取较大的一个. 接着根据 a2 我们到达 s3 并在此重复上面的决策过程. Q learning 更新 回到上述流程,根据Q表在s1状态时,因为a2的值大,采取了a2行为到达s2。 设Q(s2, a2) >Q(s2, a1) , ∴把大的 Q(s2, a2) 乘上一个衰减值 gamma (比如是0.9) 并加上到达s2时所获取的奖励 R (这里还没有获取到我们的棒棒糖, 所以奖励为 但时刻记住, 我们虽然用 maxQ(s2) 估算了一下 s2 状态, 但还没有在 s2 做出任何的行为, s2 的行为决策要等到更新完了以后再重新另外做.

    1.5K40发布于 2018-04-18
  • 来自专栏ACM算法日常

    优雅的暴力——队算法

    因此,就诞生了分块这种神奇的暴力——通过类似于均值不等式的方式将复杂度控制在小于O(n2)之内. 而分块这种思想又诞生了诸如块链、块状树、队这些算法. 本文就入门一下队这种神奇而优雅的暴力算法. 在序列中,队算法号称 可以解决一切区间问题 之所以叫队,是因为该算法的发明人是涛大佬 or2 队的思想源于分块,所以队的复杂度是 , 复杂度不算太差,除非毒瘤,不然不会卡队. 但是只是这样还是远远不够的, 因为如果我像下面这样询问 2m次: [1, 2], [n-1, n]; [1, 2], [n-1, n]; ... [1, 2], [n-1, n]; [1, 2], [n 而如果采用伪代码20行的规则排序过后的询问, 刚刚说到的 (l1, r1), (l2, r2) , l1 < l2, r1 比较大而 r2 比较小,l1 、l2相差不大的情况下,l1、l2 很可能在同一个块中 ,则(l1, r1) 就排在 (l2, r2)后面了, 就不会出现右端点反向移动的情形, 这算是我们对不带修队复杂度的一种直观认识.

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

    codechef QCHEF(不删除队)

    维护好每个数出现的左右位置之后直接上不删除队就行了 #include<bits/stdc++.h> const int MAXN = 1e5 + 10, INF = 1e9 + 7; using namespace int x) { chmax(tr[a[x]], x); chmin(tl[a[x]], x); return tr[a[x]] - tl[a[x]]; } int update2( while(rr < x.r) chmax(now, update(++rr)); pre = now; while(ll > x.l) chmax(now, update2(

    55230发布于 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{为互不相同的质数}\ limits_{dn}\frac{\mu(d)}{d}=\frac{\phi(n)}{n} 求法 由于比乌斯函数是典型的积性函数,所以也可以用欧拉筛筛出来。 I void GM(){ RI i,j;for(mu[1]=1,i=2;i<N;i++) for(!

    70320编辑于 2022-09-16
  • 来自专栏wym

    Hdu 6534 队+树状数组

    a.r<b.r:Be[a.l]<Be[b.l]; } int cmp2(node a,node b){ return a.id<b.id; } void revise(int x,int d){ if revise(s[r],1); while(r>q[i].r)r--,revise(s[r+1],-1); q[i].ans = ans; } sort(q+1,q+1+m,cmp2) for(int i=1;i<=m;i++){ printf("%d\n",q[i].ans); } return 0; } /* 6 1 4 7 5 6 3 4 1 4 2

    37420发布于 2019-07-08
领券