51nod 1074 约瑟夫环

Java云上香云祭祀线上祭祀系统小程序源码 云上香云祭祀线上祭祀系统”,不仅是一种祭祀方式的创新,更是对传统文化的一次深情致敬。它让我们明白,无论时代如何变迁,对亲人的怀念与尊重永远不会改变。在这个特别的平台上,让我们共同守护那份跨越时空的爱与思念,让心灵得以安放,让生命之树常青。🌳。 阅读详情

Description


N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。
例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。

2 <= N <= 10^18, 2 <= K <= 1000

Solution


mark一下,一直不知道约瑟夫问题有这么多花样
容易想到O(nm)的模拟做法,但是一般会t
O(n)的做法可以递推f[i]=(f[i-1]+m)%i   (f[1]=0)
当n很大m很小的时候某一段的f类似一个等差数列,那么可以算出一段的答案直接跳过,复杂度O(m)

Code


#include <stdio.h>
using namespace std;
typedef long long ll;
int main(void) {
    ll n,m,k=0; scanf("%lld%lld",&n,&m);
    for (ll i=1;i<=n;i++) {
        if (k+m<i) {
            ll x=(i-k+1)/(m-1)-1;
            if (x+i<n) {
                k+=x*m;
                i+=x;
            } else {
                k+=(n-i)*m;
                i=n;
            }
        }
        k=(k+m-1)%i+1;
    }
    printf("%lld\n",k);
    return 0;
}
从 SAP Gateway 旧 add-ons 卸载到 SAP S/4HANA 转换的清理路线 摘要: SAP Gateway系统的维护难点往往源于历史遗留组件的堆积,而非OData服务本身的复杂性。早期系统为支持多种服务类型而安装的各类add-ons(如IW_SCS、IW_CNT、GW_CORE等),随着系统升级和团队更替逐渐成为技术负债。自SAP NetWeaver 7.40起,核心功能已整合至SAP_GWFND组件,使架构显著简化。在向S/4HANA迁移时,需重点清理已废弃的add-ons(如IW_SCS、IW_GIL等),但必须谨慎验证其关联服务是否仍被调用。组件清理需结合系统日志和调用链分析 阅读详情

相关推荐

全面分析总结解决Could not transfer artifact org.apache.maven.plugins等此类问题的方法

全面分析总结解决Could not transfer artifact org.apache.maven.plugins,Could not transfer artifact xxx from/to xxx等此类问题的方法

ccjjjjdff的博客 1万+

约瑟夫环问题 (51Nod1074)

定义: 假设n个人排成环形,且有以正整数m<=n。从某个制定的人开始,沿环报数,每遇到第m个人就让其出列,且报数进行下去。这个过程一直进行到所有人都出列为止,计算最后一个出列的人 O(n)的算法: 递归求解约瑟夫环 约瑟夫序列从0,1,2.....,N-1中报数为M-1的出列,从M开始又重新从1开始报数,这可以用典型的递归来求解,递归的具体过程如下图所示: ...

Source_Roc 515

C#与西门子PLC S7-1500 S7协议PLC读写数据

/获取对应长度的字符串。//将val字符串转换为字符数组。//String写入。//String读取。//PLC类型 IP地址 机架号 槽号。1.类库使用S7netplus。

softshow1026的博客 5578

51nod 1073 约瑟夫环 (数学)

