【题解】Luogu P3901 数列找不同】的更多相关文章

由于技术原因,题目我贴不上了,大家点下面的链接自己去看吧^_^ P3901 数列找不同 这题第一眼看去,题面真短,有坑(flag) 在往下面看去,woc数据这么大,你要怎样. 现在一起想想想,超级侦探,立刻出发. bulabulabula, 串了. 看了看题解,卧槽,还有这种操作,赶紧get 我们在输入的时候做一下预处理,把每一个数前面的有和它重复的数的位置记录一下,然后在找的时候就很简单了. 不要以为这么简单就结束了.hahahha 代码 #include <iostream> #inclu…
对于区间查询的问题,提供一种思路: 莫队. 莫队是处理区间问题的乱搞神器,尤其是对于离线查询问题,当然也可以做在线查询,比如带修莫队. 对于有的题,莫队是乱搞骗分,而在某些地方,莫队是正解. 这道题来说,可以当做是萌新初学莫队的一个板子,而且莫队也好理 解.线段树树状数组这类也可以做,但是相比莫队而言麻烦些.(个 人见解,不喜勿喷.谢谢) 1st.关于莫队的思想: 先明白一点,莫队可以理解成: 优雅的暴力. 暴力算法几乎人人都会,所以莫队理解起来好理解. 如果让你暴力的话呢? 我们用一个cnt[…
我博客中对莫队的详细介绍 原题传送门 不错的莫队练手题 块数就直接取sqrt(n) 对所有询问进行排序 排序第一关键词:l所在第几块,第二关键词:r的位置 考虑Ai不大,暴力开数组 add时如果加之后的数量是1 总数就加1 del时如果减之后的数量是0 总数就减1 每次比较总数和该次查询区间的长度 相等的话就把 ans[q[i].id]设为真 最后如果ans[i]为真就输出Yes,否则输出No #pragma GCC optimize("O3") #include <bits/s…
P3901 数列找不同 题目描述 现有数列 \(A_1,A_2,\cdots,A_N\) ,Q 个询问 \((L_i,R_i)\) , \(A_{Li} ,A_{Li+1},\cdots,A_{Ri}\) 是否互不相同 输入输出格式 输入格式: 第1 行,2 个整数 \(N,Q\) 第2 行,N 个整数 \(A_{Li} ,A_{Li+1},\cdots,A_{Ri}\) Q 行,每行2 个整数 \(L_i,R_i\) 输出格式: 对每个询问输出一行,"Yes" 或者"No&…
题目描述 现有数列 \(A_1,A_2,\cdots,A_N\) ,Q 个询问 \((L_i,R_i)\) , \(A_{Li} ,A_{Li+1},\cdots,A_{Ri}\) 是否互不相同 输入输出格式 输入格式: 第1 行,2 个整数 \(N,Q\) 第2 行,N 个整数 \(A_{Li} ,A_{Li+1},\cdots,A_{Ri}\)​ Q 行,每行2 个整数 \(L_i,R_i\)​ 输出格式: 对每个询问输出一行,"Yes" 或者"No" 输入输出…
题目链接:https://www.luogu.com.cn/problem/P3901 这道题简单莫队模板题,然后$add$和$del$分别处理$vis[]$从$0-->1$和从$1-->0$的情况,用一个$ans$记录, 最后如果$ans==(R-L+1)$,那么就说明并没有重复的,反之. AC代码: #include<iostream> #include<cstdio> #include<cmath> #include<algorithm>…
题目传送门 题目描述 现有数列 A_1,A_2,\cdots,A_NA1​,A2​,⋯,AN​ ,Q 个询问 (L_i,R_i)(Li​,Ri​) , A_{Li} ,A_{Li+1},\cdots,A_{Ri}ALi​,ALi+1​,⋯,ARi​ 是否互不相同 输入输出格式 输入格式: 第1 行,2 个整数 N,QN,Q 第2 行,N 个整数 A_{Li} ,A_{Li+1},\cdots,A_{Ri}ALi​,ALi+1​,⋯,ARi​ Q 行,每行2 个整数 L_i,R_iLi​,Ri​…
传送门 我不管我不管我就是要用莫队 直接用莫队裸上 //minamoto #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #define ll long long using namespace std; #define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==…
重温下手感,判断区间是否全是不同的数字有两种做法,一个长度为len的区间不同的数字,参见HH的项链,一种是区间众数,参见蒲公英,是水题没错了.明天搞数据库,然后继续自己的gre和训练计划 #include <bits/stdc++.h> using namespace std; #define limit (10005 + 5)//防止溢出 #define INF 0x3f3f3f3f #define inf 0x3f3f3f3f3f #define lowbit(i) i&(-i)/…
[Luogu 3398] 仓鼠找sugar 又是 LCA- 前两天死活写不过的一个题今天终于顺手切了. 思路嘛参考了一楼题解. 就是说,对于 a, b, c, d 四个点, 令 x = LCA(a, b), y = LCA(c, d), 两条路径有交叉,当且仅当 c, d 至少一个在 x 的子树下,且 a, b 至少一个在 y 的子树下. 由于我是 HLD 求的 LCA,第一遍 DFS 时顺手把子树大小求了,后边判断在不在一棵子属下的时候就可以很方便了. 就这样. #include <algor…