<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[你真的介意真的在乎真的想要真的渴望的话你一定能够做到]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chen_ze_hua</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chen_ze_hua]]></copyright><item><title><![CDATA[AtCoder Beginner Contest 042题解]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/124380287</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/124380287</guid><author>chen_ze_hua</author><pubDate>Sun, 24 Apr 2022 13:47:16 +0800</pubDate><description><![CDATA[A - Iroha and Haiku (ABC Edition)
简单模拟即可，判断是否存在两个5一个1。
#include &lt;bits/stdc++.h&gt;
using namespace std;
 
int main(){
    int A, B, C; cin &gt;&gt; A &gt;&gt; B &gt;&gt; C;
    int five = 0;
    int seven = 0;
    if(A == 5) five++;
    else if(A == 7) ]]></description><category></category></item><item><title><![CDATA[Codeforces Round #603 (Div. 2), problem: (E) Editor]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/103334059</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/103334059</guid><author>chen_ze_hua</author><pubDate>Sun, 01 Dec 2019 13:20:28 +0800</pubDate><description><![CDATA[题目大意

给你一连串的操作，L， R分别代表移动光标操作，其他字符表示在当前光标位置插入一个字符。如果该位置有字符，那么进行替换。让你判断当前输出的序列是否合法，如果合法，那么括号的最大嵌套深度是多少？

思路
首先这个序列的长度不会超过10610^6106的长度，对于(我们可以看成在该位置加1，对于)我们可以看成在该位置减一，然后我们对该序列求前缀和，因为需要保证输出的括号序列合法，那么需要判...]]></description><category></category></item><item><title><![CDATA[点分治入门]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/102703665</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/102703665</guid><author>chen_ze_hua</author><pubDate>Wed, 23 Oct 2019 16:37:19 +0800</pubDate><description><![CDATA[重心分解(Centroid Decomposition)
首先要找到树的中心，树的重心的定义是：删除该中心结点得到的最大子树的顶点数最少的顶点就是树的重心。运用dfs的方法很容易实现，代码为：
void get_hvy(int u, int fa){
    siz[u] = 1, maxx[u] = 0;
    for(int i = head[u]; i != -1; i = e[i].ne...]]></description><category></category></item><item><title><![CDATA[划分树板子]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/90600729</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/90600729</guid><author>chen_ze_hua</author><pubDate>Mon, 27 May 2019 11:41:51 +0800</pubDate><description><![CDATA[划分树
划分树通过模拟快速排序的过程，每次将数据分为2部分，小的部分和大的部分，并且相同的数在序列中的位置在划分之后相对位置依然不变，通过维护num数组计算当前位置和之前的数有多少个数被分入左子树。具体教程详见博客：划分树
划分树模板
求区间第k小，同样求区间第k大可以转化为求区间[l, r]的第(r-l+1-k+1)小。
#include &lt;cstdio&gt;
#include &lt;...]]></description><category></category></item><item><title><![CDATA[matplotlib画图通过tensorboardX显示(pytorch)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/88782188</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/88782188</guid><author>chen_ze_hua</author><pubDate>Sun, 24 Mar 2019 21:08:38 +0800</pubDate><description><![CDATA[问题描述
由于远程服务器上无法显示实时生成的图片，通常比较笨的方法是通过保存下来改图片，然后下载到本地，这个方法费时又费力。因此，这里我决定介绍一种通过tosorboardX的方法来显示图像。
具体步骤

如果是在docker上首先需要对tensorboard的6006端口进行映射。
对应示例代码

import torch
from torch.autograd import Variable
...]]></description><category></category></item><item><title><![CDATA[在本地访问远程服务器的tensorboard以及程序展示]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/88188744</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/88188744</guid><author>chen_ze_hua</author><pubDate>Tue, 05 Mar 2019 16:41:32 +0800</pubDate><description><![CDATA[如何访问远程服务器上的tensorboard

1.如果你和远程服务器在同一个局域网内，那么直接在浏览器地址栏输入：remote&amp;nbsp;server&amp;nbsp;address:6006remote\ server\ address:6006remote&amp;nbsp;server&amp;nbsp;address:6006,例如：192.168.1.200:6006192.168.1.200:600619...]]></description><category></category></item><item><title><![CDATA[backpropagation算法代码实现]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/83052567</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/83052567</guid><author>chen_ze_hua</author><pubDate>Sun, 14 Oct 2018 23:44:58 +0800</pubDate><description><![CDATA[前言
研究生生涯正式开始了，看了吴恩达的AI课程，然后通过廖雪峰学习了一些python的基础知识，然后看了一些关于BP博文，然后手推了一遍方向传播算法，还要完成一些导师布置过来的任务，收货还是听过的，然后推荐给Ml入门者一些好的福利。

福利链接

廖雪峰python3网站学习地址：链接地址
吴恩达AI课程：链接地址
我见过最好的BP算法的证明：链接地址

正文
今天主要跑了一下bp算法的代码，也...]]></description><category></category></item><item><title><![CDATA[二叉树各种递归非递归层次遍历]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/78014512</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/78014512</guid><author>chen_ze_hua</author><pubDate>Sun, 17 Sep 2017 23:07:17 +0800</pubDate><description><![CDATA[二叉树结构体typedef struct BitNode{
    char data;
    struct BitNode *lchild, *rchild;
    BitNode(){
        lchild = rchild = NULL;
    }
}BitNode, *BiTree;
  注意这里面的下方的BitNode代表（struct BitNode）,BiTree代表（s]]></description><category></category></item><item><title><![CDATA[UVA 11374 Airport Express(最短路+枚举)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/75269218</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/75269218</guid><author>chen_ze_hua</author><pubDate>Mon, 17 Jul 2017 23:00:20 +0800</pubDate><description><![CDATA[题目分析
  我们可以从S出发算法最短路，然后从E出发算出最短路，然后枚举每一条特殊通道即可。输出可能有些麻烦。
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1e4+100;
co]]></description><category></category></item><item><title><![CDATA[UVa 563 - Crimewave]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/73662528</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/73662528</guid><author>chen_ze_hua</author><pubDate>Sat, 24 Jun 2017 11:59:02 +0800</pubDate><description><![CDATA[题目分析
  因为每个点有限制，很容易想到拆点，然后求最大流判断是否等于b即可。现在已经很容易手打ISAP网络流算法了。。
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1e5+10]]></description><category></category></item><item><title><![CDATA[hdu 5692 Snacks(dfs序+线段树)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/72638670</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/72638670</guid><author>chen_ze_hua</author><pubDate>Tue, 23 May 2017 12:44:43 +0800</pubDate><description><![CDATA[题目分析
  这道题主要是建树的时候不好想，自己也没有做过这种类似的题目，因此不会。不过很容易理解，如果你学过LCA的离线算法，那么对这道题的理解可能会更好。总结起来只有关键的一句话，dfs序的每个子树的序列号是连续的，我们就根据这个建立线段树就行了。
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>]]></description><category></category></item><item><title><![CDATA[大学生程序设计邀请赛（华东师范大学）题解]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/72220777</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/72220777</guid><author>chen_ze_hua</author><pubDate>Mon, 15 May 2017 20:56:52 +0800</pubDate><description><![CDATA[B 分词
  首先建字典树，然后简单dp一下可过，输出有坑！！，因为int没有改成double wa出血。
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAX = 26;
const int m]]></description><category></category></item><item><title><![CDATA[POJ 1740 Tree（点分治）]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/71505345</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/71505345</guid><author>chen_ze_hua</author><pubDate>Tue, 09 May 2017 20:33:07 +0800</pubDate><description><![CDATA[题目分析
  这道题是挑战上的一道题目，挑战上面代码写的很长并且不容易理解。此题也是楼教主男人八题之一。不过随着算法竞赛的难度逐年增加，以前的论文题现在也变成了模板题，关于点分治的问题很多，区域赛也有出过。 
  这道题具体方法是这样的，我们首先对树找重心，重心不理解的可以去查资料。然后根据重心对树进行分治，我们计算到树根距离小于等于K的节点，然后计算有多少对，但是我们会发现我们子树进行分治时这些点]]></description><category></category></item><item><title><![CDATA[HDU 5869 Different GCD Subarray Query(离线处理+树状数组)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70878150</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70878150</guid><author>chen_ze_hua</author><pubDate>Thu, 27 Apr 2017 20:45:32 +0800</pubDate><description><![CDATA[题目分析
  题意我就不说了，不过可以发现题意简单的题目并没有几道能做出来的。 
  这题首先可以枚举每一个右端点，我们会发现我们直接可以利用前一个端点求出来的所有gcd，就是gcd(a,b,c)=gcd(gcd(a,b),c)gcd(a,b,c) = gcd(gcd(a, b), c)的思想，又因为一个数的gcd个数其实最多就是这个数的约数个数，其实并不大，分解质因数之后很容易发现。这样我们预处理]]></description><category></category></item><item><title><![CDATA[POJ 2481 Cows(树状数组)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70767243</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70767243</guid><author>chen_ze_hua</author><pubDate>Tue, 25 Apr 2017 20:58:24 +0800</pubDate><description><![CDATA[题目分析
  这道题真的是给我wa出血！！主要是因为数组忘了初始化，以后还是要注意这些问题。这道题我以先按E排序从大到小排序，然后按照S从小到大排序，排序完成即可以树状数组求解即可。注意前后2个S，E值相同的情况。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace]]></description><category></category></item><item><title><![CDATA[hdu 1556 Color the ball(树状数组)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70766412</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70766412</guid><author>chen_ze_hua</author><pubDate>Tue, 25 Apr 2017 19:46:08 +0800</pubDate><description><![CDATA[题目分析
  这道题我表示可以写的方法真的很多，比如线段树，我以前已经写过了，但是树状数组自己第一次写，树状数组反着推表示自己真的看了好久。
前缀和思想#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1e5+100;i]]></description><category></category></item><item><title><![CDATA[WOJ The Highest Peak(离线LCA+端点打tag)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70671596</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70671596</guid><author>chen_ze_hua</author><pubDate>Tue, 25 Apr 2017 09:43:53 +0800</pubDate><description><![CDATA[题目分析
  一眼望去赤裸裸的树链剖分，然而老年人早已经忘了树链剖分如何写了，然后这道题比赛的时候树链剖分会超时，还可能有爆栈。好吧，不纠结这么多了，看一下官方做法吧。这道题因为是一直插入最后求最高点就可以了。我们想一想对于线性序列来说如何要让某个区间增加一个数或者减少一个数我们怎么做。我们可以在区间头增加一个数，在区间尾减少一个数，然后把所有的插入处理完之后直接跑前缀和即可得出结果。这道题同样也是]]></description><category></category></item><item><title><![CDATA[WOJ Your NP has been charged full(普通dp)]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70669991</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70669991</guid><author>chen_ze_hua</author><pubDate>Tue, 25 Apr 2017 08:33:24 +0800</pubDate><description><![CDATA[题目分析
  现场赛看了这道题并没有写，是因为队友说的题意我理解多了，本来是一个buff三回合之后就没有了，但是我认为只要加上了一个buff那么久一直有这个buff，想dp方程的时候发现有后效性，然后就写不出来了。回来之后重新读题发现一个buff三回合之后消失，那么很明显我们就可以只需知道这回合，上回合以及上上回合选什么buff，然后就可以直接写状态转移方程了，时间复杂度O(n∗33)O(n*3^3]]></description><category></category></item><item><title><![CDATA[hdu 4055 Number String]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70515082</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70515082</guid><author>chen_ze_hua</author><pubDate>Sun, 23 Apr 2017 16:47:49 +0800</pubDate><description><![CDATA[题目分析
  表示自己这个弱菜写这种dp然后并不会，具体过程看注释吧。
/*
很巧妙的一道题，是别人写的dp总结给出的一道题，这道题消除后效性
非常巧妙，dp[i][j]表示长度为i最后一个数字为j的方法数(请注意长度为i的i个数的大小不超过i)
这样我们就可以得出状态转移方程了，但是如果对于前一个状态大于等于当前状态最后一个数字的
情况是，这个时候我们将这些数字加1，这样消除后效性。
我们用sum]]></description><category></category></item><item><title><![CDATA[可持久化数据结构之主席树]]></title><link>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70233181</link><guid>https://blog.youkuaiyun.com/chen_ze_hua/article/details/70233181</guid><author>chen_ze_hua</author><pubDate>Tue, 18 Apr 2017 21:49:13 +0800</pubDate><description><![CDATA[前序
  怀着激动地心情学习了可持久化数据结构主席树，其实很简单，但是自己因为眼残导致一直没有理解。后来发现这个问题，然后手动模拟了一下这个过程，然后大彻大悟。。表示自己就看了无修改的区间第K大，学习自百度巨巨。。本篇博文转自百度巨巨，链接chairman tree
引言
  首先引入CLJ论文中的定义： 
  所谓的“持久化数据结构”，就是保存这个数据结构的所有历史版本，同时利用它们之间的共用数据]]></description><category></category></item></channel></rss>