0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

木更津高専Advent Calendar 2024

Day 13

学生向けFixstars高速化コンテスト参加記

Last updated at Posted at 2024-12-12

投稿日を忘れていたため非常に内容が薄いです,スミマセン:confounded:

学生向け Fixstars 高速化コンテスト 2024に参加しました
最終18.268点で17位でした
image.png

解法

Kが16か256かで場合分けをしました
並列化については,全体を通してなんとなくomp parallel forを書いたくらいです...

K = 16

概要

  • 宝石の種類ごとに,巡回畳み込みを用いて「ちょうどi回円盤を回したときに宝石が何個一致するか?」を求める
  • 求まった数列を足し合わせて出来た数列の最大値が答え

高速化

K = 256

  • 種類ごとに愚直に一致するところを列挙する

高速化

  • 必要なところだけを見る
    • k = 0, 1, 2, ..., K - 1について,A[i] == kとなるiをそれぞれ求めておく

反省

雰囲気でOpenMPを触っていました,SIMDとかキャッシュのこととかは何も考えていません...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?