<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NaturalNumber的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/NaturalNumber</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; NaturalNumber]]></copyright><item><title><![CDATA[中石油oj周赛：覆盖]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/128689538</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/128689538</guid><author>NaturalNumber</author><pubDate>Sat, 14 Jan 2023 21:30:54 +0800</pubDate><description><![CDATA[中石油oj周赛：覆盖，前置知识：差分、二维差分]]></description><category></category></item><item><title><![CDATA[中石油oj周赛：偶数字符串]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/128689416</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/128689416</guid><author>NaturalNumber</author><pubDate>Sat, 14 Jan 2023 21:23:35 +0800</pubDate><description><![CDATA[中石油oj周赛：偶数字符串]]></description><category></category></item><item><title><![CDATA[中石油oj周赛：二叉树的深度与宽度]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/128538784</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/128538784</guid><author>NaturalNumber</author><pubDate>Tue, 03 Jan 2023 20:37:49 +0800</pubDate><description><![CDATA[中石油oj周赛题目，涉及知识点：图论、BFS]]></description><category></category></item><item><title><![CDATA[中石油oj周赛：选取]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/128538437</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/128538437</guid><author>NaturalNumber</author><pubDate>Tue, 03 Jan 2023 20:10:31 +0800</pubDate><description><![CDATA[中石油oj周赛算法题，涉及算法知识为：二进制、lowbit、试除法判断质数、深搜]]></description><category></category></item><item><title><![CDATA[中石油OJ: 美人松高度2]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/128538334</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/128538334</guid><author>NaturalNumber</author><pubDate>Tue, 03 Jan 2023 19:59:02 +0800</pubDate><description><![CDATA[中石油oj算法题]]></description><category></category></item><item><title><![CDATA[数据结构：C++链表及其变种、链表反转]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/116940078</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/116940078</guid><author>NaturalNumber</author><pubDate>Mon, 17 May 2021 17:21:07 +0800</pubDate><description><![CDATA[目录双向链表单向链表循环链表（单向/双向）静态链表
学习数据结构时的练习，后期会继续补充，原理见注释
在刷题时应注意效率和空间限制，若类中所含有的成员函数过多会导致在创建list/node时所需的空间越多，若针对node，在delete时会使得执行时间大大增加。

双向链表
#include &lt;iostream&gt;
using namespace std;

class Node {
public:
	Node() { }  //针对head和trailer的构造函数
	Node(int n, N]]></description><category></category></item><item><title><![CDATA[超详细注释版：归并排序原理、改进思路及其实现方法（C++实现）]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/115912185</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/115912185</guid><author>NaturalNumber</author><pubDate>Tue, 20 Apr 2021 16:30:44 +0800</pubDate><description><![CDATA[策略：分而治之
索引二路归并算法原理MergeSort框架设计整合代码复杂度分析反思
二路归并算法原理
将已有序的子序列合并，得到完全有序的序列；即先使每个子序列有序，再使子序列段间有序。若将两个有序表合并成一个有序表，称为二路归并。

MergeSort框架设计
按照以上流程可以先将列出解题框架，显然用递归是可以实现的。列框架可大致分为3步：

分：将一个数组分为若干个子数组
治：将分解好的子数组两两排序（这里可以将看做：大数组=左数组+右数组），排序算法要考虑一般情况。（sort）
合：将排好序的代码合]]></description><category></category></item><item><title><![CDATA[学堂在线《面向对象程序设计》编程题：按调试级别输出调试信息]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/114239809</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/114239809</guid><author>NaturalNumber</author><pubDate>Sun, 28 Feb 2021 22:01:00 +0800</pubDate><description><![CDATA[题目要求：
在程序中输出一些信息，是一种很有效的调试方法。请设计实现一个名为Log的类，能方便输出调试信息，要求满足如下附件所写的要求：


关键点：
利用重载流运算符、重写属于本类的endl运算符
解题思路：
依题目要求已知类Log有成员函数set_level、全局函数level和运算符重载函数。等级比较可以转化成int型数据，故这里的level建议使用int类型。
先判断有无调用全局函数set_level(“message”)


没有调用，则调用重载流运算符函数operator&lt;&lt;() 输]]></description><category></category></item><item><title><![CDATA[下楼问题（来源：学堂在线 程序设计基础）]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/113189033</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/113189033</guid><author>NaturalNumber</author><pubDate>Tue, 26 Jan 2021 19:40:11 +0800</pubDate><description><![CDATA[递归经典

题目描述
从楼上走到楼下共有h个台阶，每一步有3种走法：走一个台阶；走两个台阶；走三个台阶。规定只能往下走，不能往上走。
调皮的小明在n个台阶上撒了水，为了防止滑倒，不能踏上这n个台阶，问从楼上到楼下可走出多少种方案？
输入描述
第一行两个数字h, n，分别表示总台阶数和不能走的台阶数 (1 &lt;= n &lt; h &lt;= 15)
接下来n行，每行一个整数a_i，表示第a_i级台阶被撒了水不能走
输出描述
一个整数，表示从楼上到楼下的方案数。
样例输入

5 1
3

样例输出

]]></description><category></category></item><item><title><![CDATA[复数运算，实现加减乘除和幂运算（C++语法向）]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/113175825</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/113175825</guid><author>NaturalNumber</author><pubDate>Tue, 26 Jan 2021 11:04:25 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;cmath&gt;
#include &lt;Windows.h&gt;
using namespace std;

//复数相关计算器

class Complex {
private:
	double real;    //实部
	double imag;    //虚部
public:
	friend ostream&amp; operator&lt;&lt;(ostream&amp; cout, Complex&amp; ]]></description><category></category></item><item><title><![CDATA[猴子跳台阶问题的三种解法（C++实现）]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/113139718</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/113139718</guid><author>NaturalNumber</author><pubDate>Mon, 25 Jan 2021 22:32:22 +0800</pubDate><description><![CDATA[递推问题

本人在学习递推时由于一个偶然的错误半天才解决此问题，除递推外也通过对本题的深入思考时发现了递推问题的一些特点，与此同时也深感自己代码能力的不足，写此文章希望帮助对此有需要的人。
Tip：问题来自学堂在线程序设计基础


问题描述
一个顽猴在一座有N级台阶的小山上爬山跳跃，猴子上山一步可跳x级或跳y级，试求猴子上山到N级台阶有多少种不同的爬法？猴子从山脚开始跳，可认为是第0阶。
输出描述
三个正整数N,X,Y，用空格隔开。 （x &lt;= y &lt;= N &lt;= 100）
输出描述
猴子]]></description><category></category></item><item><title><![CDATA[分书问题（暴搜）]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/113079731</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/113079731</guid><author>NaturalNumber</author><pubDate>Sun, 24 Jan 2021 13:12:49 +0800</pubDate><description><![CDATA[分书问题（递归，C++实现）
问题描述
现在有N本书，准备分给N个人。每个人的阅读兴趣，用一个二维数组like[i][j]加以描述。
若 like[i][j] = 1 ，则表示第i个人喜欢第j本书；反之，若 like[i][j] = 0 ，则表示第i个人不喜欢第j本书。
现在已知like数组，请写一个程序，输出所有的分书方案，让人人皆大欢喜。

输入描述
第一行有一个整数N。(N &lt;= 20)
之后有N行，每i行有N个数a_ij，取值为0或1，表示like数组，即第i个人是否喜欢第j本书。0表示不喜欢]]></description><category></category></item><item><title><![CDATA[打印n阶实心菱形（C++实现）]]></title><link>https://blog.youkuaiyun.com/NaturalNumber/article/details/111873121</link><guid>https://blog.youkuaiyun.com/NaturalNumber/article/details/111873121</guid><author>NaturalNumber</author><pubDate>Mon, 28 Dec 2020 19:23:50 +0800</pubDate><description><![CDATA[打印n阶实心菱形（C++实现）
题目描述
打印 n 阶实心菱形
输出描述
输入一个整数n，0 &lt; n &lt;= 10
样例输入
3

样例输出
  *
 ***
*****
 ***
  *


tag：新人第一次写博客，想通过用费曼学习法锻炼一下自己，如有不妥之处还请大佬指正.
方法1思路
暴力破解方法，时间复杂度o(n²)。一个菱形可以看做是平面上四条直线围成的图形，在中学我们学过简单的线性规划问题，在这里也可以使用。
需要区别是简单线性规划问题是针对连续的、可行域由多个形如y=kx+b形式的函]]></description><category></category></item></channel></rss>