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

海天一树

专栏作者
245
文章
278664
阅读量
59
订阅数
NOIP 2016普及组复赛C/C++详细题解报告
一年是365天,如果闰年是366天。月日构成的数字最多只有366个。 第一步:构造出所有的日期(后四位) 第二步:利用回文的规则,构造出相应的年份 第三步:判断这个年份和日期在不在区间内 例如:10月28日,日期写成1028,对应回文的年份是:8201年 判断82011028这一天在不在(指定的起始日期)到(指定的终止日期)之间 程序时间复杂度为O(366)。 注意,本题的闰年是个干扰项,因为闰年只有92200229是回文数,其他的闰年都不是回文数。也就是说,把每年的2月份都按闰年来算,对结果没有影响。
海天一树
2018-12-05
6660
小朋友学经典算法(13):两数交换
在学C语言的时候,学过两数交换:《小朋友学C语言(25):两数交换》 https://www.jianshu.com/p/64bc70f0abfe
海天一树
2018-10-08
4400
约瑟夫环的三种解法
约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓到了最后一签,并且,作为洞穴中的两个幸存者之一,他说服了他原先的牺牲品一起投降了罗马。 约瑟夫环问题的具体描述是:设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。
海天一树
2018-07-25
8.1K0
求排列数
分析:  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
3380
求组合数
分析:  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
5720
小朋友学C++(21):命名空间
这里的第一行,#include好理解,iostream是输入输出流,包含了输入流istream和输出流ostream。 第二行using namespace std; 这里的namespace是个关键字,表示它后面的std是一个命名空间。
海天一树
2018-07-25
8510
约瑟夫环的循环链表解法和数学公式解法
约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓到了最后一签,并且,作为洞穴中的两个幸存者之一,他说服了他原先的牺牲品一起投降了罗马。 约瑟夫环问题的具体描述是:设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。
海天一树
2018-07-25
2K0
小朋友学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
6510
小朋友学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
7990
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
4420
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档