当前位置: 首页 > news >正文

标程-【MX-S5-T1】王国边缘

https://htoj.com.cn/cpp/oj/problem/detail?pid=22185117033728&tid=22487079604096&gid=22487067878400

#include <bits/stdc++.h>
#define ll long long
#define P 1000000007
using namespace std;
const int N = 200005;
int n, f[N][61], g[N][61], q;
ll dis[N], s, m, k;
char c[N];
int main(){cin >> n >> m >> q;cin >> c;int tmp = -1;for (int i =0; i < n; ++i)if (c[i] == '1') tmp = i;for (int i = n; i < 2 * n; ++i){if (c[i - n] == '1') tmp=i;if (tmp == -1) dis[i - n]= 0x3f3f3f3f3f3f3f3f;else dis[i - n] = i - tmp;}for (int i = 0; i < n; ++i){tmp=(i+m)%n;g[i][0]=max(m-dis[tmp],1ll)%P;f[i][0]=(i+max(m- dis[tmp],1ll))%n;}for (int j=1;j <= 60;++j)for (int i = 0; i < n; ++i){f[i][j] = f[f[i][j - 1]][j - 1];g[i][j] = (g[i][j - 1]+g[f[i][j - 1]][j -1]) % P;}while (q -- ){cin >> s >> k;ll ans = s % P;s=(s-1)%n;for(int j=0;j <= 60;++j)if ((k >> j) & 1){ans=(ans+g[s][j])% P;s=f[s][j];}cout << ans << "\n";}
}
http://www.jsqmd.com/news/64326/

相关文章:

  • 轮数选择
  • NOIP 2025游记
  • 3D模型在线转换
  • Batch Size
  • 2025.12.6-md测试图片
  • 2025.12.6-测试图片
  • 2025
  • vue 实用指令
  • vue 实用指令
  • 【算法题解】MX-S5-T1:王国边缘与倍增跳跃——深入理解内向基环树处理
  • APP开发实用的技术选型:原生 vs 跨端 (Flutter/React Native) 对比与适配场景
  • Sampler AI 材质流:一键“喂”图生成 PBR - 教程
  • anaconda3安装及jupyter环境配置教程
  • 关于排列问题的做题及思考
  • 图论杂题选讲
  • VMware Workstation Pro下载并安装Windows
  • 第4章串、数组和广义表
  • 初始学习率 0.002
  • animation实现卡片翻转动效‌
  • EXTI外部中断
  • 调试工具
  • 完整教程:复盘Netflix的2025:广告业务、线下业态和视频播客
  • 深入解析:Photoshop图形工具组与图层样式
  • Spring Cloud Gateway 源码分析一
  • 利用Eval Villain进行客户端路径遍历(CSPT)漏洞挖掘与利用
  • RocketMQ优缺点及使用场景以及如何保证消息不丢失
  • Daytona:90ms 启动的 AI 代码沙箱基础设施
  • Daytona:90ms 启动的 AI 代码沙箱基础设施
  • 20234320 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • MongoDB Docker 镜像制作与部署指南 - 教程