首页
学习
活动
专区
工具
TVP
发布

海天一树

专栏成员
245
文章
294058
阅读量
59
订阅数
约瑟夫环的三种解法
约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓到了最后一签,并且,作为洞穴中的两个幸存者之一,他说服了他原先的牺牲品一起投降了罗马。 约瑟夫环问题的具体描述是:设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。
海天一树
2018-07-25
8.6K0
求排列数
分析:  P(10, 3) = P(10, 2) * 8 = P(10, 1) * 9 * 8 = P(10, 0) * 10 * 9 * 8 = 1 * 10 * 9 * 8 = 720
海天一树
2018-07-25
3480
求组合数
分析:  C(10, 3) = C(10, 2) * 8 / 3 = C(10, 1) * 9 * 8 / (3 * 2) = C(10, 0) * 10 * 9 * 8 / (3 * 2 * 1) = 1 * 10 * 9 * 8 / (3 * 2 * 1) = 120
海天一树
2018-07-25
5890
爬取百度百科5A景点摘要并实现分词
这里baike_spider.py用来爬取景点摘要,内容放在senic_spots目录中; cut_word.py用来分词,分词结果放在cut_word_result中; scenic_spots_5A.txt中列出了所要爬取的景点的名称,具体内容如下:
海天一树
2018-07-25
4700
小朋友学C++(21):命名空间
这里的第一行,#include好理解,iostream是输入输出流,包含了输入流istream和输出流ostream。 第二行using namespace std; 这里的namespace是个关键字,表示它后面的std是一个命名空间。
海天一树
2018-07-25
8900
Codeforces 967 C 题解报告
http://codeforces.com/contest/967/problem/C
海天一树
2018-07-25
2690
Codeforces 976E 题解报告
http://codeforces.com/contest/976/problem/E
海天一树
2018-07-25
3100
Codeforces 977D 题解报告
http://codeforces.com/contest/977/problem/D
海天一树
2018-07-25
2490
约瑟夫环的循环链表解法和数学公式解法
约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓到了最后一签,并且,作为洞穴中的两个幸存者之一,他说服了他原先的牺牲品一起投降了罗马。 约瑟夫环问题的具体描述是:设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。
海天一树
2018-07-25
2.2K0
小朋友学C语言(32):求圆周率
(一)圆周率简介 圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。 圆周率是一个无理数,即无限不循环小数。在日常生活中,通常都用3.14代表圆周率去进行近似计算。而用十位小数3.141592654便足以应付一般计算。即使是工程师或物理学家要进行较精密的计算,充其量也只需取值至小数点后几百个位。 (二)计算公式 1965年,英国数学家约翰·沃利斯(John Wallis)
海天一树
2018-04-17
1.8K0
小朋友学C++(16):C++创建对象的3种方式
先看程序: #include <iostream> using namespace std; class A { private: int n; public: A(int m) { n = m; cout << "Constructor method is invoked!" << endl; } void printNum() { cout << "n = " << n << endl; } }
海天一树
2018-04-17
6600
小朋友学C语言(25):两数交换
(一) #include <stdio.h> int main() { int a = 10; int b = 5; printf("Before swap: a = %d, b = %d\n", a, b); int temp = a; a = b; b = temp; printf("After swap: a = %d, b = %d\n", a, b); return 0; } 运行结果: Before swap: a = 10, b
海天一树
2018-04-17
8760
小朋友学C语言(24):位运算符
位运算符有三个:“与(&)”、“或(|)”、“异或(^)”。 在了解位运算符之前,请先复习逻辑运算符: 小朋友学C语言(12):逻辑运算符 位运算,就是对应的bit参与运算,结果是整型数。 逻辑运算,
海天一树
2018-04-17
9500
小朋友学C语言(9):a++与++a
一)a++ 在C语言或其它语言中,++符号表示“自加”,就是变量在原来的基础上加1。 例1: a = 0; a++; 则此时a的值为1。 同样的道理,--表示”自减”。 例2: a = 100; a--; 则此时a的值为99。 注意,程序语言里没有”自乘”和”自除”的概念。 验证程序: #include <stdio.h> int main() { int a = 0; // 给a赋值 a++; printf("After ++, a = %d\n", a); a = 10
海天一树
2018-04-17
8690
小朋友学Python(3):布尔类型
本节讲解C/C++/Java/Python中的布尔类型。 一、C语言 C语言中没有布尔类型,判断时 ,0为假,非0为真。 二、C++ C++的bool是布尔类型,取值为true或false 程序: #include <iostream> using namespace std; int main() { bool a = true; bool b = false; cout << "a = " << a << endl; cout << "b = " << b << end
海天一树
2018-04-17
8220
Codeforces Round 473-2B题解报告
题目 http://codeforces.com/contest/959/problem/B 分析 思路: 每一个单词对应着在原句子中的索引号,每个索引号对应着组号,每个组号对应着cost值。 用第一个例子来分析: groupindexcost1110023132min(1, 10) = 135min(1, 10) = 1445 所求句子为”i am the second” “i”在原句子中的索引号为1,对应第一组,cost为100 “am”在原句子中的索引号为3,对应第二组,cost为1 “the”在原句
海天一树
2018-04-17
4510
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档