cotton's blog

By cotton, history, 6 weeks ago, In English

In 2021 July, I posted a blog Use Rust in Codeforce — My practice with rust-bundler. After some work, I published a new package rust_bundler_cp, which is designed for competitive programming, and concentrating on codeforces' environment.

Quick guide:

  1. cargo install rust_bundler_cp
  2. git clone --depth=1
  3. cd rust_codeforce_template
  4. rust_bundler_cp --input . --output /dev/shm/

I'm excited to introduce a new feature (experimental): Remove unused pub mod At top of my, I have several pub mod as my code template.

pub mod pr;
pub mod algo;
pub mod nd;
pub mod multi_queue;
pub mod nums;
pub mod iters;

Although Codeforces has a generous code size limit: 64kb, it's always better to avoid unnecessary code. My new version rust_bundler_cp may examine If a mod is not used in, it would be removed from the final output with explicit arg:
rust_bundler_cp --input . --output /dev/shm/ --remove_unused_mod

Looking forward to your feedback!

Read more »

  • Vote: I like it
  • +2
  • Vote: I do not like it

By cotton, history, 3 months ago, In English

In June 2019, EbTech posted an article How to Compete in Rust. Inspired by that, I'm working on my rust_codeforce_template.

It could be used in such way:

  1. cargo install --git --branch codeforce bundler
  2. git clone --depth=1
  3. Edit Most cases, I only need to edit fn solve()
  4. ./ <
  5. If the result looks good, submit /dev/shm/ to codeforce

This workflow has such advantages IMHO

Template code Move template code out of I could save my time from scrolling up and down. My forked rust-bundler would bundle them into a single file that could be submitted.

Save coding time for IO
I bundled text_io in my It provides simple reading methods

let i: i32 = read!();  
let word: String = read!(); 

Based on that, I added another function read_ivec. I think this is the most frequently used function in my template.

I'm new and naive to both Rust and competitive programming. (Well, old and naive for the latter). I'll be so grateful for your comments.

Besides, I recommend rust-algorithms by EbTech. Templates with a high quality:)

Read more »

  • Vote: I like it
  • +12
  • Vote: I do not like it