


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;}
??

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

En PHP, round signifie « arrondi » et est une fonction intégrée qui convertit les nombres à virgule flottante en nombres entiers. Cette fonction peut arrondir les nombres à virgule flottante et renvoyer une valeur entière de type float. La syntaxe est « round (nombre, précision, mode). );".

La fonction round() est une fonction très utile dans la bibliothèque de formatage de nombres PHP, qui peut arrondir les nombres à virgule flottante à un nombre spécifié de décimales. Cependant, comme l'opération de division de PHP peut souffrir de décimales infinies ou d'une perte de précision, l'arrondi du diviseur est également nécessaire. Ensuite, nous expliquerons en détail comment utiliser la fonction round() de PHP pour diviser et arrondir.

Discussion sur les méthodes de nettoyage et de prétraitement des données à l'aide de pandas Introduction : Dans l'analyse des données et l'apprentissage automatique, le nettoyage et le prétraitement des données sont des étapes très importantes. En tant que puissante bibliothèque de traitement de données en Python, pandas possède des fonctions riches et des opérations flexibles, qui peuvent nous aider à nettoyer et prétraiter efficacement les données. Cet article explorera plusieurs méthodes pandas couramment utilisées et fournira des exemples de code correspondants. 1. Lecture des données Tout d'abord, nous devons lire le fichier de données. pandas fournit de nombreuses fonctions

Avec la popularité et l’utilisation des données, les problèmes de qualité des données font également l’objet d’une attention croissante. Le nettoyage et le prétraitement des données sont l'une des technologies clés pour améliorer la qualité des données. La technologie de nettoyage et de prétraitement des données mise en œuvre à l'aide de Java peut améliorer efficacement la qualité des données et rendre les résultats de l'analyse des données plus précis et plus fiables. 1. Technologie de nettoyage des données Le nettoyage des données fait référence aux erreurs de traitement, aux données incomplètes, en double ou invalides dans les données, afin de mieux effectuer l'analyse et l'exploration ultérieures des données. Java fournit une multitude d'outils et de bibliothèques qui peuvent nous aider à implémenter des données

Comment utiliser la fonction ROUND dans MySQL pour intercepter le nombre de décimales. Dans MySQL, vous pouvez utiliser la fonction ROUND pour intercepter le nombre de décimales. La fonction ROUND arrondit un nombre à un nombre spécifié de décimales. Ce qui suit vous présentera en détail l’utilisation de la fonction ROUND et fournira des exemples de code. Syntaxe : ROUND(X,D)X représente le nombre à arrondir et D représente le nombre de décimales à conserver. Exemple d'utilisation de la fonction ROUND pour intercepter le nombre de décimales : Supposons qu'il existe une table nommée produc

Comment gérer les problèmes d’injection SQL en PHP ? Ces dernières années, avec le développement rapide d'Internet, le nombre de sites Web et d'applications n'a cessé d'augmenter, et l'un des langages de développement les plus courants est PHP. Cependant, l’utilisation de PHP soulève également certains problèmes de sécurité, dont l’injection SQL. Les attaques par injection SQL font référence à des pirates informatiques qui construisent des instructions SQL malveillantes pour obtenir, modifier ou détruire des données dans la base de données. Afin de protéger la sécurité des sites Web et des applications, les développeurs doivent prendre certaines mesures pour empêcher l'apparition de vulnérabilités d'injection SQL. Tout d’abord, développer

Comment utiliser PHP pour implémenter des fonctions de nettoyage et de prétraitement des données Lors du développement d'un site Web ou d'une application, le nettoyage et le prétraitement des données sont l'une des tâches courantes. Leur finalité est de garantir que les données saisies répondent à des normes précises et font l'objet des traitements nécessaires avant d'être stockées ou utilisées. PHP est un langage de programmation côté serveur populaire qui fournit une série de fonctions et d'outils pour implémenter des fonctions de nettoyage et de prétraitement des données. Cet article expliquera en détail comment implémenter le nettoyage et le prétraitement des données en PHP. Nettoyage des données Le nettoyage des données fait référence au nettoyage des données d'entrée

La substitution de macro est un mécanisme qui permet le remplacement de chaînes. Cela peut être réalisé via "#define". Il est utilisé pour remplacer la première partie d'une définition de macro par la deuxième partie avant l'exécution du programme. Le premier objet peut être un type de fonction ou un objet. La syntaxe de la macro de syntaxe est la suivante : #definefirst_partsecond_part program Dans le programme, à chaque fois que first_part apparaîtra, elle sera remplacée par second_part. Démonstration en ligne #include<stdio.h>#definesquare(a)a*aintmain(){intb,c;printf("
