[51nod1074] 约瑟夫问题 V2
毫无思路,Orz了一下大佬的思路%%%。
大概就是因为k比n小的多,我们知道约瑟夫环有个公式是fn=(fn-1+k) mod n
可以改一下,改成fn+p=(fn+pk) mod (n+p)
但是这样的话就不对了,因为有mod,模数是改变的。
pk肯定大于p。然后我们可以让这个模数等价,就是mod n和mod n+1....是一样的,就可以让fn+pk≤n+p
这样的话解一下不等式,p≤(n-lastans-k)/(k-1)
(会不会有锅啊。。。害怕
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
long long n,k,ans,tp;
int main (){
cin>>n>>k;
for(long long i=;i<=n;i+=tp+1ll) {
tp=(i-ans-k)/(k-1ll);
if(i+tp>=n) tp=n-i;
//if(!tp) break;
ans=(ans+k*(tp+1ll))%(i+tp);
}
cout<<++ans;
}
1074
[51nod1074] 约瑟夫问题 V2的更多相关文章
- 51nod 1074 约瑟夫环 V2
N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数.问最后剩下的人的编号. 例如:N = 3,K = 2.2号先出列,然后是1号,最后剩下的是3号. ...
- 如何搭建自己的SPRING INITIALIZR server
这两天在慕课学Spring boot ,用idea通过spring initializr新建项目 即使用代理连不上.无奈. 参考了 GitHub - spring-io/initializr: A w ...
- [51nod1074]约瑟夫环V2
N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数.问最后剩下的人的编号. 例如:N = 3,K = 2.2号先出列,然后是1号,最后剩下的是3号. ...
- Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结
Atitit. 破解 拦截 绕过 网站 手机 短信 验证码 方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码 用户操作 ,比如 ...
- [Android]Android端ORM框架——RapidORM(v2.1)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6020412.html [Android]Android端ORM ...
- [Android]Android端ORM框架——RapidORM(v2.0)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5626716.html [Android]Android端ORM ...
- JuCheap V2.0响应式后台管理系统模板正式发布beta版本
JuCheap V1.* 查看地址: http://blog.csdn.net/allenwdj/article/details/49155339 经过半年的努力,JuCheap后台通用响应式管理后台 ...
- Atitit. 项目文档目录大纲 总集合 v2
Atitit. 项目文档目录大纲 总集合 v2 -----Atitti.原有项目源码的架构,框架,配置与环境说明 v3 q511 -----Atitit.开发环境 与 工具 以及技术框架 以及 注意 ...
- 约瑟夫问题(java实现)
方法一.自定义的链表实现 package com.code.yuesefu; public class YueSeFuList { public static void main(String[] a ...
随机推荐
- [Javascript] IntersectionObserver -- Lazy Load Images on a Website
When it comes to websites performance is king. How long it takes for a page to load can mean the dif ...
- 一种加快在苹果app store中上架的方法
预计近期苹果app应用上架的比較多,审核比較慢,如今一个app从提交到上架短则7.8天.长则2.3个星期.我在实际上线应用时,总结了一个简单有用的小技巧,能够加快上架时间,近期使用这样的方法后.我们基 ...
- Think In java 笔记一
本博客不再更新,很多其它精彩内容请訪问我的独立博客 今天起要读这本书了,曾经都没有认真读过书.是时候改变自己了. 如今认为不是写不出代码,而是没有想法,没有架构,要做一个大神不是写多少代码.而是要能做 ...
- 百度2016研发project师笔试题(四)
百度2016研发project师笔试题(四) 2015/12/8 10:42(网上收集整理的,參考答案在后面.若有错误请大神指出) 1. 关于MapReduce的描写叙述错误的是() A. 一个Tas ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 SharePoint 2013 平台
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 SharePoint 2013 平台 SharePoin ...
- HDOJ1796 How many integers can you find(dfs+容斥)
How many integers can you find Time Limit: 12000/5000 MS (Java/Others) Memory Limit: 65536/32768 ...
- web 单一平台登录逻辑
单点登录逻辑token=cookie('login_token');serverToken=get(token);if(serverToken!='注销'){ set('userid_已登录token ...
- 21. Merge Two Sorted Lists[E]合并两个有序链表
题目 Merge two sorted linked lists and return it as a new list. The new list should be made by splicin ...
- POJ 3613 floyd+矩阵快速幂
题意: 求s到e恰好经过n边的最短路 思路: 这题已经被我放了好长时间了. 原来是不会矩阵乘法,快速幂什么的也一知半解 现在终于稍微明白了点了 其实就是把矩阵乘法稍微改改 改成能够满足结合律的矩阵&q ...
- vim产生的.swap文件
转载自 http://ibeyond.blog.51cto.com/1988404/800138 有时候在用vim打开文件时提示类似以下的信息: E325: 注意发现交换文件 ".expor ...