<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[czsupercar的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/czsupercar</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; czsupercar]]></copyright><item><title><![CDATA[一个简单的python爬虫程序]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/108768505</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/108768505</guid><author>czsupercar</author><pubDate>Thu, 24 Sep 2020 10:42:19 +0800</pubDate><description><![CDATA[具体实现

开发环境

python3.6pycharm

主要依赖库

urllib-- 基础性的网络相关操作lxml-- 通过xpath语法解析HTML页面json-- 对通过API获取的JSON数据进行操作re-- 正则操作

代码实现

概述

这是一个简单的python爬虫程序，仅用作技术学习与交流，主要是通过一个简单的实际案例来对网络爬虫有个基础的认识。

什么是网络爬虫

简单的讲，网络爬虫就是模拟人访问web站点的行为来获取有价值的数据。专业的解释:百度百科

分析爬虫需求

...]]></description><category></category></item><item><title><![CDATA[Anaconda详细安装及使用教程（带图文）]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/108517471</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/108517471</guid><author>czsupercar</author><pubDate>Thu, 10 Sep 2020 16:30:10 +0800</pubDate><description><![CDATA[Anaconda详细安装及使用教程（带图文）
]]></description><category></category></item><item><title><![CDATA[如何打开ipynb文件]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/108517354</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/108517354</guid><author>czsupercar</author><pubDate>Thu, 10 Sep 2020 16:25:53 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/chaipp0607/article/details/72823524
]]></description><category></category></item><item><title><![CDATA[关键路径算法演示（AOE网）]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/90264376</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/90264376</guid><author>czsupercar</author><pubDate>Thu, 16 May 2019 15:19:43 +0800</pubDate><description><![CDATA[如上图，是一个AOE网，点表示状态，边表示活动及其所需要的时间。为了求出关键路径，我们使用一下算法：

1.求出到达各个状态的最早时间（按最大计）

这个过程是要从源点开始向汇点顺推（拓扑排序）：

V1是源点，其最早开始时间是0。
	V2、V3、V4最早时间分别是是6、4、5。
	对于V5而言，V2到V5所花费时间是6+1=7，而V3到V5所花费时间是4+1=5。我们要按最大计，也就是V5最...]]></description><category></category></item><item><title><![CDATA[经典算法之关键路径]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/90264056</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/90264056</guid><author>czsupercar</author><pubDate>Thu, 16 May 2019 15:10:07 +0800</pubDate><description><![CDATA[问题提出：
设一个工程有11项活动，9个事件，事件V1 ----- 表示整个工程开始，事件V9 ----- 表示整个工程结束。

每个事件的开始必须是它之前的活动已完成。例如：事件V2，V3，V4的开始必须是活动a1，a2，a3完成了。



这时我们会关注两个问题：

（1）完成整个项目需要多少时间？

（2）哪些活动是影响工程进度的关键？

定义：
关键路径：AOE-网中，从起点到终点最长的路...]]></description><category></category></item><item><title><![CDATA[经典算法之拓扑排序]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/90204403</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/90204403</guid><author>czsupercar</author><pubDate>Tue, 14 May 2019 13:34:29 +0800</pubDate><description><![CDATA[定义：
把AOV网（用定点表示活动，用弧表示活动间优先关系的有向图）络中各个顶点按照它们互相之间的优先关系排列成一个线性序列的过程叫做拓扑排序。

方法：
在有向图中选一个没有前驱的顶点并且输出
从图中删除该顶点和所有以它为尾的弧，即删除所有与它有关的边。
重复上述两步，直至全部顶点均已输出；或者当图中不存在无前驱的顶点为止。
例题：


首先我们找到无前驱顶点C1和C9，我们删除掉C1，输出C1...]]></description><category></category></item><item><title><![CDATA[题解 P1090 【合并果子】]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/89206584</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/89206584</guid><author>czsupercar</author><pubDate>Thu, 11 Apr 2019 11:39:30 +0800</pubDate><description><![CDATA[一道优先队列的模板题

题解的用pb_ds库。

思路是把果子排序之后（别说你不知道要排序，sort大法好）把两堆重量最小的合并成一堆比较大的，再把新的一堆插入到原来的很多堆里，维护原来的单调不下降序列，最后直到就剩下一堆。思路很简单。

那么，当你写完这个简单代码的时候，你会发现（或者你直到提交以后才会发现），很显然这个时间复杂度是O（反正过不了）。现在，你会想到优化它的排序，没错，就是用堆排序...]]></description><category></category></item><item><title><![CDATA[tarjan算法]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/88974716</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/88974716</guid><author>czsupercar</author><pubDate>Tue, 02 Apr 2019 16:18:09 +0800</pubDate><description><![CDATA[这个算法网上很容易找到详解，其实认真看一遍百度百科也就懂得七七八八了

再附详解地址，这位博主也是转别人的，但是那个别人的博客打不开了

https://blog.youkuaiyun.com/qq_34374664/article/details/77488976

这个算法的核心思想：将连通分量的各个点用一个点表示。


#include &lt;iostream&gt;
#include &lt;cst...]]></description><category></category></item><item><title><![CDATA[求有向图的强连通分量个数（kosaraju算法）]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/88974296</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/88974296</guid><author>czsupercar</author><pubDate>Tue, 02 Apr 2019 16:14:29 +0800</pubDate><description><![CDATA[有向图的连通分量的求解思路



kosaraju算法

逛了很多博客，感觉都很难懂，终于找到一篇能看懂的，摘要记录一下

原博客https://www.cnblogs.com/nullzx/p/6437926.html

关于连通分量是什么自行百度，这里主要说明连通分量的求解方法



基本思路：第一次DFS得出顶点的顺序，根据顶点顺序进行第二次DFS，也就是逆后序遍历（手动模拟一下堆栈就知道...]]></description><category></category></item><item><title><![CDATA[USACO3.2.6 香甜的黄油 解题报告]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/88868312</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/88868312</guid><author>czsupercar</author><pubDate>Thu, 28 Mar 2019 14:29:53 +0800</pubDate><description><![CDATA[【问题描述】 

　　农夫John发现做出全威斯康辛州最甜的黄油的方法：把糖放在一片牧场上，他知道N（1&lt;=N&lt;=500）只奶牛会过来舔它，这样就能做出能卖好价钱的超甜黄油。当然，他将付出额外的费用在奶牛上。
　　农夫John很狡猾。像以前的巴甫洛夫，他知道他可以训练这些奶牛，让它们在听到铃声时去一个特定的牧场。他打算将糖放在那里然后下午发出铃声，以至他可以在晚上挤奶。
　　...]]></description><category></category></item><item><title><![CDATA[有向网络（带权的有向图）的最短路径Dijkstra算法]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/88866861</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/88866861</guid><author>czsupercar</author><pubDate>Thu, 28 Mar 2019 13:09:59 +0800</pubDate><description><![CDATA[什么是最短路径？

单源最短路径（所谓单源最短路径就是只指定一个顶点，最短路径是指其他顶点和这个顶点之间的路径的权值的最小值）

什么是最短路径问题？

给定一带权图，图中每条边的权值是非负的，代表着两顶点之间的距离。指定图中的一顶点为源点，找出源点到其它顶点的最短路径和其长度的问题，即是单源最短路径问题。

什么是Dijkstra算法？

求解单源最短路径问题的常用方法是Dijkstra(迪杰...]]></description><category></category></item><item><title><![CDATA[图的存储结构之邻接表]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/88735484</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/88735484</guid><author>czsupercar</author><pubDate>Fri, 22 Mar 2019 11:00:55 +0800</pubDate><description><![CDATA[邻接矩阵的缺点：边数相对顶点较少的图，极大地浪费了存储空间。
	把数组与链表相结合的存储方法称为邻接表。（Adjacency List）
	邻接表的处理办法：
顶点用一个一维数组存储（较容易读取顶点信息），每个数据元素还需要存储指向第一个邻接点的指针，以便于查找该顶点的边信息。
	每个顶点的所有邻接点构成一个线性表（用单链表存储）。无向图称为顶点Vi的边表，有向图称为顶点Vi作为弧尾的出边表。
...]]></description><category></category></item><item><title><![CDATA[图的存储结构之邻接表(详解)]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/88735143</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/88735143</guid><author>czsupercar</author><pubDate>Fri, 22 Mar 2019 10:49:37 +0800</pubDate><description><![CDATA[图的邻接矩阵存储法，它的空间和时间复杂度都是N2，现在我来介绍另外一种存储图的方法：邻接表，这样空间和时间复杂度就都是M。对于稀疏图来说，M要远远小于N2。先上数据，如下。


4 5
1 4 9
4 3 8
1 2 5
2 4 6
1 3 7



第一行两个整数n m。n表示顶点个数（顶点编号为1~n），m表示边的条数。接下来m行表示，每行有3个数x y z，表示顶点x到顶点y...]]></description><category></category></item><item><title><![CDATA[快速排序基本思路（通俗易懂+例子）]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/85063459</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/85063459</guid><author>czsupercar</author><pubDate>Tue, 18 Dec 2018 13:19:57 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/code_AC/article/details/74158681

快速排序
今天看到大神写的一篇快速排序的博客，肃然起敬，觉得原来快速排序这么简单
下面进行简单的试试
快速排序的基本思想是

1、先从数列中取出一个数作为基准数


2、分区过程，将比这个数大的数全放到它的右边，小于或等于它的数全放到它的左边


3、再对左右区间重复第二步，直到各区间只...]]></description><category></category></item><item><title><![CDATA[在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/85062905</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/85062905</guid><author>czsupercar</author><pubDate>Tue, 18 Dec 2018 12:00:20 +0800</pubDate><description><![CDATA[http://tools.jb51.net/aideddesign/paixu_ys]]></description><category></category></item><item><title><![CDATA[生日相同（结构体排序）]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/84766108</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/84766108</guid><author>czsupercar</author><pubDate>Mon, 03 Dec 2018 15:05:57 +0800</pubDate><description><![CDATA[Description
在一个有180人的大班级中，存在两个人生日相同的概率非常大，现给出每个学生的学号，出生月日。试找出所有生日相同的学生。

Input
第一行为整数n，表示有n个学生，n&amp;lt;100。 
此后每行包含一个字符串和两个整数，分别表示学生的学号（字符串长度小于10）和出生月(1&amp;lt;=m&amp;lt;=12)日(1&amp;lt;=d&amp;lt;=31)。 
学号、月、日之间用一个空格分隔。
...]]></description><category></category></item><item><title><![CDATA[3.1数据结构之结构  6377 生日相同 2.0]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/53079422</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/53079422</guid><author>czsupercar</author><pubDate>Tue, 08 Nov 2016 10:09:09 +0800</pubDate><description><![CDATA[总时间限制: 1000ms 内存限制: 65536kB


描述

在一个有180人的大班级中，存在两个人生日相同的概率非常大，现给出每个学生的名字，出生月日。试找出所有生日相同的学生。


输入第一行为整数n，表示有n个学生，n ≤ 180。此后每行包含一个字符串和两个整数，分别表示学生的名字（名字第一个字母大写，其余小写，不含空格，且长度小于20）和出生月(1 ≤ m ≤ 12]]></description><category></category></item><item><title><![CDATA[22:神奇的幻方/NOI	/ 1.8编程基础之多维数组]]></title><link>https://blog.youkuaiyun.com/czsupercar/article/details/52734132</link><guid>https://blog.youkuaiyun.com/czsupercar/article/details/52734132</guid><author>czsupercar</author><pubDate>Tue, 04 Oct 2016 15:45:52 +0800</pubDate><description><![CDATA[总时间限制: 1000ms内存限制: 65535kB
描述
幻方是一个很神奇的N*N矩阵，它的每行、每列与对角线，加起来的数字和都是相同的。
我们可以通过以下方法构建一个幻方。（阶数为奇数）
1.第一个数字写在第一行的中间
2.下一个数字，都写在上一个数字的右上方：
    a.如果该数字在第一行，则下一个数字写在最后一行，列数为该数字的右一列
    b.如果该数字在最后一列，则下]]></description><category></category></item></channel></rss>