pub struct PSP { /* private fields */ }
Expand description
Project Selection Problem
§Problems
§References
- https://ferin-tech.hatenablog.com/entry/2019/10/28/燃やす埋める問題
- https://kmyk.github.io/blog/blog/2017/12/05/minimum-cut-and-project-selection-problem/
§Verification
function | verify |
---|---|
penalty_if_red | |
penalty_if_blue | ARC085 #27489484 |
gain_if_red | |
gain_if_blue | ARC085 #27489484 |
penalty_if_red_blue | |
penalty_if_different | |
must_be_red | |
must_be_blue | |
if_red_then_must_be_red | ARC085 #27489484 |
gain_if_both_red | |
gain_if_both_blue |
Implementations§
Source§impl PSP
impl PSP
Sourcepub fn penalty_if_red(&mut self, i: usize, c: u64)
pub fn penalty_if_red(&mut self, i: usize, c: u64)
頂点iが赤ならばcの損失になる。
Sourcepub fn penalty_if_blue(&mut self, i: usize, c: u64)
pub fn penalty_if_blue(&mut self, i: usize, c: u64)
頂点iが青ならばcの損失になる。
Sourcepub fn gain_if_red(&mut self, i: usize, c: u64)
pub fn gain_if_red(&mut self, i: usize, c: u64)
頂点iが赤ならばcの利益を得る。
Sourcepub fn gain_if_blue(&mut self, i: usize, c: u64)
pub fn gain_if_blue(&mut self, i: usize, c: u64)
頂点iが青ならばcの利益を得る。
Sourcepub fn penalty_if_red_blue(&mut self, i: usize, j: usize, c: u64)
pub fn penalty_if_red_blue(&mut self, i: usize, j: usize, c: u64)
頂点iが赤かつ頂点jが青ならばcの損失となる。
Sourcepub fn penalty_if_different(&mut self, i: usize, j: usize, c: u64)
pub fn penalty_if_different(&mut self, i: usize, j: usize, c: u64)
頂点iとjが異なる色ならばcの損失となる。
Sourcepub fn must_be_red(&mut self, i: usize)
pub fn must_be_red(&mut self, i: usize)
頂点iは赤でなければならない。
Sourcepub fn must_be_blue(&mut self, i: usize)
pub fn must_be_blue(&mut self, i: usize)
頂点iは青でなければならない。
Sourcepub fn if_red_then_must_be_red(&mut self, i: usize, j: usize)
pub fn if_red_then_must_be_red(&mut self, i: usize, j: usize)
頂点iが赤ならば、頂点jも赤でなければならない。
Sourcepub fn gain_if_both_red(&mut self, i: usize, j: usize, c: u64)
pub fn gain_if_both_red(&mut self, i: usize, j: usize, c: u64)
頂点iとjがともに赤ならばcの利益を得る。
Sourcepub fn gain_if_both_blue(&mut self, i: usize, j: usize, c: u64)
pub fn gain_if_both_blue(&mut self, i: usize, j: usize, c: u64)
頂点iとjがともに青ならばcの利益を得る。
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PSP
impl RefUnwindSafe for PSP
impl Send for PSP
impl Sync for PSP
impl Unpin for PSP
impl UnwindSafe for PSP
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