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

P11267 【MX-S5-T1】王国边缘,我的痛你如何懂QWQ

P11267 【MX-S5-T1】王国边缘

显然 \(m\) 一定情况下,每个点有且仅有一个将会跳到的点,这点可以预处理。

每个点都处理完之后,可以从起点开始一直跳,跳 \(k\) 步看终点,这里就可以倍增处理。

难点就在如何预处理,因为我 \(f_{i,0}\) 是在 \(i\) 点跳 \(2^0\) 步所走的距离,这个是要 \(mod 1e9+7\),而我们是要知道我们会跳到哪个点的,即 \((i+f_{i,0})%n\),发现模数不一样,要分开处理!!!

其次要求出每个点后 \(m\) 点最远一个 \(1\),第一个位置的求出来,后面的也可以推出来了,首先,\(f_0\) 时可以简单 \(O(n)\) 计算(因为如果后面 \(3n\) 个都不是的话就说明看不见 \(1\))。

查找 \(3n\) 次意味着:

  • 检查了当前周期的剩余部分

  • 检查了下一个完整周期

  • 检查了再下一个周期的部分

否则判断 \(i+m\) 是不是 \(1\),如果不是,则 \(fi=fi-1\)

#include<bits/stdc++.h>
#define ll long long
#define int ll
#define ls p<<1
#define rs p<<1|1
#define re register 
#define pb push_back
#define pir pair<int,int> 
#define f(a,x,i) for(int i=a;i<=x;i++)
#define fr(a,x,i) for(int i=a;i>=x;i--)
#define lowbit(x) (x&-x)
using namespace std;
const int N=2e5+10;
const int M=5e6+10;
const int mod=1e9+7;
const int INF=1e9+7;
mt19937 rnd(251);char c[N];
int n,m,q;int f[N][70];
int nxt[N][70]; int r;void solve(){cin>>n>>m>>q;cin>>c;int pre=0;for(int i=0;i<n;i++){int p=(i+m);if(!i){int cnt=0;while(c[p%n]!='1'&&p!=i){p--;cnt++;if(cnt>=3*n){p=i;break;}}}else{if(c[p%n]!='1'){p=pre;}}if(p==i){p=i+1;}pre=p;nxt[i][0]=p%n;f[i][0]=(p-i)%mod;}//	cout<<"\n";
//
//	for(int i=0;i<n;i++){
//		cout<<f[i][0]<<" ";
//	} 
//	cout<<"\n";
//	for(int i=0;i<n;i++){
//		cout<<nxt[i][0]<<" ";
//	}
//	cout<<"\n";for(int j=1;j<=62;j++){for(int i=0;i<n;i++){int k=nxt[i][j-1];nxt[i][j]=nxt[k][j-1];f[i][j]=(f[i][j-1]+f[k][j-1])%mod;}}for(int i=1;i<=q;i++){int x,k;int g;cin>>x>>k;g=x%mod;x--;x%=n;int ans=0;int j=0;for(int j=62;j>=0;j--){if((k>>j)&1){ans+=f[x][j];ans%=mod;x=nxt[x][j];}}cout<<(g%mod+ans%mod)%mod<<"\n";}
}signed main(){
//  	freopen("kingdom5.in","r",stdin);
//  	freopen("a.out","w",stdout);ios::sync_with_stdio(0);cin.tie(nullptr);   solve();return 0;
}
http://www.jsqmd.com/news/41064/

相关文章:

  • 聚焦澳大利亚留学:2025热门机构核心优势对比,录取率/服务/费用一网打尽
  • 2025年克锐思变形缝渗漏维修定制厂家权威推荐榜单:克锐思施工缝渗漏维修/克锐思地下室堵漏/克锐思穿墙管渗漏维修服务商精选
  • 英语_阅读_tourist industry_待读
  • RAG RAG(Retrieval-Augmented Generation,检索增强生成)
  • load_balance函数代码详解
  • 2025年专业机构检测制造厂权威推荐榜单:学校实验仪器检验/实验室通用仪器检测/仪器检定检测服务机构精选
  • AI 应用开发新选择:JBoltAI 框架适配 Java 生态,无缝集成现有项目
  • 思考文明社会
  • 2025 年 11 月铝合金门窗厂家推荐排行榜,断桥门窗,断桥推拉门窗,系统门窗,金属门窗,阳台封阳台门窗,平开推拉折叠门窗公司推荐
  • 2025年国内有实力的矿用设备安全检测检验工厂综合评估与选择指南
  • 题解:P14508 猜数游戏 guess
  • 2025 年 11 月合肥搬家公司推荐排行榜,合肥正规搬家公司,合肥市搬家公司,合肥包河区搬家公司,合肥蜀山区搬家公司服务推荐
  • 2025 年 11 月集装袋厂家推荐排行榜,集装袋/吨袋,食品级集装袋,导电/防静电集装袋,液体集装袋,危险品集装袋,耐高温集装袋公司推荐
  • 2025 年 11 月锅炉厂家推荐排行榜,蒸汽锅炉,热水锅炉,导热油锅炉,生物质锅炉,燃气锅炉,电加热锅炉,电锅炉,取暖锅炉,供暖锅炉公司推荐
  • 2025 年 11 月酿酒设备厂家推荐排行榜,懒人自动蒸酒机,小型酒厂成套设备,200斤至1000斤大型全自动酿酒设备公司精选
  • 2025年辽宁朋友圈广告服务商最新top5专业评测:智能营销时代的精准投放新标杆
  • 2025年11月国内画册设计企业权威推荐榜单及选择指南
  • 2025 年最佳 SEO 学习路线和书籍列表推荐
  • 【机器学习01】监督学习、无监督学习、线性回归、代价函数 - 详解
  • 从架构到体验:友猫社区平台的全栈便捷的技术解析与作用体系详解
  • Hadoop面试题及详细答案 110题 (96-105)-- Hadoop性能优化 - 教程
  • chatgpt如何寻找真实参考文献
  • 2025辽宁网络推广品牌最新TOP5评测推荐:赋能品牌增长新引擎
  • 用户数据采集实验软件
  • 2025年出国留学咨询服务公司最新TOP5推荐:深耕辽宁服务全国,专业服务铸就留学坦途
  • 算法第三章作业
  • 2025辽宁自媒体宣传公司/服务商最新TOP5榜单推荐:引领数字营销新生态
  • 如何批量標記 bangumi 往季新番
  • 如何刪除清空 bangumi 時間線
  • 如何遷移 bangumi 賬號