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的主要内容,如果未能解决你的问题,请参考以下文章

1074 约瑟夫环 V2

51Nod 1073约瑟夫环

51nod 1073约瑟夫环

51nod 1073约瑟夫环 递归公式法

51Nod 1073 约瑟夫环

51nod1073-约瑟夫环,递归。