プログラミングのお題スレ Part22 (860レス)
前次1-
抽出解除 レス栞

43
(2): 9 2023/08/16(水)13:32:44.58 ID:vjpqg3x7(1/2) AAS
AA省
88: 2023/09/22(金)11:23:46.58 ID:R2SvRL0Z(1) AAS
お題:celeronで快適に動作するwebブラウザを作れ
161: 158 2023/11/26(日)12:29:54.58 ID:dd78ITN+(2/2) AAS
製品版なら10万円出します
AIでなくても詩作成ツールでいいです
165: 17 2023/11/27(月)10:35:37.58 ID:VB+FhCy9(2/3) AAS
>>156
Kotlin
外部リンク:paiza.io

こんなので良いのか?やっぱ Set とか使わずにやった方が良いかな?
208
(2): 2024/02/02(金)10:53:02.58 ID:fEMhv+T7(2/2) AAS
>>207の動作確認用追加分

use std::collections::HashMap;
use itertools::Itertools;

fn main() {
 let input = [
  "a1=a2", "b1=b2", "b3=b2", "c1=c2", "e1=e2",
  "a3=a4", "c3=c4", "e1=e3", "a2=a4", "c3=c1",
  "b3=a4", "c2=d1", "a4=a5", "d2=c1", "b4=b3", "d3=c3"
 ];
 let output = [
省6
240
(1): 2024/02/15(木)23:18:01.58 ID:IMdr4idU(1) AAS
>>234 c
外部リンク:ideone.com
299
(1): ◆QZaw55cn4c 2024/03/03(日)19:08:39.58 ID:75HCbpT6(1) AAS
>>297
出題者です。
すごいです。ありがとうございます。私の手元ではまだ6通り解、7通り解のひとつも入手できていないので、参考になりました
私のアルゴリズムは効率が悪いようですね
512: 01/30(木)22:47:12.58 ID:3iB+73MI(1) AAS
高速文字列解析の世界に似た問題のアルゴリズム(ウェーブレット木)が沢山ありました
554: 02/09(日)21:31:24.58 ID:do9MXosP(2/3) AAS
>>510
C++
外部リンク:ideone.com

>>548からの変更点
・データ構造を単純化したら速くなった
673
(1): 03/14(金)02:30:00.58 ID:wjeVVi0w(2/2) AAS
>>670 Rust 逆文字列を生成しない&整数ジェネリック版
use num::{BigInt, CheckedAdd, CheckedMul, CheckedSub, FromPrimitive};

fn chars_to_integer<X>(input: impl Iterator<Item = char>) -> Option<X>
 where X: FromPrimitive + CheckedMul + CheckedAdd,
{
 let (zero, ten) = (X::from_u32(0).unwrap(), X::from_u32(10).unwrap());
 input
  .map(|c| X::from_u32(c.to_digit(10)?))
  .try_fold(zero, |acc, x| acc.checked_mul(&ten)?.checked_add(&x?))
}
省11
748: 04/10(木)02:19:18.58 ID:Zvxe3V8x(1) AAS
ベクタはC++もRustも他でもほぼ同じ仕様で埋まると倍の新たなエリアを確保してコピー
これは2^n個が埋まった時点でそれ以前の累積コピー個数は
最悪の1個スタートでも1+2+4+ ... + 2^(n-2)+2^(n-1) =2^n - 1個しかない
つまりO(1)とみなせるため問題になることは少ない
言語による詳細な差もC++とRustならほぼ無いと思われる

一方で今回の20億以内で素数和が2025になる数を求める問題
C++版がRust版より約10倍遅くなってる原因は
・pushしていくベクタがRust版は1個でC++版は2026個のベクタを利用
・pushしていく回数がRust版は解の個数と同じ49942回でC++版は134621081回
ワーキングメモリ使用量の差が効いてる
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s