pub struct Static2DTree<T, U, V>{ /* private fields */ }
Implementations§
Source§impl<T, U, V> Static2DTree<T, U, V>
impl<T, U, V> Static2DTree<T, U, V>
Sourcepub fn new<I>(data: I) -> Selfwhere
I: IntoIterator<Item = (T, U, V)>,
pub fn new<I>(data: I) -> Selfwhere
I: IntoIterator<Item = (T, U, V)>,
Examples found in repository?
crates/aizu_online_judge/src/dsl/dsl_2_c.rs (line 10)
6pub fn dsl_2_c(reader: impl Read, mut writer: impl Write) {
7 let s = read_all_unchecked(reader);
8 let mut scanner = Scanner::new(&s);
9 scan!(scanner, n, xy: [(i64, i64)]);
10 let tree = Static2DTree::new(xy.take(n).enumerate().map(|(i, (x, y))| (x, y, i)));
11 scan!(scanner, q, query: [(i64, i64, i64, i64)]);
12 for (sx, tx, sy, ty) in query.take(q) {
13 let mut v = tree.range(sx..tx + 1, sy..ty + 1);
14 v.sort();
15 for v in v {
16 writeln!(writer, "{}", v).ok();
17 }
18 writeln!(writer).ok();
19 }
20}
Sourcepub fn range(&self, range1: Range<T>, range2: Range<U>) -> Vec<&V>
pub fn range(&self, range1: Range<T>, range2: Range<U>) -> Vec<&V>
Examples found in repository?
crates/aizu_online_judge/src/dsl/dsl_2_c.rs (line 13)
6pub fn dsl_2_c(reader: impl Read, mut writer: impl Write) {
7 let s = read_all_unchecked(reader);
8 let mut scanner = Scanner::new(&s);
9 scan!(scanner, n, xy: [(i64, i64)]);
10 let tree = Static2DTree::new(xy.take(n).enumerate().map(|(i, (x, y))| (x, y, i)));
11 scan!(scanner, q, query: [(i64, i64, i64, i64)]);
12 for (sx, tx, sy, ty) in query.take(q) {
13 let mut v = tree.range(sx..tx + 1, sy..ty + 1);
14 v.sort();
15 for v in v {
16 writeln!(writer, "{}", v).ok();
17 }
18 writeln!(writer).ok();
19 }
20}
Auto Trait Implementations§
impl<T, U, V> Freeze for Static2DTree<T, U, V>
impl<T, U, V> RefUnwindSafe for Static2DTree<T, U, V>
impl<T, U, V> Send for Static2DTree<T, U, V>
impl<T, U, V> Sync for Static2DTree<T, U, V>
impl<T, U, V> Unpin for Static2DTree<T, U, V>
impl<T, U, V> UnwindSafe for Static2DTree<T, U, V>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more