Rumah hujung hadapan web html tutorial Codeforces Round #271 (Div. 2) D. Flowers (递推 预处理)_html/css_WEB-ITnose

Codeforces Round #271 (Div. 2) D. Flowers (递推 预处理)_html/css_WEB-ITnose

Jun 24, 2016 am 11:56 AM
round prapemprosesan

We saw the little game Marmot made for Mole's lunch. Now it's Marmot's dinner time and, as we all know, Marmot eats flowers. At every dinner he eats some red and white flowers. Therefore a dinner can be represented as a sequence of several flowers, some of them white and some of them red.

But, for a dinner to be tasty, there is a rule: Marmot wants to eat white flowers only in groups of sizek.

Now Marmot wonders in how many ways he can eat between a and b flowers. As the number of ways could be very large, print it modulo1000000007 (109?+?7).

Input

Input contains several test cases.

The first line contains two integers t andk (1?≤?t,?k?≤?105), wheret represents the number of test cases.

The next t lines contain two integers ai andbi (1?≤?ai?≤?bi?≤?105), describing the i-th test.

Output

Print t lines to the standard output. Thei-th line should contain the number of ways in which Marmot can eat betweenai andbi flowers at dinner modulo1000000007 (109?+?7).

Sample test(s)

Input

3 21 32 34 4
Salin selepas log masuk

Output

655
Salin selepas log masuk

