Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/content/authors/yuuma.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"name": "yuuma",
"github": "yuuma893"
}
3 changes: 3 additions & 0 deletions src/content/blog-metas/2024-12-11-ahc040.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"postDate": "2024-12-10T15:05:07.452Z"
}
53 changes: 53 additions & 0 deletions src/content/blogs/2024-12-11-AHC040.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: AHC040に参加した件
description: この記事は OUCC Advent Calendar 2024 の 11 日目の記事です。AtCoder Heuristic Contest 040 に参加しました。入緑を目標に10日間走りましたが結果は果たして…
author: yuuma
category: other
tags: [advent-calendar,kyopuro]
---

## AHCとは

AtCoderにて新たに定期的に開催されるプログラミングコンテストです。ABC/ARC/AGCなどのアルゴリズムコンテストと異なり、最適解を出すのが難しい問題に対し、出来るだけ良い解を作成するコンテストとなります。(公式より抜粋)

## 問題概要

長方形がたくさん与えられるので、それをできるだけコストの小さい長方形の箱に詰めるためにはどうするかを考える問題です。コストは長方形の縦の長さ+横の長さです

## 考えたこと

貪欲+乱択で考えました。

### 1日目

-問題文が理解できない(0がそこそこ強いと考える)
-252人(正の得点を得ている人数)中246位
最悪のスタートを切りました

### 2日目

余りにも順位が低かったので再度問題文を読み直しました。その結果
-0が非常に弱いことに気づく
-サンプルコードの存在に気づく
という進捗が得られ、サンプルコードいじったり、左詰めを行ったりした

### 4日目

三日目はなぜかはわからんが考えてい無かったので4日目です。**正方形に近いと点数がよくなる**ので、左詰めをするときに横幅を単調減少させると縦幅は単調増加しそうだと思ったので縦幅と横幅の小さい方を横幅とし、それを超えるまで並べるという貪欲で考えた。結構いい点数が出たのでこれで行こうと決意

### 5日目~9日目まで

とにかくいろいろな乱拓を考えた。
-左から順ではなくたまに段を変える
-最後の列は左詰めではなく、ランダムに並べる
-左詰めを上詰めに変えたり、全ての長方形の向きを変えた
ちょっとはスコアの改善はあったが大きなものではなかった。

### 最終日

個々の向きを変えることを試していなかったので、一番下の段においてなるべく平たいようにして、残りはランダムに向きを決めるとかやると、スコアの改善が多少見られ、**乱拓なら向きだと**気づいたが大きな改善は得られず終了。
![](2024-12-11-AHC040/seeds0.png)

## さいごに

最終日より前に個々の向きの変更に気づいて向きに関する焼きなましとか出来たらもうちょいスコアが伸びたと思う。ローカルでの点数計算の方が分からなかったせいで計算時間が結構余ったのも反省点かな。現状のスコアが45Gの暫定471位なので入緑はできませんでしたが、一応色は変わったし楽しめたので満足です。長期コンテストは苦しかったですが結構盛り上がれるし、楽しいのでやってみてはいかがでしょうか。
Binary file added src/content/blogs/2024-12-11-AHC040/seeds0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/content/tags/kyopuro.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"name": "競技プログラミング"
}