当前位置: 首页 > 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.zskr.cn/news/50376.html

相关文章:

  • 聚焦澳大利亚留学:2025热门机构核心优势对比,录取率/服务/费用一网打尽
  • 2025年克锐思变形缝渗漏维修定制厂家权威推荐榜单:克锐思施工缝渗漏维修/克锐思地下室堵漏/克锐思穿墙管渗漏维修服务商精选
  • 2025年专业机构检测制造厂权威推荐榜单:学校实验仪器检验/实验室通用仪器检测/仪器检定检测服务机构精选
  • 思考文明社会
  • 2025 年 11 月合肥搬家公司推荐排行榜,合肥正规搬家公司,合肥市搬家公司,合肥包河区搬家公司,合肥蜀山区搬家公司服务推荐
  • 2025 年 11 月锅炉厂家推荐排行榜,蒸汽锅炉,热水锅炉,导热油锅炉,生物质锅炉,燃气锅炉,电加热锅炉,电锅炉,取暖锅炉,供暖锅炉公司推荐
  • 2025 年最佳 SEO 学习路线和书籍列表推荐
  • 【机器学习01】监督学习、无监督学习、线性回归、代价函数 - 详解
  • Hadoop面试题及详细答案 110题 (96-105)-- Hadoop性能优化 - 教程
  • 2025年靠谱的60V 电动车电池厂家推荐及选择指南
  • 网络攻防实战 cheatsheet
  • 2025年知名的深睡记忆棉枕热门厂家推荐榜单
  • 2025年口碑好的铸石板衬板厂家最新热销排行
  • 2025年热门的AB枕芯厂家最新实力排行
  • 使用Tita项目管理的5大理由
  • 2025年比较好的EE变压器骨架行业内口碑厂家排行榜
  • 2025年靠谱的山体边坡防护网实力厂家TOP推荐榜
  • 2025年质量好的321不锈钢焊管厂家选购指南与推荐
  • 2025年靠谱的彩印包装纸箱厂家最新热销排行
  • 2025年比较好的口香糖铁盒实力厂家TOP推荐榜
  • 2025年广东AI培训服务机构TOP5评测:引领企业数字化转型新生态
  • 2025年比较好的电动伸缩门厂家推荐及选购指南
  • 2025年靠谱的生涯规划测评系统教育信息化产品推荐榜
  • 2025年质量好的远程可视监控智能门锁厂家推荐及选购指南
  • 2025年知名的杭州全屋定制设计行业权威榜
  • 2025年比较好的多功能护理床用户好评厂家排行
  • 2025年广东企业数字化转型服务商/厂商最新TOP5推荐:引领产业升级新标杆
  • 2025年热门的福田移动餐车品牌综合实力权威榜
  • 2025年口碑好的割草机实力厂家TOP推荐榜
  • 2025年口碑好的高碘值活性炭厂家推荐及选择参考