首页 > TAG信息列表 > P2249
洛谷P2249 【深基13.例1】查找(二分+结构体)
在实中夏令营上做的题 原题 AC代码 由于要求给出数字第一次出现位置 纯二分是不行的 查出这个数再一步步向前查找会wa一个点tle一个点 所以我干脆在输入时使用结构体把每个数第一次出现位置记下来,到时候线性查找 此思路AC(看你谷几个热门题解都没有涉及结构体,干脆自己发一篇 1 #i洛谷P2249 查找
题目描述 输入 n(n\le10^6)n(n≤106) 个不超过 10^9109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a_1,a_2,\dots,a_{n}a1,a2,…,an,然后进行 m(m\le10^5)m(m≤105) 次询问。对于每次询问,给出一个整数 q(q\le10^9)q(q≤109),要求输出这个数字在序列中第洛谷 P2249 【深基13.例1】查找
题目描述 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 好吧,题目是这样的:给出一串数以及一个数字 CC,要求计算出所有 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输入格式 第一行 2 个整数P2249 有序序列中查找元素题解
题目传送门 标准的二分查找模板是两个,一个用于查找指定元素的左边界,另一个用于查找指定元素的右边界。举个栗子: \([0,1,3,3,3,4,5,6]\) 如果二分查找\(3\)的第一个位置,就是\(pos=2\),如果二分查找\(3\)的最后一个位置,就是\(pos=4\)。 P2249的答案 #include <bits/stdc++.h> using洛谷-P2249 【深基13.例1】查找
题目描述 输入 n(n≤) 个不超过 的单调不减的(就是后面的数字不小于前面的数字)非负整数a1,a2,…,an,然后进行 m(m≤) 次询问。对于每次询问,给出一个整数 q(q≤),要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 -1。 输入格式 第一行 2 个整数 n 和 m,表P2249 【深基13.例1】查找
#include<iostream> using namespace std; const int MAXN = 1e6 + 5; int arr[MAXN]; int main() { int n, m, q = 0; int pos, l, r; cin >> n >> m; for(int i = 1; i <= n; i++) { cin >> arr[i]; } for(int i = 1; i <=P2249 查找
题目描述 输入 n(n\le10^6)n(n≤106) 个不超过 10^9109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a_1,a_2,\dots,a_{n}a1,a2,…,an,然后进行 m(m\le10^5)m(m≤105) 次询问。对于每次询问,给出一个整数 q(q\le10^9)q(q≤109),要求输出这个数字在序列中的编