Note

  • For K = 2 and length1 Marmot can eat (R).
  • For K = 2 and length2 Marmot can eat (RR) and (WW).
  • For K = 2 and length3 Marmot can eat (RRR), (RWW) and (WWR).
  • For K = 2 and length4 Marmot can eat, for example, (WWWW) or (RWWR), but for example he can't eat (WWWR).

  • 考虑第n个。假如n是小于k的,那么只能都是是R,也就是只有一种情况。假如大于等于k,如果第n个是W,那么从n-k+1到n全部为W,如果第n个是R,那么数量就是前n-1个的数量。

    dp[n] = 1; (0

    dp[n] = dp[n-1] + dp[n-k]; (n >= k)


    #include <stdio.h>#include <string.h>#include <math.h>#include <iostream>#include <queue>#include <algorithm>#include <cmath>#define mem(f) memset(f,0,sizeof(f))#define M 100005#define mod 1000000007#define MAX 0X7FFFFFFF#define maxn 100005#define lson o<<1, l, m#define rson o<<1|1, m+1, rusing namespace std;typedef long long LL;int n = maxn, k, t, a, b, dp[maxn], sum[maxn];int main(){    scanf("%d%d", &t, &k);    for(int i = 0; i < k; i++) dp[i] = 1;    for(int i = k; i < n; i++) dp[i] = (dp[i-1] + dp[i-k])%mod;    for(int i = 1; i < n; i++) sum[i] = (sum[i-1] + dp[i])%mod;    while(t--) {        scanf("%d%d", &a, &b);        printf("%d\n", ((sum[b]-sum[a-1])%mod+mod)%mod );    }    return 0;}
    Salin selepas log masuk


    ??

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Apakah maksud bulat dalam php Apakah maksud bulat dalam php Mar 10, 2023 am 10:04 AM

    Dalam PHP, bulat bermaksud "pembundaran" dan merupakan fungsi terbina dalam yang menukar nombor titik terapung kepada integer Fungsi ini boleh membulatkan nombor titik terapung dan mengembalikan nilai integer jenis apungan );".

    Bagaimana untuk membahagi dan membulatkan menggunakan fungsi round() PHP Bagaimana untuk membahagi dan membulatkan menggunakan fungsi round() PHP Mar 21, 2023 pm 04:32 PM

    Fungsi round() ialah fungsi yang sangat berguna dalam perpustakaan pemformatan nombor PHP, yang boleh membundarkan nombor titik terapung ke nombor tempat perpuluhan yang ditentukan. Walau bagaimanapun, memandangkan operasi pembahagian PHP mungkin mengalami perpuluhan tak terhingga atau kehilangan ketepatan, pembulatan pembahagi juga perlu. Seterusnya, kami akan menerangkan secara terperinci cara menggunakan fungsi round() PHP untuk membahagi dan membulatkan.

    Terokai teknik pembersihan dan prapemprosesan data menggunakan panda Terokai teknik pembersihan dan prapemprosesan data menggunakan panda Jan 13, 2024 pm 12:49 PM

    Perbincangan tentang kaedah pembersihan dan prapemprosesan data menggunakan panda Pengenalan: Dalam analisis data dan pembelajaran mesin, pembersihan dan prapemprosesan data adalah langkah yang sangat penting. Sebagai perpustakaan pemprosesan data yang berkuasa dalam Python, panda mempunyai fungsi yang kaya dan operasi yang fleksibel, yang boleh membantu kami membersihkan dan mempraproses data dengan cekap. Artikel ini akan meneroka beberapa kaedah panda yang biasa digunakan dan memberikan contoh kod yang sepadan. 1. Pembacaan data Pertama, kita perlu membaca fail data. panda menyediakan banyak fungsi

    Teknologi pembersihan dan prapemprosesan data dilaksanakan di Jawa Teknologi pembersihan dan prapemprosesan data dilaksanakan di Jawa Jun 18, 2023 pm 01:45 PM

    Dengan populariti dan penggunaan data, isu kualiti data juga telah mendapat perhatian yang semakin meningkat. Pembersihan dan prapemprosesan data adalah salah satu teknologi utama untuk meningkatkan kualiti data. Teknologi pembersihan dan prapemprosesan data yang dilaksanakan menggunakan Java boleh meningkatkan kualiti data dengan berkesan dan menjadikan keputusan analisis data lebih tepat dan boleh dipercayai. 1. Teknologi Pembersihan Data Pembersihan data merujuk kepada ralat pemprosesan, data tidak lengkap, pendua atau tidak sah dalam data, supaya dapat menjalankan analisis dan perlombongan data seterusnya dengan lebih baik. Java menyediakan pelbagai alatan dan perpustakaan yang boleh membantu kami melaksanakan data

    Cara menggunakan fungsi ROUND untuk memintas tempat perpuluhan dalam MySQL Cara menggunakan fungsi ROUND untuk memintas tempat perpuluhan dalam MySQL Jul 13, 2023 pm 09:21 PM

    Cara menggunakan fungsi ROUND dalam MySQL untuk memintas bilangan tempat perpuluhan Dalam MySQL, anda boleh menggunakan fungsi ROUND untuk memintas bilangan tempat perpuluhan. Fungsi ROUND membundarkan nombor kepada bilangan tempat perpuluhan yang ditentukan. Berikut akan memperkenalkan anda kepada penggunaan fungsi ROUND secara terperinci dan memberikan contoh kod. Sintaks: ROUND(X,D)X mewakili nombor yang akan dibundarkan dan D mewakili bilangan tempat perpuluhan yang akan dikekalkan. Contoh penggunaan fungsi ROUND untuk memintas bilangan tempat perpuluhan: Katakan terdapat jadual bernama produc

    Apakah cara untuk mengelakkan suntikan SQL dalam PHP? Apakah cara untuk mengelakkan suntikan SQL dalam PHP? Jun 30, 2023 am 09:57 AM

    Bagaimana untuk menangani masalah suntikan SQL dalam PHP? Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat Internet, bilangan laman web dan aplikasi terus meningkat, dan salah satu bahasa pembangunan yang biasa adalah PHP. Walau bagaimanapun, penggunaan PHP juga menimbulkan beberapa isu keselamatan, salah satunya adalah suntikan SQL. Serangan suntikan SQL merujuk kepada penggodam yang membina pernyataan SQL yang berniat jahat untuk mendapatkan, mengubah suai atau memusnahkan data dalam pangkalan data. Untuk melindungi keselamatan tapak web dan aplikasi, pembangun perlu mengambil beberapa langkah untuk mengelakkan berlakunya kelemahan suntikan SQL. Pertama, kembangkan

    Cara menggunakan PHP untuk melaksanakan fungsi pembersihan dan prapemprosesan data Cara menggunakan PHP untuk melaksanakan fungsi pembersihan dan prapemprosesan data Sep 05, 2023 pm 12:52 PM

    Cara menggunakan PHP untuk melaksanakan fungsi pembersihan dan pra-pemprosesan data Semasa membangunkan tapak web atau aplikasi, pembersihan data dan pra-pemprosesan adalah salah satu tugas biasa. Tujuan mereka adalah untuk memastikan data yang dimasukkan memenuhi piawaian tertentu dan menjalani pemprosesan yang diperlukan sebelum disimpan atau digunakan. PHP ialah bahasa pengaturcaraan sebelah pelayan yang popular yang menyediakan satu siri fungsi dan alatan untuk melaksanakan fungsi pembersihan dan prapemprosesan data. Artikel ini akan membincangkan secara terperinci cara melaksanakan pembersihan dan prapemprosesan data dalam PHP. Pembersihan data Pembersihan data merujuk kepada pembersihan data input

    Apakah makro dalam bahasa pengaturcaraan C? Apakah makro dalam bahasa pengaturcaraan C? Sep 05, 2023 am 11:29 AM

    Penggantian makro ialah mekanisme yang menyediakan penggantian rentetan. Ia boleh dicapai melalui "#define". Ia digunakan untuk menggantikan bahagian pertama definisi makro dengan bahagian kedua sebelum program dilaksanakan. Objek pertama boleh menjadi jenis fungsi atau objek. Sintaks makro sintaks adalah seperti berikut: program #definefirst_partsecond_part Dalam program, setiap kali first_part muncul, ia akan digantikan dengan second_part. Demonstrasi dalam talian #include<stdio.h>#definesquare(a)a*aintmain(){intb,c;printf("

    See all articles