pub struct ZeroOneKnapsackPloblemBranchAndBound { /* private fields */ }
Implementations§
Source§impl ZeroOneKnapsackPloblemBranchAndBound
impl ZeroOneKnapsackPloblemBranchAndBound
Sourcepub fn new<I>(iter: I) -> Self
pub fn new<I>(iter: I) -> Self
Examples found in repository?
crates/aizu_online_judge/src/dpl/dpl_1_i.rs (line 20)
6pub fn dpl_1_i(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, w: i64, vwm: [(i64, i64, i64)]);
10 let mut item = vec![];
11 for (v, w, mut m) in vwm.take(n) {
12 let mut b = 1;
13 while m > 0 {
14 let k = b.min(m);
15 m -= k;
16 item.push((v * k, w * k));
17 b *= 2;
18 }
19 }
20 let knapsack = ZeroOneKnapsackPloblemBranchAndBound::new(item);
21 writeln!(writer, "{}", knapsack.solve(w)).ok();
22}
Sourcepub fn solve(&self, max_weight: i64) -> i64
pub fn solve(&self, max_weight: i64) -> i64
Examples found in repository?
crates/aizu_online_judge/src/dpl/dpl_1_i.rs (line 21)
6pub fn dpl_1_i(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, w: i64, vwm: [(i64, i64, i64)]);
10 let mut item = vec![];
11 for (v, w, mut m) in vwm.take(n) {
12 let mut b = 1;
13 while m > 0 {
14 let k = b.min(m);
15 m -= k;
16 item.push((v * k, w * k));
17 b *= 2;
18 }
19 }
20 let knapsack = ZeroOneKnapsackPloblemBranchAndBound::new(item);
21 writeln!(writer, "{}", knapsack.solve(w)).ok();
22}
Trait Implementations§
Source§impl Clone for ZeroOneKnapsackPloblemBranchAndBound
impl Clone for ZeroOneKnapsackPloblemBranchAndBound
Source§fn clone(&self) -> ZeroOneKnapsackPloblemBranchAndBound
fn clone(&self) -> ZeroOneKnapsackPloblemBranchAndBound
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for ZeroOneKnapsackPloblemBranchAndBound
impl RefUnwindSafe for ZeroOneKnapsackPloblemBranchAndBound
impl Send for ZeroOneKnapsackPloblemBranchAndBound
impl Sync for ZeroOneKnapsackPloblemBranchAndBound
impl Unpin for ZeroOneKnapsackPloblemBranchAndBound
impl UnwindSafe for ZeroOneKnapsackPloblemBranchAndBound
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