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 size k.
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 contains several test cases.
The first line contains two integers t and k (1 ≤ t, k ≤ 105), where t represents the number of test cases.
The next t lines contain two integers ai and bi (1 ≤ ai ≤ bi ≤ 105), describing the i-th test.
Print t lines to the standard output. The i-th line should contain the number of ways in which Marmot can eat between ai and bi flowers at dinner modulo 1000000007 (109 + 7).
3 2 1 3 2 3 4 4
6 5 5
- For K = 2 and length 1 Marmot can eat (R).
- For K = 2 and length 2 Marmot can eat (RR) and (WW).
- For K = 2 and length 3 Marmot can eat (RRR), (RWW) and (WWR).
- For K = 2 and length 4 Marmot can eat, for example, (WWWW) or (RWWR), but for example he can't eat (WWWR).
题意:
给出 t 和 k,代表有 t 组询问。k 代表一次只能吃 k 朵 W 花,后给出 t 组的 a - b 区间。问吃这段区间内的长度序列满足条件的方法数。
思路:
DP。dp [ i ] = dp [ i - k ] + dp [ i - 1] 代表一次要么连续吃 k 朵 W 花,要么一次吃 1 朵 R 花。记得最后答案中的减法后要 + MOD 再 % MOD。不然会出错。
AC:
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; const ll MOD = 1000000007; const int MAX = 100005; ll dp[MAX]; ll sum[MAX]; ll a[MAX], b[MAX]; int main() { int t, k; scanf("%d%d", &t, &k); ll Max = 0; for (int i = 1; i <= t; ++i) { scanf("%I64d%I64d", &a[i], &b[i]); Max = max(Max, b[i]); } for (int i = 0; i < k; ++i) { dp[i] = 1; sum[i] = sum[i - 1] + dp[i]; } for (int i = k; i <= Max; ++i) { dp[i] = (dp[i - k] + dp[i - 1]) % MOD; sum[i] = (dp[i] % MOD + sum[i - 1] % MOD) % MOD; } for (int i = 1; i <= t; ++i) { printf("%I64d\n", (sum[b[i]] - sum[a[i] - 1] + MOD) % MOD); } return 0; }
相关推荐
《17flowers图片数据集:探索与应用》 在当今的计算机视觉领域,图像数据集是训练和评估机器学习模型的重要资源。"17flowers图片数据集"正是这样一个宝贵的资料库,它专为图片分类任务设计,对于研究者和开发者来说...
训练集和验证集各包含1020张图片,此外还包括额外6149的额外测试集图像。更加详细的数据集介绍可以参考:https://www.robots.ox.ac.uk/~vgg/data/flowers/102/
《flowers数据集——深度学习中的图像分类实践》 在计算机视觉领域,图像分类是一项基础且重要的任务,它涉及识别和区分图像中的不同类别。这里我们要探讨的是“flowers数据集”,这是一个专门为花卉分类设计的图像...
《Ox-Flowers17数据集:探索机器学习与强化学习在图像识别中的应用》 在信息技术领域,机器学习和强化学习是当前最炙手可热的研究方向,它们为解决复杂问题提供了强大的工具。而Ox-Flowers17数据集就是这样一个专门...
【Wordpress Vector Flowers模板】是一款专为WordPress设计的精美花卉主题模板,旨在为网站赋予生动、优雅的视觉效果。这款模板充分利用了向量图形的优势,确保在任何屏幕尺寸上都能呈现出清晰、细腻的图像,无论是...
标题中的"17flowers.rar"是一个压缩包文件,其中包含了1360张与花相关的图像数据。这些图像被精心地归类为17个不同的类别,每类代表一种特定的花。描述中提到,图像的尺寸不尽相同,有的是500x500像素,有的则是500...
"Flowers Recognition(花卉识别数据集).zip" 提供了一个专用于花卉识别的数据集,它在训练计算机进行花卉图像分类上起着基础性的作用。本文将详细介绍这个数据集及其在深度学习中的应用。 首先,我们来看“Flowers ...
《flowers.zip:一个丰富多彩的数据集探索》 在信息技术领域,数据集是研究、开发和学习算法的重要工具。这里我们关注的“flowers.zip”文件,它是一个包含多种花卉图像的样本数据集,对于机器学习,尤其是计算机...
Oxford 102 Flowers Dataset 是一个花卉集合数据集,主要用于图像分类,它分为 102 个类别共计 102 种花,其中每个类别包含 40 到 258 张图像。 该数据集由牛津大学工程科学系于 2008 年发布,相关论文有...
标题 "17flowers.tgz" 指向的是一个压缩文件,它包含了著名的Oxford 17类鲜花数据集。这个数据集广泛用于计算机视觉领域,特别是深度学习和图像识别的训练与验证。数据集源自 TensorFlow Learn(tflearn)的一个示例...
tensorflow tf_flowers数据集, win路径C:\Users\yourname\tensorflow_datasets\tf_flowers\3.0.1\*, linux路径:/root/tensorflow_datasets/tf_flowers/3.0.1/*
Oxford 102 Flowers Dataset 是一个花卉集合数据集,主要用于图像分类,它分为 102 个类别共计 102 种花,其中每个类别包含 40 到 258 张图像。 该数据集由牛津大学工程科学系于 2008 年发布,相关论文有...
《17flowers_data.rar》是一个压缩包文件,包含与机器学习相关的数据集,特别是用于图像分类的任务。这个数据集被称为“17flowers”,意指它包含17个不同种类的花卉图片,是机器学习领域中一个经典的多类别图像识别...
《深度学习:基于Oxford 102 Flowers数据集的花卉识别》 在人工智能领域,深度学习已经成为图像识别和计算机视觉任务的核心技术。Oxford 102 Flowers数据集是深度学习研究者们广泛使用的资源,它为花卉分类提供了一...
"17flowers数据集"是一个专门用于图像分类任务的资源,尤其适合深度学习模型的训练和验证。这个数据集包含了17种不同类型的花卉图片,每种花卉都有自己的分类,使得它成为研究计算机视觉和机器学习领域中多类别分类...
OxfordFlowers_102_102flowers.tgz
“Hidden In Flowers”作为Wallpaper Engine中的一款作品,可能是指一款以花朵为主题的动态壁纸。这个标题暗示了设计者可能通过细腻的图像和动画效果,将一些隐藏的元素或故事巧妙地融入了盛开的花丛中,为用户带来...
在本篇内容中,我们将深入探讨一个名为“Flowers.rar”的压缩包文件,它提供了一个通过HTML5和JavaScript实现的花瓣飞舞视觉特效。这个特效以其唯美、动态的特性,吸引了许多开发者和设计师的关注,对于想要学习...
【标题】"timu.rar_flowers"所关联的知识点主要涉及英语语法、词汇以及语境理解,特别是关于动词短语、代词及其在句中的应用。在这个题目中,我们看到一个英语填空题,目的是考察学生对于动词短语搭配及代词选择的...
牛津花卉数据集(Oxford Flowers Dataset)是一个用于图像分类和图像识别任务的标准数据集,包含不同种类的花卉图像。它广泛应用于计算机视觉研究和深度学习模型的训练。 #### 数据集特点 1. **图像数量**:包含 ...