<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CoderZhuuu]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/CoderMaximum</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; CoderMaximum]]></copyright><item><title><![CDATA[C++实现智能指针部分功能(UniquePtr, SmartPtr, WeakPtr), head only（更新中）]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/116609756</link><guid>https://blog.csdn.net/CoderMaximum/article/details/116609756</guid><author>CoderMaximum</author><pubDate>Mon, 10 May 2021 20:48:50 +0800</pubDate><description><![CDATA[先放代码


#pragma once

#include &lt;memory&gt; /* For std::move, std::forward, std::unique_ptr */
#include &lt;utility&gt; /* For std::exchange */
#include &lt;type_traits&gt; /* For template check */
#include &lt;atomic&gt; /* For std::atomic */

/* Deleter]]></description><category></category></item><item><title><![CDATA[模板小练习]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/115251155</link><guid>https://blog.csdn.net/CoderMaximum/article/details/115251155</guid><author>CoderMaximum</author><pubDate>Fri, 26 Mar 2021 17:18:30 +0800</pubDate><description><![CDATA[使用模板创建和删除单向链表
struct ListNode {
	int val;
	ListNode* next;
	ListNode(const int&amp; _val = int(), ListNode* _next = nullptr)
		: val(_val), next(_next) {}
};

template&lt;typename ...Args&gt;
ListNode* CreateList(const int&amp; val, Args&amp;&amp;... args)]]></description><category></category></item><item><title><![CDATA[Cordova出现“Uncaught Error: module require not found“如何解决]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/110940448</link><guid>https://blog.csdn.net/CoderMaximum/article/details/110940448</guid><author>CoderMaximum</author><pubDate>Wed, 09 Dec 2020 20:47:14 +0800</pubDate><description><![CDATA[将 require() 改成 cordova.require() 即可
]]></description><category></category></item><item><title><![CDATA[Android ListView使CheckBox失效（变混乱）的解决办法]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/109440993</link><guid>https://blog.csdn.net/CoderMaximum/article/details/109440993</guid><author>CoderMaximum</author><pubDate>Sun, 01 Nov 2020 23:57:21 +0800</pubDate><description><![CDATA[@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    final ViewHolder viewHolder;
    if (null == convertView) {
        // init your view holder
        convertView.setTag(viewHolder);
    } else {
        viewHolde.]]></description><category></category></item><item><title><![CDATA[Android 显示弹窗 PopWindow]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/109392846</link><guid>https://blog.csdn.net/CoderMaximum/article/details/109392846</guid><author>CoderMaximum</author><pubDate>Fri, 30 Oct 2020 20:52:20 +0800</pubDate><description><![CDATA[final PopupWindow popupWindow = new PopupWindow(弹窗的 View, 弹窗的宽度, 弹窗的高度);
popupWindow.setOutsideTouchable(true);    // 设置在弹窗外点击时弹窗消失
final Button button = findViewById(button 的 id);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    p.]]></description><category></category></item><item><title><![CDATA[c++ 实现递归/非递归二叉树遍历]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105708344</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105708344</guid><author>CoderMaximum</author><pubDate>Thu, 23 Apr 2020 15:22:47 +0800</pubDate><description><![CDATA[TreeNode数据结构


struct TreeNode {
	int val;
	TreeNode * left;
	TreeNode * right;
	TreeNode(const int &amp; _val = int(), TreeNode * _left = nullptr, TreeNode * _right = nullptr)
		: val(_val), left(_le...]]></description><category></category></item><item><title><![CDATA[洛谷 P1678 烦恼的高考志愿]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105642047</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105642047</guid><author>CoderMaximum</author><pubDate>Mon, 20 Apr 2020 18:57:14 +0800</pubDate><description><![CDATA[P1678 烦恼的高考志愿



二分法(200+ms)


#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
#define MAXN 100010
#define RE register
using namespace std;
int a[MAXN];
int b[MAXN];
inline int read() {
	int x = 0;...]]></description><category></category></item><item><title><![CDATA[洛谷 P1873 砍树]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105639068</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105639068</guid><author>CoderMaximum</author><pubDate>Mon, 20 Apr 2020 16:56:32 +0800</pubDate><description><![CDATA[P1873 砍树



二分答案（300+ms）


#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
#define MAXN 1000100
#define LL long long
#define RE register
using namespace std;
LL a[MAXN];
inline LL read() {
	LL x = ...]]></description><category></category></item><item><title><![CDATA[洛谷 P1102 A-B 数对]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105631642</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105631642</guid><author>CoderMaximum</author><pubDate>Mon, 20 Apr 2020 11:50:46 +0800</pubDate><description><![CDATA[P1102 A-B 数对



二分查找解法(100+ms)


#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
#define MAXN 200020
using namespace std;
int a[MAXN];
inline int read() {
	int x = 0, sign = 0;
	char c = getchar();...]]></description><category></category></item><item><title><![CDATA[洛谷 P2249 【深基13.例1】查找]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105630274</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105630274</guid><author>CoderMaximum</author><pubDate>Mon, 20 Apr 2020 11:14:25 +0800</pubDate><description><![CDATA[P2249 【深基13.例1】查找



常规版本(400+ms)


#include &lt;iostream&gt;
#define MAXN 1000010
using namespace std;
int a[MAXN];
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n, m;
	cin &gt;&gt; n ...]]></description><category></category></item><item><title><![CDATA[c++ AVL树 插入 删除]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105521819</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105521819</guid><author>CoderMaximum</author><pubDate>Tue, 14 Apr 2020 21:41:59 +0800</pubDate><description><![CDATA[AVL树的插入很简单，根据BST树的特性插入之后在回溯的过程中调整即可

AVL树的删除也不是很难，一共有三种情况

第一种是左子树为空（右子树为不为空无所谓）

第二种是右子树为空（此时左子树不为空）

这两种直接用另一半子树覆盖当前节点然后删除再回溯调整树即可

第三种是左右子数都不为空

这个情况首先找到要删除的节点，然后找到比该节点大的节点中最小的一个节点（右子树中最左边的节点），或者比该...]]></description><category></category></item><item><title><![CDATA[c++ 随机生成数独（不保证唯一解）]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105396349</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105396349</guid><author>CoderMaximum</author><pubDate>Wed, 08 Apr 2020 20:44:04 +0800</pubDate><description><![CDATA[给出一个最简单的生成数独初盘的程序，不保证有唯一解，终盘的正确性通过填充的过程来确定，可以用舞蹈链算法求解该数独得到其中一个解

随机生成的方法就算交换行和列然后随机挖洞

这里有一点要注意的就是交换的行和列必须处于同一宫中，要不然交换之后保证不了正确性

然后就是随机挖洞，可以直接随机一个坐标，或者用洗牌算法（类似于扫雷初盘的生成）


vector&lt;vector&lt;int&gt; &...]]></description><category></category></item><item><title><![CDATA[c++ 舞蹈链算法求解数独问题 控制台版本 带注释]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105378980</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105378980</guid><author>CoderMaximum</author><pubDate>Wed, 08 Apr 2020 09:15:30 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;unordered_map&gt;
#define DELPOINTER(p) if(nullptr!=(p)){delete[] (p),(p)=nullptr;}
#define DO(sth) for (DLXN...]]></description><category></category></item><item><title><![CDATA[QT实现可编辑的QLabel(QEditLabel)]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105365066</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105365066</guid><author>CoderMaximum</author><pubDate>Tue, 07 Apr 2020 15:10:25 +0800</pubDate><description><![CDATA[可编辑的QLabel主要是用于某些填字游戏，例如数独，具体的实现是通过在QStackedWidget切换QLabel和QLineEdit来实现的，代码也非常的简单，具体怎么用还需要自己添加新的内容

QEditLabel.h


#pragma once
#include &lt;QStackedWidget&gt;
#include &lt;QLabel&gt;
#include &lt;QLi...]]></description><category></category></item><item><title><![CDATA[c++ spfa 链式前向星版本加上SLF优化版本的实现]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105299343</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105299343</guid><author>CoderMaximum</author><pubDate>Fri, 03 Apr 2020 19:07:55 +0800</pubDate><description><![CDATA[普通版本


#include &lt;iostream&gt;
#include &lt;queue&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;
#include &lt;cstdio&gt;
#include &lt;limits.h&gt;
const int INF = 0x3f3f3f3f;
const int MAXN...]]></description><category></category></item><item><title><![CDATA[c++ Bullman-Ford算法前向星版本实现]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105299336</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105299336</guid><author>CoderMaximum</author><pubDate>Fri, 03 Apr 2020 19:06:25 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;queue&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;
#include &lt;cstdio&gt;
#include &lt;limits.h&gt;
using namespace std;
const int INF = 0x3f3f3f3f;...]]></description><category></category></item><item><title><![CDATA[c++ Dijsktra算法邻接表版本和链式前向星版本的实现（堆优化版本）]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105299067</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105299067</guid><author>CoderMaximum</author><pubDate>Fri, 03 Apr 2020 18:45:57 +0800</pubDate><description><![CDATA[邻接表版本


#include &lt;iostream&gt;
#include &lt;queue&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;
#include &lt;cstdio&gt;
#include &lt;limits.h&gt;
const int INF = 0x3f3f3f3f;
const int MAX...]]></description><category></category></item><item><title><![CDATA[c++ 二维凸包 Graham 扫描线算法模板]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105217988</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105217988</guid><author>CoderMaximum</author><pubDate>Tue, 31 Mar 2020 11:09:16 +0800</pubDate><description><![CDATA[该算法是在gift-warping算法的基础上通过排序来预处理数据然后降低时间复杂度的


#include &lt;iostream&gt;
#include &lt;memory&gt;
#include &lt;cstdlib&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
#include &lt;string&gt;
#inclu...]]></description><category></category></item><item><title><![CDATA[c++ Java 二维凸包 Andrew 算法模板]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/105213487</link><guid>https://blog.csdn.net/CoderMaximum/article/details/105213487</guid><author>CoderMaximum</author><pubDate>Tue, 31 Mar 2020 01:19:34 +0800</pubDate><description><![CDATA[模板题链接 P2742 [USACO5.1]圈奶牛Fencing the Cows /【模板】二维凸包

先排序（先按 y 再按 x ），然后计算凸包，一共两次扫描，第一次计算下凸包，第二次计算上凸包(计算上凸包的时候可以不用判断top，如果要判断可以加一个top大于下凸包的元素个数)

附上c++模板


#include &lt;iostream&gt;
#include &lt;memory...]]></description><category></category></item><item><title><![CDATA[c++ 实现变进制数]]></title><link>https://blog.csdn.net/CoderMaximum/article/details/104714989</link><guid>https://blog.csdn.net/CoderMaximum/article/details/104714989</guid><author>CoderMaximum</author><pubDate>Sat, 07 Mar 2020 15:01:40 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;memory&gt;
#include &lt;cstdlib&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
#include &lt;string&gt;
#include &lt;algorithm&gt;
using namespace std;
#de...]]></description><category></category></item></channel></rss>