Skip to content

Instantly share code, notes, and snippets.

View akiradeveloper's full-sized avatar

Akira Hayakawa akiradeveloper

View GitHub Profile
@akiradeveloper
akiradeveloper / gist:da5d67833ea14eae18131c4f736664fd
Created March 11, 2022 09:07
stream that includes panicking future
#[tokio::test(flavor = "multi_thread")]
async fn test_buffered_unordered() {
use futures::FutureExt;
let mut futs = vec![];
futs.push(async move { 1 / 0 }.boxed());
for i in 1..=10 {
futs.push(async move { i }.boxed())
}
let stream = futures::stream::iter(futs);
let mut buffered = stream.buffer_unordered(100);
@akiradeveloper
akiradeveloper / gist:bff6ffcf091f980f8026cfa06967f7d9
Created December 16, 2021 14:09
なんで(1)はあかんのや?
impl X {
fn f(&self) -> Y {
}
}
let x: X;
// (1)
std::thread::spawn(move || {
let y = x.f();
});
@akiradeveloper
akiradeveloper / gist:af29229e2d904397ccff35742f5daa2d
Last active August 14, 2021 04:44
Baby-step Giant-step algorithm (draft)
use cargo_snippet::snippet;
use std::collections::HashMap;
#[snippet(BabyStepGiantStep)]
pub trait BSGSable {
type T: std::fmt::Debug;
type K: std::hash::Hash + std::cmp::Eq;
fn inv(x: &Self::T, mo: u64) -> Self::T;
fn unit() -> Self::T;
// https://atcoder.jp/contests/typical90/tasks/typical90_k
fn solve() {
let out = stdout();
let mut out = BufWriter::new(out.lock());
input!{
n:usize,
dcs:[(usize,usize,i64);n],
}
let mut dcs=dcs; dcs.sort_by_key(|x|x.0);
```c
int abs(int x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
int main(void) {
return abs(-3);
trait BlockDevice {
fn write(&mut self);
}
type sector_t = u64;
struct Local {
path: String
}
impl BlockDevice for Local {
fn solve() {
let out = stdout();
let mut out = BufWriter::new(out.lock());
input!{
new_stdin_parser = parser,
t: usize,
}
for _ in 0..t {
input!{
parser = parser,
@akiradeveloper
akiradeveloper / gist:2b993f2e9dca2c7f6409f39033465c98
Created September 11, 2019 04:48
これはskiplisterにはたまらんな
わかるかこの美しさ。
--,--,--,--,--,--,--,--,09
--,--,--,--,--,--,--,--,09,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,44
--,--,--,--,--,--,--,--,09,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,37,--,--,40,--,--,--,44
--,--,--,--,--,--,--,--,09,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,29,30,--,--,--,34,--,--,37,--,--,40,--,--,--,44,--,46
01,--,--,--,--,--,--,08,09,--,--,--,--,--,--,16,--,--,--,20,--,--,--,--,--,26,--,--,29,30,--,--,--,34,--,36,37,--,--,40,--,42,--,44,45,46
01,--,03,--,--,--,07,08,09,10,11,--,13,--,15,16,--,--,19,20,--,--,23,24,25,26,27,--,29,30,--,32,33,34,--,36,37,--,--,40,--,42,--,44,45,46,--,48,49
@akiradeveloper
akiradeveloper / gist:2a681f53fdaee7a84deb3a7aefdfbcb2
Created September 11, 2019 04:16
skiplist visualization (笑)
--,--,--,--,--,06
--,--,--,--,--,06
--,--,--,--,--,06
--,--,--,--,--,06
00,--,--,--,--,06
00,--,--,--,--,06,--,08,09
# http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0529
TEST=[]
(n,m) = map(int, input().split())
while (n,m) != (0,0):
ps = [0]
for _ in range(n):
p = int(input())
ps.append(p)
TEST.append((m, ps))