int query(int u, int l, int r, double k) {
更正后的完整代码如下:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int maxn = 1e5 + 10;
const double eps = 1e-6;
int n, m, tot;
double a, b, c;
vector<int> tr;
void pushup(int u) {
int ls = u << 1, rs = u << 1 | 1;
for (int i = 0, j = 0; i < tr.size() || j < tr.size();) {
if (i == tr.size()) tr.push_back(tr);
else if (j == tr.size() || a] - b] < a] - b]) {
tr.push_back(tr);
} else {
tr.push_back(tr);
}
}
}
void build(int u, int l, int r) {
tr.clear();
if (l + 1 == r) {
tr.push_back(l);
return;
}
int mid = (l + r) >> 1;
build(u << 1, l, mid);
build(u << 1 | 1, mid, r);
pushup(u);
}
void modify(int u, int l, int r, int pos, int val) {
if (l + 1 == r) {
tr.push_back(pos);
return;
}
int mid = (l + r) >> 1;
if (mid > pos) modify(u << 1, l, mid, pos, val);
else modify(u << 1 | 1, mid, r, pos, val);
pushup(u);
}
int query(int u, int l, int r, double k) {
if (tr.empty()) return -1;
if (l + 1 == r) return tr;
int mid = (l + r) >> 1, ans = -1;
for (int i = 0; i < tr.size(); ++i) {
int p = tr;
c = a * k - b;
if (c > c) ans = p;
}
if (ans != -1) return ans;
if (k < eps) return -1;
if (!tr.empty() && a] > b] / k) {
ans = query(u << 1, l, mid, k);
}
if (ans == -1 && !tr.empty() && a] > b] / k) {
ans = query(u << 1 | 1, mid, r, k);
}
你是要发悬赏吧,售价是别人给鱼币,悬赏是你给别人鱼币 你这是提问呢还是收鱼币呢
页:
[1]