<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[傻子和石像的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010720564</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010720564]]></copyright><item><title><![CDATA[libevent详解四（http服务）]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/106904759</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/106904759</guid><author>u010720564</author><pubDate>Tue, 23 Jun 2020 17:54:42 +0800</pubDate><description><![CDATA[怎么使用多线程

]]></description><category></category></item><item><title><![CDATA[libevent详解三（reactor）]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/106903529</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/106903529</guid><author>u010720564</author><pubDate>Mon, 22 Jun 2020 16:34:04 +0800</pubDate><description><![CDATA[1. reactor模式
reactor简介。
reactor:反应器模式，是一个事件分发器，IO多路复用模型。如下图。

不同的事件，经过reactor，分发给不同的事件处理器去处理。
一个简单的reactor类需要包括如下方面。

注册某些事件的回调函数。
事件循环（调用epoll等，获取触发事件）。

libevent中的reactor模型。
已上一节中例子说明：libevent详解二（使用）

事件注册。
A. 首先注册监听fd的可读时间（新链接到来时触发）。为函数evconnlistener_ne]]></description><category></category></item><item><title><![CDATA[libevent详解二（使用）]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/106887956</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/106887956</guid><author>u010720564</author><pubDate>Sun, 21 Jun 2020 17:31:31 +0800</pubDate><description><![CDATA[libevent简单例子。
步骤


创建event_base对象。
struct event_base *base = event_base_new();


设置需要绑定地址对象。sockaddr_in
struct sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(8888);


绑定ip端口，及回调函数（新链接到来时，即监听的fd可读时），生产evconnlistener对象


struct evconnlistene]]></description><category></category></item><item><title><![CDATA[libevent详解一（安装）]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/106872228</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/106872228</guid><author>u010720564</author><pubDate>Sat, 20 Jun 2020 14:49:21 +0800</pubDate><description><![CDATA[libevent详解一（安装）libvevent介绍Linux环境下安装下载解压安装
libvevent介绍
Libevent十一个用C语言编写，轻量级的开源高性能事件库， 是学习网络编程，reactor模型的一个很好的开源项目。
git地址：libevent git地址.
Libevent是已事件驱动，专注于网络的库，跨平台，可以在Linux，windows，Mac上使用。
Linux环境下安装
下载
官网：libevent官网.
解压
tar -zxvf libevent-2.1.11-stable.t]]></description><category></category></item><item><title><![CDATA[c++简单线程池代码]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/106712613</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/106712613</guid><author>u010720564</author><pubDate>Fri, 12 Jun 2020 12:08:04 +0800</pubDate><description><![CDATA[github地址：https://github.com/cyzgit/threadpool

  0. 编译。

    git中有测试代码，test/main.cpp

    编译：g++ test/main.cpp thread_pool/thread_pool.cpp -I./ -std=c++11 -lpthread


	创建线程池。
	
    需传入线程数和最大可容纳任务数。


ThreadPool::ThreadPool(int threadNums,...]]></description><category></category></item><item><title><![CDATA[poj2486 Apple Tree]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/38784097</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/38784097</guid><author>u010720564</author><pubDate>Sat, 23 Aug 2014 23:01:50 +0800</pubDate><description><![CDATA[题目大意：有一颗n个节点的树，每个节点上有一些数量的苹果，Wshxzt从1号节点出发，每经过一条边算走一步，问走k不最多可以吃掉多少苹果；


思路：树形dp，背包问题，设dp1[i][j]为从i节点出发，走j步然后回到i节点所能吃到的最多苹果树，dp2[i][j]为从i节点出发，走j步可能不回到i节点所能吃到的苹果树


对于dp1[i][j]由于必须回到i号节点，所以如果访问了i的]]></description><category></category></item><item><title><![CDATA[nyoj 236 心急的c小加]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/9011587</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/9011587</guid><author>u010720564</author><pubDate>Mon, 03 Jun 2013 11:18:48 +0800</pubDate><description><![CDATA[题目链接：http://acm.nyist.net/JudgeOnline/problem.php?pid=236
此题在nyoj上分类中，贪心和dp都有，所以此题两种方法均能做对，我用的贪心，至于贪心为什么成功我也不能给出证明；
首先按长度递增排列，长度相同时按重量递增排列，此题就是要找至少可以划分为多少个单调递增的链，为此构造数组f[i]表示到目前为止第i个链的最后一个木棒的信息，所以每次]]></description><category></category></item><item><title><![CDATA[nyoj 61 传纸条，nyoj 712 探寻宝藏 双进程dp]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/9011363</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/9011363</guid><author>u010720564</author><pubDate>Mon, 03 Jun 2013 11:06:56 +0800</pubDate><description><![CDATA[题目链接：712：http://acm.nyist.net/JudgeOnline/problem.php?pid=712
题目大意是一个机器人从1.1出发，要到达m.n点，去的时候只能往右或往上走，回来的时候只能往上或往左走，但是一个点只能走一次，沿途每个点均有宝藏，问最多能拿回宝物的价值是多少。
此问题等价于从1.1出发两个机器人，均要到达m.n点，设两个机器人的速度是一定的，则每一个时刻]]></description><category></category></item><item><title><![CDATA[poj 1751 Highways 最小生成树之Kruskal（克鲁斯卡尔）算法]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/9004308</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/9004308</guid><author>u010720564</author><pubDate>Sat, 01 Jun 2013 14:50:18 +0800</pubDate><description><![CDATA[题目链接：http://poj.org/problem?id=1751
大意是一个有n个城市的国家，已知有些城市有道路联通，问增加哪些道路使得所有的城市都可以彼此联通且代价最小，已经代价是两个城市坐标的笛卡尔距离；
就是一个纯粹的找最小生成树的题；


首先讲所有边按权值从小到大排序，然后依次取最小边，如果联通的两个节点在两个联通分量上，则加入这条边，否则删除这条边；
kruskal算]]></description><category></category></item><item><title><![CDATA[poj 1521 Entropy huffman(哈夫曼）编码]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/9004134</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/9004134</guid><author>u010720564</author><pubDate>Sat, 01 Jun 2013 13:28:53 +0800</pubDate><description><![CDATA[题目链接：http://poj.org/problem?id=1521
题目很长，长的都读不懂咋回事，不过很好理解，意思就是给你个字符串，让你输出用普通ASCII编码和用huffman编码分别占用的位数，然后输出压缩比；
第一次写哈夫曼编码，写了半天，到最后还wa了好几次，这个压缩比的输出格式太蛋疼了，他说保留一位小数，但是如果是x.0,则直接输出x，这一天找了半天，最后试了好些格式才给试出来]]></description><category></category></item><item><title><![CDATA[nyoj 715 River Crossing DP]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/9001032</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/9001032</guid><author>u010720564</author><pubDate>Fri, 31 May 2013 16:07:10 +0800</pubDate><description><![CDATA[题目链接：http://acm.nyist.net/JudgeOnline/problem.php?pid=716
题目大意是：一个人和n个羊过河，但是只有一个船，如果载i只羊过河需要时间为t，则载i+1只羊过河 则需要多费时a[i]；其中这个人自己过河需要时间为m，为把n个羊和1个人弄到河对岸最少需要多少时间：


就是一简单dp，省赛的时候3个dp就这个最简单了，
设f[i]为带i只]]></description><category></category></item><item><title><![CDATA[poj 3032 nyoj 714 Card Trick]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/9000912</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/9000912</guid><author>u010720564</author><pubDate>Fri, 31 May 2013 15:49:42 +0800</pubDate><description><![CDATA[题目链接：http://acm.nyist.net/JudgeOnline/problem.php?pid=714
此题是河南省ACM省赛的题，基本上都做出来了；
题目大意是：有n张牌，找到一个顺序，使得第一次把上面一张取出放到最下面，然后取出最上面一张是一，第i次把上面i张取出放到最下面，然后取出一张是i；
本题也没啥技巧，就是模拟；


参考代码如下：



#includ]]></description><category></category></item><item><title><![CDATA[nyoj 715 Adjacent Bit Counts]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8996524</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8996524</guid><author>u010720564</author><pubDate>Thu, 30 May 2013 21:12:26 +0800</pubDate><description><![CDATA[题目链接：http://acm.nyist.net/JudgeOnline/problem.php?pid=715
此题是河南省第六届ACM程序设计大赛的第7题吧；
意思的大意是给你一个只含01的字符串，他的值就是任意两个相邻0或1的积的和；
给你个n和m，n为串的长度，m为串的值，问符合条件的串有多少种；


当时没做出来 惭愧，今天上nyoj看了下，已经挂上了，于是就做了下，发现其]]></description><category></category></item><item><title><![CDATA[hdu 1171 Big Event in HDU 平均分堆问题]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8993974</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8993974</guid><author>u010720564</author><pubDate>Thu, 30 May 2013 12:38:04 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/showproblem.php?pid=1171
题目大意是：2002年，hdu的计算机学院分成了计算机学院和软件学院，于是就牵涉到设备的分配问题，一共有n中设备，每种设备的单个价值为vi，个数为numi；
问找到一个分配方案，是两个学院的分配的设备的总价值差最小，但必须得保证计算机学院得到的不小于软件学院的；


设所有物品的总价值]]></description><category></category></item><item><title><![CDATA[hdu 3033 I love sneakers! 分组背包问题]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8993532</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8993532</guid><author>u010720564</author><pubDate>Thu, 30 May 2013 11:40:28 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/showproblem.php?pid=3033
题目大意是：有n双鞋，分别属于k个品牌，然后有m的钱，每双鞋均有一个花费和价值，问用m的钱可以买到的最大价值是多少；
限制是每个品牌至少应买一种，且每种鞋子至多买一双；
就是分组的01背包问题；
定义f[k][j]为前i组用j的钱可以买到的最大价值，开始时令f的值均为非法状态，即赋为-1]]></description><category></category></item><item><title><![CDATA[hdu 3466 Proud Merchants]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8991769</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8991769</guid><author>u010720564</author><pubDate>Wed, 29 May 2013 23:18:54 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/showproblem.php?pid=3466
题目的大意是：有n件物品，每个物品有个费用p，但要得到这件物品，你至少拥有的钱为q，每个物品也有一个价值v；
然后你又m的钱，问能买到的最大价值是多少；
这题一看就是01背包问题，但是稍微有点变化，刚开始直接做，题目给的测试数据都过不了，于是想了想，感觉应该按照q排下序再进行dp，试了下，]]></description><category></category></item><item><title><![CDATA[hdu 3496 Watch The Movie]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8991183</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8991183</guid><author>u010720564</author><pubDate>Wed, 29 May 2013 21:07:43 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/showproblem.php?pid=3496

题目的大致意思就是duoduo想看电影，准备了n个想买对碟片对时间和价值，他爷爷只允许他看L时间对电影，并且商店只能批量出售，也就是一次只能出售m张，问应该如何购买，才能使总价值最大，且总时间不能超过L；
这个题就是个二维的背包问题，且每个物品只能取0次或1次；
定义f[k][j]为取]]></description><category></category></item><item><title><![CDATA[hdu 1267 下沙的沙子有几粒？]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8988878</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8988878</guid><author>u010720564</author><pubDate>Wed, 29 May 2013 13:05:11 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=3&problemid=9
题目大意：一个字符串只有h和d组成，然后如果对于任意一个h，它之前的d总是不多于它之前的h+1；则称为杭电串串，为一个长度为n的串，有多少种杭电串串；


///////////////////
此题为简单的]]></description><category></category></item><item><title><![CDATA[hdu 1032 The 3n + 1 problem]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8988854</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8988854</guid><author>u010720564</author><pubDate>Wed, 29 May 2013 12:54:26 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/showproblem.php?pid=1032
大意为执行如下操作：
1.      输入 n

 2.      打印 n

3.      如果n==1则停止

4.           如果n为奇数则n=3*n+1；

5.           否则n=n/2;

 6.      转到2；



给你一]]></description><category></category></item><item><title><![CDATA[hdu 1203 I NEED A OFFER]]></title><link>https://blog.youkuaiyun.com/u010720564/article/details/8988838</link><guid>https://blog.youkuaiyun.com/u010720564/article/details/8988838</guid><author>u010720564</author><pubDate>Wed, 29 May 2013 12:44:29 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/showproblem.php?pid=1203


Speakless很早就想出国，现在他已经考完了所有需要的考试，准备了所有要准备的材料，于是，便需要去申请学校了。要申请国外的任何大学，你都要交纳一定的申请费用，这可是很惊人的。Speakless没有多少钱，总共只攒了n万美元。他将在m个学校中选择若干的（当然要在他的经济承受范围内）。]]></description><category></category></item></channel></rss>