プログラミングのお題スレ Part22 (863レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
43(2): 9 [sage] 2023/08/16(水)13:32:44.58 ID:vjpqg3x7(1/2)
>>40 bash、curl および GraphicsMagick の convert コマンドを使用。動作確認したOSはUbuntu 20.04LTS。数百枚のjpegからgifへのconvertには多少時間がかかります。
オプション -h または --highres を指定すると 2048x2048、オプション無しあるいは -l または --lowreso を指定すると 512x512、なおボーナスはスイス銀行の秘密口座に。
※見易くするためインデントは全角スペースに置換してあります。8月16日23時まで取得するようにしているがまだ無い将来の画像は含まない。
res='512x512' # default
OPT=`getopt -o hl -l highreso,lowreso -- "$@"`
eval set -- "$OPT"
while true; do
case "$1" in
-h | --highreso)
res='2048x2048'
shift ;;
-l | --lowreso)
res='512x512'
shift ;;
--)
shift
break ;;
esac
done
dir=$(mktemp -d TmpDir.XXXXXX)
for d in $(seq -w 01 16); do
for h in $(seq -w 0 23); do
dh="$d$h"
file="HMW92308${dh}.globe.1.jpg"
url="http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/2023/${res}/${file}"
echo $url; curl -f -s -R -o "$dir/$file" $url
done
done
#set -x
time convert $(ls $dir/*.jpg) TyphoonAime${res}.gif
ls -o TyphoonAime${res}.gif
88: デフォルトの名無しさん [sage] 2023/09/22(金)11:23:46.58 ID:R2SvRL0Z(1)
お題:celeronで快適に動作するwebブラウザを作れ
161: 158 [] 2023/11/26(日)12:29:54.58 ID:dd78ITN+(2/2)
製品版なら10万円出します
AIでなくても詩作成ツールでいいです
165: 17 [] 2023/11/27(月)10:35:37.58 ID:VB+FhCy9(2/3)
>>156
Kotlin
https://paiza.io/projects/B7Eq1O1iPp-ynUyb5QGL9g
こんなので良いのか?やっぱ Set とか使わずにやった方が良いかな?
208(2): デフォルトの名無しさん [sage] 2024/02/02(金)10:53:02.58 ID:fEMhv+T7(2/2)
>>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 = [
vec!["a1", "a2", "b1", "b2", "b3", "a3", "a4", "a5", "b4"],
vec!["c1", "c2", "c3", "c4", "d1", "d2", "d3"],
vec!["e1", "e2", "e3"]
];
assert_eq!(foo(&input), output);
}
240(1): デフォルトの名無しさん [sage] 2024/02/15(木)23:18:01.58 ID:IMdr4idU(1)
>>234 c
https://ideone.com/mWihci
299(1): ◆QZaw55cn4c [] 2024/03/03(日)19:08:39.58 ID:75HCbpT6(1)
>>297
出題者です。
すごいです。ありがとうございます。私の手元ではまだ6通り解、7通り解のひとつも入手できていないので、参考になりました
私のアルゴリズムは効率が悪いようですね
512: デフォルトの名無しさん [sage] 01/30(木)22:47:12.58 ID:3iB+73MI(1)
高速文字列解析の世界に似た問題のアルゴリズム(ウェーブレット木)が沢山ありました
554: デフォルトの名無しさん [] 02/09(日)21:31:24.58 ID:do9MXosP(2/3)
>>510
C++
https://ideone.com/bwvs06
>>548からの変更点
・データ構造を単純化したら速くなった
673(1): デフォルトの名無しさん [sage] 03/14(金)02:30:00.58 ID:wjeVVi0w(2/2)
>>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?))
}
fn odai<X>(input: &str) -> Option<X>
where X: FromPrimitive + CheckedMul + CheckedAdd + CheckedSub,
{
let x = chars_to_integer::<X>(input.chars())?;
let y = chars_to_integer::<X>(input.chars().rev())?;
x.checked_sub(&y)
}
fn main() {
assert_eq!(odai::<i64>("12345"), Some(-41976));
assert_eq!(odai::<BigInt>("4922235242952026704037113243122008064"), Some("314233029528909399960910650696685770".parse::<BigInt>().unwrap()));
}
748: デフォルトの名無しさん [sage] 04/10(木)02:19:18.58 ID:Zvxe3V8x(1)
ベクタは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