QOJ.ac

QOJ

Time Limit: 0.6 s Memory Limit: 256 MB Total points: 100

#117. Askeesi

Statistics

Eräänä päivänä JOI-kun sai aikakoneen. Hän päätti matkustaa 800-luvun Japaniin. Hän tapasi Kukain, yhden sen ajan kuuluisimmista papeista Japanissa. Pappi halusi kehittää uuden harjoittelutavan.

Hänen harjoittelunsa tapahtuu seuraavalla tavalla:

  • Kukai lukee suutran, jossa on $N$ lausetta. Nämä lauseet ovat järjestyksessä, ja hänen on luettava ne järjestyksessä.
  • Jokaisella lauseella on yksi kokonaisluku väliltä $1$ ja $N$, rajat mukaan lukien. Millään kahdella eri lauseella ei ole samaa lukua.
  • Hänen on luettava kokonaisluvulla $i$ ($1 \le i \le N$) merkitty lause $i$-nnessä jaksossa päivän $N$ yhtä suureen osaan jaetusta aikajaksosta. Jokainen lause on niin lyhyt, että hänen on aina mahdollista lukea lause yhden jakson aikana.

Kukai haluaa lukea koko suutran mahdollisimman nopeasti. Kuitenkin se, kuinka monta päivää häneltä kuluu lukemisen loppuun saattamiseen, riippuu suutran lauseissa olevista kokonaisluvuista. Kukai pyysi JOI-kunia laskemaan, kuinka monella mahdollisella tavalla kokonaisluvut voidaan asettaa lauseille niin, että Kukailta kuluu täsmälleen $K$ päivää lukemisen loppuun saattamiseen, jos hän lukee optimaalisesti.

Tehtävä

Kun annetaan lauseiden lukumäärä $N$ ja kokonaisluku $K$, laske sellaisten mahdollisten tapojen lukumäärä asettaa kokonaisluvut lauseille, joilla Kukailta kuluu täsmälleen $K$ päivää lukemisen loppuun saattamiseen hänen lukiessaan optimaalisesti, modulo $1\,000\,000\,007$.

Syöte

Lue seuraavat tiedot vakiosyötteestä.

  • Syötteen ensimmäinen rivi sisältää luvut $N$ ja $K$ yhdellä välilyönnillä erotettuina.

Tuloste

Tulosta sellaisten mahdollisten tapojen lukumäärä asettaa kokonaisluvut lauseille, joilla Kukailta kuluu täsmälleen $K$ päivää lukemisen loppuun saattamiseen hänen lukiessaan optimaalisesti, modulo $1\,000\,000\,007$.

Rajoitukset

Kaikki syötetiedot täyttävät seuraavat ehdot.

  • $1 \le N \le 100\,000$.
  • $1 \le K \le N$.

Osatehtävät

Tehtävässä on 4 osatehtävää. Kunkin osatehtävän pistemäärä ja lisärajoitukset ovat seuraavat:

Osatehtävä 1 [4 pistettä]

  • $N \le 10$.

Osatehtävä 2 [20 pistettä]

  • $N \le 300$.

Osatehtävä 3 [25 pistettä]

  • $N \le 3\,000$.

Osatehtävä 4 [51 pistettä]

Ei ole muita rajoituksia.

Esimerkit

Syöte 1

3 2

Tuloste 1

4

Huomautus

On 4 mahdollista tapaa asettaa kokonaisluvut lauseille niin, että häneltä kuluu 2 päivää lukemisen loppuun saattamiseen.

  • Ensimmäisessä lauseessa on 1, seuraavassa lauseessa on 3 ja viimeisessä lauseessa on 2. Hän lukee kaksi ensimmäistä lausetta (numerot 1 ja 3) ensimmäisenä päivänä ja viimeisen lauseen (numero 2) toisena päivänä.
  • Ensimmäisessä lauseessa on 2, seuraavassa lauseessa on 1 ja viimeisessä lauseessa on 3.
  • Ensimmäisessä lauseessa on 2, seuraavassa lauseessa on 3 ja viimeisessä lauseessa on 1.
  • Ensimmäisessä lauseessa on 3, seuraavassa lauseessa on 1 ja viimeisessä lauseessa on 2.

Syöte 2

10 5

Tuloste 2

1310354

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.