据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所 ...
分类:
其他好文 时间:
2017-08-21 00:10:54
阅读次数:
231
最近又看到了当时困惑自己很久的约瑟夫,本质上来说有点类似于dp,推导出f(n)与f(n-1)的转移关系递推求解。 下面是最经典的约瑟夫问题,什么?链表模拟? 不存在的>_< https://vjudge.net/problem/51Nod-1073 首先,将n个人编号为: 0,1,2,3...... ...
分类:
其他好文 时间:
2017-08-09 23:59:52
阅读次数:
398
训练一下尾插法和循环链表的使用。 运行效果: 以前不会尾插法的时候,我的循环链表是这样的: 这是我用以前的方法实现的,但有很多问题因为这样的方法会找不到头结点的,因而只有一部分可以成功实现效果: (一) (二) ...
分类:
其他好文 时间:
2017-08-06 15:00:40
阅读次数:
143
小孩报数问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15228 Accepted: 6778 Description 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下 ...
分类:
其他好文 时间:
2017-08-02 22:12:22
阅读次数:
141
直接套公式+ 假设除去第k个人。 0, 1, 2, 3, ..., k-2, k-1, k, ..., n-1 //original sequence (1) 0, 1, 2, 3, ..., k-2, , k, ..., n-1 //get rid of kth person (2) k, k+1 ...
分类:
其他好文 时间:
2017-08-02 10:21:38
阅读次数:
116
(首先,请你收藏本页面) 联系教师:fzd19zx@qq.com 培训地点:十九中,一号楼,6层,第二机房 培训守则: 1、学员每次培训,均需携带如下物品:鞋套(禁止使用一次性鞋套)、水笔、荧光记号笔、《奥赛一本通》(第四版)。 2、定位就座,严肃学习纪律,严禁携带零食及饮料进入机房。 3、认真做好... ...
分类:
其他好文 时间:
2017-06-15 21:52:48
阅读次数:
140
codves1282 约瑟夫问题 STL LIST 链表 暴力模拟 但是会 T list 听说正解是线段树分析一下,我们有以下两种操作: 1. 找到剩余队列中第K个人在数组中的位置2. 删除第K个人假如我们一开始给每个人一个权值1,然后维护一个前缀和s(n)那么,操作1就变成了找到前缀和为i的位置。 ...
分类:
其他好文 时间:
2017-06-06 16:31:12
阅读次数:
215
//.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
约瑟夫问题是个有名的问题:N个人围成一圈。从第一个開始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。比如N=6,M=5。被杀掉的人的序号为5,4,6。2。3。最后剩下1号。 假定在圈子里前K个为好人,后K个为坏人。你的任务是确定这种最少M,使得全部的坏人在第一个好人之前被杀掉。 // 数学中 ...
分类:
编程语言 时间:
2017-05-13 20:01:44
阅读次数:
236