51Nod1074 约瑟夫环 V2
Posted sz-wcc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod1074 约瑟夫环 V2相关的知识,希望对你有一定的参考价值。
题意
约瑟夫环,N-1e18,K-1000
思路
由于K远小于N,后面i大了之后某些时候不用取模,可以加速。
代码
#include<iostream>
#include<cstdio>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
ll n,k;
ll cur,t;
int main()
cin>>n>>k;
cur=0;
for(ll i=2;i<=n;i+=t+1)
t=(i-cur)/k-1;
if(t<0) t=0;
if(i+t+1>n) t=n-i;
cur=(cur+(t+1)*k)%(i+t);
cur++;
cout<<cur<<endl;
return 0;
以上是关于51Nod1074 约瑟夫环 V2的主要内容,如果未能解决你的问题,请参考以下文章