1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

核心思路

题目的限制是:

  • 在任意连续的 kkk 句话中,最多只有 111 句是假话;
  • 也就是任意两个假话的位置之间,距离必须至少为 kkk。

P4785.第2题-何物为真

    1000ms Tried: 52 Accepted: 16 Difficulty: 6 所属公司 : 阿里
    算法与标签>动态规划

题目内容

你在玩一个 “真假话” 游戏。一共有 nnn 句话,部分句子的真假你已经知道,其余句子未知。我们用 111 表示真话、000 表示假话、−1-1−1 表示未知。你还知道一个规则:在任意连续的 kkk 句话中,最多只有 111 句是假话。请你计算:共有多少种不同的填充方式(把所有 −1−1−1 替换为 000 或 111)能够满足这个规则。由于答案较大,请对 109+710^9+7109+7 取模后输出。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T (1≤T≤2×105)T (1≤T≤2×10^5)T (1≤T≤2×105) 表示数据组数。此后每组测试数据依次输入:

第一行输入两个整数 n,k (1≤k≤n≤2×105)n,k (1≤k≤n≤2×10^5)n,k (1≤k≤n≤2×105),分别表示句子数量、连续检查的窗口长度。

第二行输入 nnn 个整数 a1,a2,…,ana_1,a_2,…,a_na1​,a2​,…,an​​,其中 ai∈a_i∈ai​∈{−1,0,1−1,0,1−1,0,1}。这里 −1−1−1 表示未知,111 表示真话,000 表示假话。保证给出的已知信息本身不违反规则,即在任意长度为 kkk 的连续段中,已知的假话数量至多为 111。

除此之外,保证单个测试文件中 nnn 的总和不超过 5×1055×10^55×105。

输出描述

对于每一组测试数据,新起一行输出满足条件的填充方案数,结果对 109+710^9+7109+7 取模。

样例1

输入

3
5 2
-1 -1 -1 -1 -1
4 3
1 -1 0 -1
6 1
1 -1 -1 -1 -1 0

输出

13
1
16

说明

第二组:n=4,k=3n=4,k=3n=4,k=3,已知第 111 句为真,第 333 句为假。任何长度为 333 的连续段内最多 111 个 0,因此第 222、第 444 句都不能再为假,只能填为真,只有一种方案。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 47ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?