(首先,请你收藏本页面) 联系教师:fzd19zx@qq.com 培训地点:十九中,一号楼,6层,第二机房 培训守则: 1、学员每次培训,均需携带如下物品:鞋套(禁止使用一次性鞋套)、水笔、荧光记号笔、《奥赛一本通》(第四版)。 2、定位就座,严肃学习纪律,严禁携带零食及饮料进入机房。 3、认真做好... ...
分类:
其他好文 时间:
2017-06-15 21:52:48
阅读次数:
140
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 下面我们用循环列表模拟这个过程: ...
分类:
其他好文 时间:
2017-06-12 00:42:06
阅读次数:
296
解说 http://poj.org/problem?id=3517 n个人,编号为1~n。每次从1開始数,数到m的人出圈。最后一个出圈的人的编号。 f[1] = 0; for(int i = 2; i <= n; i++) { f[i] = ( f[i-1] + m)%i; } printf("%d ...
分类:
其他好文 时间:
2017-06-08 16:37:26
阅读次数:
135
codves1282 约瑟夫问题 STL LIST 链表 暴力模拟 但是会 T list 听说正解是线段树分析一下,我们有以下两种操作: 1. 找到剩余队列中第K个人在数组中的位置2. 删除第K个人假如我们一开始给每个人一个权值1,然后维护一个前缀和s(n)那么,操作1就变成了找到前缀和为i的位置。 ...
分类:
其他好文 时间:
2017-06-06 16:31:12
阅读次数:
215
题意:约瑟夫环的变形。要求寻找到一个杀人循环节m使后半节的坏人先被所有杀光。 直接链表模拟出结果,再打表即可; 代码:(凝视的是打表码) #include<iostream> #include<cstdio> #include<cmath> #include<map> #include<queue> ...
分类:
其他好文 时间:
2017-06-02 12:39:31
阅读次数:
159
约瑟夫环问题:50个人围成一圈,数到3和3的倍数时出圈,问剩下的人是谁?在原来的位置是多少? 思路例如以下: 1)首先,把数据填充到数组或链表中。 2)用一个while循环进行出圈。直到仅仅剩下一个元素留下。 代码例如以下: package cn.wuhan.unit7; import java.u ...
分类:
其他好文 时间:
2017-06-01 16:51:45
阅读次数:
157
Description 佳佳和幼儿园里的小朋友经常一起玩一个游戏:N个小朋友坐成一圈,从第一个小朋友开始报数,从1开始依次报,每个报到M的小朋友要起来表演节目,然后那个小朋友从圈里出去,接下来的小朋友继续从1开始。直到只剩下最后一个小朋友。佳佳一点也不喜欢自己表演,所以他想知道的是,他坐在哪个位置, ...
分类:
其他好文 时间:
2017-05-31 18:56:24
阅读次数:
171
约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。 稍微简化一下。 问 ...
分类:
其他好文 时间:
2017-05-31 16:39:43
阅读次数:
166
解题关键:此题不需要模拟,可以用数学方法解决。 无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。 为了讨论方便,先把问题稍微改变一下,并不影响原意: 问 ...
分类:
其他好文 时间:
2017-05-28 00:28:00
阅读次数:
227
//.h #pragma once#include <iostream>using namespace std;#define MAXSIZE 100 template <class T>class SeqList{T data[MAXSIZE];int length;public:SeqList( ...
分类:
编程语言 时间:
2017-05-17 20:55:21
阅读次数:
191