-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dango式作問方法.html
35 lines (35 loc) · 2.9 KB
/
dango式作問方法.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<title>dango式作問方法</title>
<h4 class="shadow">dango式作問方法とは</h4>
<p>
dango式作問方法とは、ユーザー dango が編み出した作問方法です。
</p>
<h4 class="shadow">1. 差異点 1</h4>
<p>
まずテーマを決めます。「目撃したこと」「驚いたこと」「心に残ったこと」等をテーマとします。
複数の問題を作るときは大体問題のテーマを統一します。<br>
昔、学校で虐められたことがあるのですがその出来事を数学的にして以下の数学の問題を作問して生徒に解かせたことがあります。
<blockquote>
<font size=2>
<strong>Example 1</strong><br>
$2^{998244353}$の下$\ 17\ $桁を求めよ。
</font>
</blockquote>
因みに上の問題の答えは$\ 13113619298516992\ $です。<br>
この問題は学校で虐められて滅茶苦茶腹が立った時に虐めっ子に巨大な物をぶつけてやりたいという思いから「巨大数」が思い浮かんだのでそれをテーマにしました。<br>
</p>
<h4 class="shadow">2. 差異点 2</h4>
<p>
処理が遅い言語(個人差があります)で想定解法を書いた時の実行時間のミリ秒数の半分の数の千の位以下を切り捨てたものを実行時間制限(ミリ秒)とします。<br>
処理が遅い言語で想定解法を書いた時の実行時間のミリ秒数の半分の整数が$\ 10000\ $を超えたときは実行時間を$\ 10000\ $ミリ秒とします。後、効率的なアルゴリズム考えてください。<br>
処理が遅い言語で想定解法を書いた時の実行時間のミリ秒数の半分の整数が$\ 1000\ $に満たない場合は実行時間を$\ 1000\ $ミリ秒とします。<br>
例えば Scala コードを yukicoder で提出して実行時間が$\ 3983\ $ミリ秒の時$\ 1991.5\ $の千の位以下を切り捨てて$\ 1000\ $ミリ秒とします。
</p>
<h4 class="shadow">3. 差異点 3</h4>
<p>
通常問題でも操作回数の最小値を求める問題などの通常問題や、何かを構築したりする問題などのスペシャルジャッジ問題やリアクティブ問題のビジュアライザをこの問題を解いている人にわかりやすくするために追加します。GitHub でコードを書いてリンクを張ったり直接ビジュアライザのコードを書いて問題文に貼り付けたりする方法があります。
</p>
<h4 class="shadow">4. 最後に</h4>
<p>
dango式作問方法を使って問題書くときにはビジュアライザ(<strong>問題によっては別に書かなくてもいい</strong>)とか想定解法とかいろいろ書くものあって大変ですけど頑張ってください。<br>
まあこの作問方法を使わないで独自の作問方法使うのも良いんですけど。
</p>