老瞎眼 pk 小鲜肉 (线段树)】的更多相关文章

链接:https://ac.nowcoder.com/acm/contest/1114/E来源:牛客网 题目描述 老瞎眼有一个长度为 n 的数组 a,为了为难小鲜肉,他准备了 Q 次询问,每次给出 一个区间[L,R],他让小鲜肉寻 找一对 l,r 使L<=l<=r<=R 且 a[l]^a[l+1]^a[l+2]...^a[r]=0,老瞎眼只让他回答r-l+1 最小是多少,若没有符合条件的 l,r 输出”-1”.  输入描述: 第一行输入 n,Q.第二行输入 n 个数,表示 a 数组.接下…
链接:https://ac.nowcoder.com/acm/contest/1114/E来源:牛客网题目:老瞎眼有一个长度为 n 的数组 a,为了为难小鲜肉,他准备了 Q 次询问,每次给出 一个区间[L,R],他让小鲜肉寻 找一对 l,r 使L<=l<=r<=R 且 a[l]^a[l+1]^a[l+2]...^a[r]=0,老瞎眼只让他回答r-l+1 最小是多少,若没有符合条件的 l,r 输出”-1”. 解题思路:预处理出对于每个位置i找到左边离i最近的位置j使得a[j]^a[j+1]…
考试的时候切的,类似HH的项链~ code: #include <bits/stdc++.h> #define ll long long #define M 500003 #define N 2000005 #define inf 100000000 #define lson now<<1 #define rson now<<1|1 #define setIO(s) freopen(s".in","r",stdin) using…
Problem 这题的题意大概是 给出一段长度为\(n\) 的区间 \(q\)次询问求 \(L\)~ \(R\) 这个区间内 最短的一段区间 \(l\)~\(r\) 使得 \(\oplus_{i=l}^{r} a_j= 0\) \(L<=l<r<=r\) 诶 离线么?树状数组好像不好做啊 因为大多数人只会单点修改区间修改和差分吧 考虑离线+线段树 我们先记录一个 \(sum_i = \oplus_{j=1}^i a_j\) 那么我们用一个类似桶一样的东西 \(pos_i\) 记录上一个出…
链接:https://ac.nowcoder.com/acm/contest/1114/E来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 老瞎眼有一个长度为 n 的数组 a,为了为难小鲜肉,他准备了 Q 次询问,每次给出 一个区间[L,R],他让小鲜肉寻 找一对 l,r 使L<=l<=r<=R 且 a[l]^a[l+1]^a[l+2]...^a[r]=0,老瞎眼只…
前言 听说是线段树离线查询?? 做题做着做着慢慢对离线操作有点感觉了,不过也还没参透,等再做些题目再来讨论离线.在线操作. 这题赛后看代码发现有人用的树状数组,$tql$.当然能用树状数组写的线段树也能写,最重要的还是思维上面. 我当时是怎么想来着.一看异或和前缀和不是很像么,我先把数组中所有数字连续异或并存起来,就像处理前缀和一样的.之后对于每组查询,我只要找到区间中相等的数就可以了,然后再取这些数中相隔最近的距离输出即可.想法很好,但是现实很骨感,这样一来每个区间都这样处理不就超时了么,遂放…
zoj3741 简单dp.wa了两个小时,中间改了好多细节.后来还是不对,参考了别人的代码,发现一个致命问题,初始化的时候,不是每种状态都能直接达到的.初始化成-1. (题目有个小坑,0<=L<=5, 即使吃药了,也不能到6 ) #include <vector> #include <list> #include <map> #include <set> #include <queue> #include <stack>…
1227: [SDOI2009]虔诚的墓主人 Time Limit: 5 Sec  Memory Limit: 259 MBSubmit: 803  Solved: 372[Submit][Status][Discuss] Description 小W 是一片新造公墓的管理人.公墓可以看成一块N×M 的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地.当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地.为了体现自己对主的真诚,他们希望自己的墓地拥有着较高的虔诚度…
时间限制 1 Second  内存限制 512 Mb 题目描述 HPU601球王争霸赛即将举行,ACMER纷纷参加. 现在有n个人报名参赛,每个人都有一个实力值 ai,实力值较大者获胜. 为保证比赛公平,我们定义比赛规则: 第一轮:[1, 2]pk,然后[3, 4]pk...最后[2i − 1, 2i]pk. 第二轮:[1, 2]W inner同[3, 4]W inner进行pk,然后[5, 6]W inner同[7, 8]W inner... ······ 第m轮:最后一个W inner. 现…
\(JUMP\) 很容易写出转移柿子 \[f_i=\min_{p_j<p_i}\{(h_i-h_j)^2+f_j\}+w_i\] 把\(\min\)里面的东西展开一下 \[f_j=\min_{p_j<p_i}\{-2h_jh_i+h_j^2+f_j\}+h_i^2+w_i\] 里面的\(\min\)是一个一次函数 首先这是一个类似于区间查询的东西,我们可以用树状数组 里面查询的东西是一个最小值,也就是说我们要资瓷插入一次函数并求最小值,超哥线段树就行了 所以这其实是个树套树,不过树状数组套什么…