zoj 3911 Prime Query(线段树)

2024-06-05 00:38
文章标签 zoj 3911 prime query 线段

本文主要是介绍zoj 3911 Prime Query(线段树),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:zoj 3911 Prime Query

代码

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>using namespace std;
const int maxn = 1e6 + 5;
const int maxm = 1e7;
#define lson(x) ((x)<<1)
#define rson(x) (((x)<<1)|1)int N, Q, vis[maxm+5], A[maxn];
int lc[maxn<<2], rc[maxn<<2], S[maxn<<2], T[maxn<<2];void maintain(int u, int k) {T[u] = k;S[u] = vis[T[u]] ==

这篇关于zoj 3911 Prime Query(线段树)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031581

相关文章

让IE8支持@media query

方法一:polyfill Respond.js 方法二:css hack @media \0screen {} 写在@media \0screen {} 中的代码只会在IE8中执行,其他浏览器会忽略这些代码 注:推荐使用方法一

query string parameters 和request payload

HTTP请求中,如果是get请求,那么表单参数以name=value&name1=value1的形式附到url的后; post请求:表单参数是在请求体中,也是name=value&name1=value1的形式在请求。 export const voucherDetailAdd=(token,formStr) =>{return axios.post(`${base}/voucher/deta

线段树单点修改的应用

思路:对初始状态进行建树,然后这题就相当于查询第一个合法的位置,并且对其值进行修改,整个题目要求维护的是区间最大值,很显然可以使用线段树。 #include <bits/stdc++.h>using namespace std;const int N = 2e6 + 5;typedef long long ll;typedef pair<ll, ll> pll;typedef arra

Query failed with error code 96 and error message 'Executor error during find command: OperationFail

Query failed with error code 96 and error message 'Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smal

阿里笔试--智能对话简化版之query指令槽位识别

头天贴主参加了阿里的笔试,第一道编程题就够做了。不是时间短,是脑子不够用。好了,不废话了,上干货。 题目介绍 现下互联网AI战争以智能音箱为切入口,敲开市场大门,抢夺市场用户。智能音箱需要语音交互,这就涉及到query指令的语义理解。例如:"我要看章子怡的一代宗师",这里边需要识别出来:动作“看”,“章子怡”,“一代宗师”。一般都会建立一个知识库:名词标注各种标签,这里边可能会有:章子怡是演员

[HDU 5029] Relief grain (树链剖分+线段树)

HDU - 5029 其实这道题最大的难点不是树链剖分,而是怎么维护某个点被那些颜色染过,染过多少次 如果在线段树维护的话,很难做到,估计得树套树,而且空间会炸 好在这题是离线的,可以使用差分的思想来维护 对一段区间[l,r]染色 c,相当于在这段区间左端点 l打上 c标志,右端点 r+1打上 -c标志 然后扫一遍整个区间 (依照 dfs序扫一遍整棵树),期间不断维护一颗线段树 线段树

HDU 4791二分+线段树

13长沙现场赛水题 二分+线段树 二分出页数的所在位置 线段树查找后面区间最小值 #include "stdio.h"#include "string.h"#include "math.h"#include "stdlib.h"struct comp{int l,r,mid;__int64 min;} data[400100];__int64 a[100100],b[1

HDU 4578 线段树 多lazy操作

2013ACM-ICPC杭州赛区全国邀请赛 线段树裸题 bzoj 1798 升级版 add记录 加 mul记录 乘 sum[1]  记录一次方和 sum[2]  记录二次方和 sum[3]  记录三次方和 公式推导出: sum[3]=(sum[3]+(sqr3(m)*len())%mod + (3*m*sum[2])%mod + (3*sqr2(m)*sum[1])%mod) %m

HDU 4553 线段树双关键字区间合并

用两个关键字记录,分别为屌丝时间和女神时间 若屌丝约,更新屌丝时间 若女神约,更新屌丝和女神时间 学习,则两个全部清空 #include "stdio.h"#include "string.h"struct Data{int l,r,x1,x2,l1,l2,r1,r2;}data[400010];int Max(int a,int b){if (a<b) return b

HDU 3974 线段树(将树映射到区间)

第一次写将树映射到区间的线段树。。。 线段树部分很简单 主要是将原有的关系树根据BOSS关系从新编号 以便把每个BOSS所带领的员工全部压入一个连续区间内 然后记录每个BOSS的起始编号和他的最后一名的员工的编号 然后用线段树成端更新,单点查找即可 #include "stdio.h"#include "string.h"struct node{int l,r,val,l