


Codeforces Round #271 (Div. 2) D. Flowers (递推 预处理)_html/css_WEB-ITnose
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
Output
655
Note
考虑第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;}
??

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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 );".

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.

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

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 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

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 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

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("