N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 Input 2个数N和K,表示N个人,数到K出列。(2  Output 最后剩下的人的编号 Input示例 3 2 Output示例 3

AK_HuangYC的博客 1079

Isograph Reliability Workbench 14实战:从零构建故障树分析模型

本文以“马达不转”为例,手把手教你使用Isograph Reliability Workbench 14从零构建故障树分析模型。内容涵盖创建工程、定义顶事件、添加逻辑门与基础事件等核心步骤,并介绍了模型检查与定性定量分析,帮助你系统掌握这一强大的可靠性工程工具。

weixin_29309213的博客 365

FastAPI 高级特性:同异步路由函数、依赖注入与后台任务

在现代 Web 开发中,高效的性能和简洁的代码结构是至关重要的。FastAPI 作为一个现代、快速(高性能)的 Web 框架,凭借其对异步编程的原生支持和直观的依赖注入系统,迅速成为开发者的热门选择。在本文中,将深入探讨 `FastAPI` 中的几个核心概念:同异步函数的区别、`Depends` 依赖以及后台任务。

qq_43629857的博客 203

【51nod1074】约瑟夫环

Description http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1074 Solution 约瑟夫问题模板。 我们设fif_ifi​表示iii个人、报数报到mmm时的答案,那么有转移: fi=(fi−1+m−1)&amp;amp;VeryThinSpace;mod&amp;amp;VeryThinSpace;i+1f_i = (...

დ♂Hany01's Blog Space♂ღ 307

Dify知识库文档批量下载神器:一键导出所有文件到本地

在使用Dify进行知识库管理的过程中,我们经常遇到一个实际问题:如何将已上传到知识库中的文档批量下载到本地?目前Dify的管理界面虽然功能强大,但暂时没有提供直接的UI界面来批量导出或下载知识库内的文档。这意味着如果我们需要将知识库中的文件备份到本地或进行离线处理,只能通过API接口来实现。本文将详细介绍如何利用Dify的REST API构建一个完整的知识库文档下载解决方案,这也是目前实现知识库文件批量下载到本地的唯一可行路径。🎉进入大模型应用与实战专栏 | 🚀查看更多专栏内容首先,我们需要在Dify的

羊城迷鹿的博客 3474

51Nod-1074-约瑟夫环 V2

ACM模版 描述 题解 约瑟夫环问题在《具体数学》一书上讲得十分详细,这里我们用函数法来解它,模板题。 代码 #include using namespace std; unsigned long long n, k; int main() {     cin >> n >> k;          long long y = k % 2;

逐梦者 715

15 RK3568 RTL8111 PCIE

我这边扩了三个网卡。pcie3.0拆分了1+1lane。需要注意自己的reset引脚修改为自身rtl引脚即可。1、调试pcie 扩展网卡 RTL8111。

qq_39451352的博客 180

实验十一 ——————二层交换基础

实验内容实验网络拓扑图如上所示SW1以及SW2都创建VLAN10和VLAN20,按照上图所示,将接口添加到特定的VLAN;测试PC之间的连通性,要求相同VLAN内的PC能够相互通信要求设置两台交换机名称以及进行特权模式的密码,并允许通过Telnet方式管理交换机实验目的了解二层交换机工作原理掌握交换机基本配置命令理解VLAN的概念,掌握VLAN的配置理解trunk的概念,掌握trunk的配置实验步...

Fly_鹏程万里 1489

【题解】51nod1074:约瑟夫环V2

原题传送门 具体数学上看的一愣一愣的,自己瞎想了想好像明白了 假设现在有nnn个人,先是淘汰第kkk个人,剩下(n−1)(n-1)(n−1)个人是这样排列的:k+1,k+2,...,n,1,2,...,k−2,k−1k+1,k+2,...,n,1,2,...,k-2,k-1k+1,k+2,...,n,1,2,...,k−2,k−1 若是我们知道(n−1)(n-1)(n−1)个人中幸存者是xxx,那...

ModestCoder_的博客 456

【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏5(附项目源码,完结)

本期是本项目的最后一篇,主要内容是配置环境、生成不同敌人、结束重开。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2575

约瑟夫环 51nod-1074

51nod-1074 接下来再说说递推式是怎么来的,假设存在n个人, 每隔m个人就要淘汰一人, 所以淘汰的第一个人为 k = (m)% n;则下一个要从k+1开始。 则现在存在的序列为:k+1,k+2………k-1.做一个映射: k+1 -&gt; 0 k+2 -...

Taboo 338

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

51nod 1074 约瑟夫环 V2

1074 约瑟夫环 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  关注 N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。

Bryce1010's Blog 657

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

51Nod1074 约瑟夫环 V2

题意 约瑟夫环,N-1e18,K-1000 思路 由于K远小于N,后面i大了之后某些时候不用取模,可以加速。 代码 #include<iostream> #include<cstdio> #include<cstdio> #include<algorithm> #define ll long long using namespace std...

weixin_30505751的博客 180

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

51Nod1074-约瑟夫环V2

1074 约瑟夫环 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 关注N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。Input2个数N和K,表示N个人,数到K出列。(2 &lt;= N &lt;= ...

Revenant_Di的博客 294

51nod 1074 约瑟夫环V2

1074 约瑟夫环 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  关注 N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。

Panda!!!!!! 1361

51nod1074 约瑟夫环V2 [思维题]

/# 约瑟夫环V2约瑟夫环V2约瑟夫环V2 N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 (2≤N≤1018,2≤K≤1000)(2 \le N \le 10^{18}, 2 \le K \le 1000)(2≤N≤1018,2≤K≤1000) ...

Zbr162的博客 302

【51Nod1074】约瑟夫环 V2

N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 Input 2个数N和K,表示N个人,数到K出列。(2 <= N <= 10^18, 2 <= K <= 1000) Output 最后剩下的人的编号 Input示例 3 2 Outpu

wang_sj的博客 852

51nod 1074 约瑟夫环 V2(约瑟夫环、模板)

1074 约瑟夫环 V2 题目 N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 输入 2个数N和K,表示N个人,数到K出列。(2 <= N <= 10^18, 2 <= K <= 1000) 输出 最后剩下的人的编号 输入样例 3 2 输出样例 3 /* * F(1)=0 * F(2)=F(1)+k * F(i)=F(i-1)+

百般回首曾经的相遇,留下的只是一缕残忆 283

[51nod1074]约瑟夫环V2

N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 Input: 2个数N和K,表示N个人,数到K出列。\((2 <= N <= 10^{18}, 2 <= K <= 1000)\) Output: 最后剩下的人的编号 my s...

weixin_30364325的博客 126

约瑟夫环问题 51nod

51nod 1073 使用数学知识,F(n,m)=(F(n-1,m)+m)%n; #include&lt;iostream&gt; #include&lt;cstdio&gt; using namespace std; int main() { int n,k; while(scanf("%d%d",&amp;n,&amp;k)==2) { int p...

老铁,干了这碗algorithms的博客 206

51nod 1073 约瑟夫环

51nod 1073 约瑟夫环N个人(编号0~(N-1)),从0开始报数,报到(M-1)的删去,剩下的人继续从0开始报数。求最后人的编号。 这类问题其公式为: F[1] = 0; F[2] = (F[1]+M)%2; … F[i] = (F[i-1]+M)%i;#include <iostream> #include <cstdio> #include <cstring> #include

学无纸巾 453

51Nod 入门计划 10/10

前言 在bzoj的非权限题里面,题目又短有简单的题已经越来越少了。。于是来51Nod里面找点水题做 入门计划 1674 区间的价值 V2 这题的话,很明显地,是让我们把位分开考虑 然后我们考虑两个为i,ji,j,也就是2i2^i和2j2^j,有多少个序列使得他们相乘。 假设ii是与里面的,jj是或里面的,那么你就枚举左端点a,然后合法的右端点b,肯定是满足aa~bb里面每一个数在第

OZY的博客 407

51Nod 1073 约瑟夫环

题目链接 #include #include #include #include #include #include using namespace std; int main(){ int n,k; cin>>n>>k; int out=0; for(int i=2;i<=n;i++){ out=(out+k)%i; } cout<<++out; return 0; }

JUST CODE IT 362
上一篇: 51nod 1829 函数 第二类Stirling数 容斥
下一篇: bzoj1458 士兵占领 最大流
olahiuj
博客等级 码龄12年 97粉丝 1182原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值