原创 c語言HTTP服務器,超級簡易版。

算是對linux多線程的複習把,嘗試這用socket寫了一個簡單的HTTP服務器,當訪問它的時候它會給你發送一個HTML文件,這個HTML文件需要自己寫。 代碼: #include <stdio.h> #include <std

原创 H 維克茲的進制轉換

思路: 從二進制考慮。 首先我們要知道長度爲 len 的二進制數除以二後長度變爲len-1 , 它會將最後一位給pass掉。 那麼我們考慮到長度爲len 的二進制是否可以由長度爲len-1的轉化得到呢?這麼想是沒有錯的! 。共有

原创 hdu 1237 升級版代碼

前言:一直像做個計算器,但是表達式求值算法不會寫。昨天數據結構老師剛好講到表達式求值就下決心將這個代碼敲出來。之所以說這個是hdu 1237升級版是因爲這個代碼支持括號嵌套。 思路: 主要分兩步。 將中綴表達式轉換爲後綴表達式

原创 求數n和n!的因子和

對於每個 n>=2, 都可以拆分成 n=2a+3b+5c+7d+... 有了上面的拆分式,我們就容易得到 n 的因子和公式 sum=(a+1)∗(b+1)∗(c+1)∗... 有了n 的因子和公式,就不難得出n!的因子

原创 linux下的c++ 多線程封裝

最近爲了學習linux 下的多線程,自己用c++封裝了一個簡易的局域網多線程聊天服務器,期間遇到了一些坑寫到這裏與大家共勉! 主要功能: 封裝了一個名叫pthread_serv的類對每一個客戶端的響應建立一個進程進行信息轉發。

原创 pat 天梯團體賽練習-l2-019 悄悄關注

這道題本身沒有什麼難度,主要是熟悉下stl的用法。原來map #include <iostream> #include <algorithm> #include <set> #include <map> #include <s

原创 poj 3254

鏈接:http://poj.org/problem?id=3254 分析:一道經典的狀壓dp,核心是將排列方式看做01串,用十進制表示 代碼: /*2017-2-11 15:51 author:lian */ #includ

原创 epoll回聲服務器

epoll是在linux系統中,一種高效率的I/O複用技術. 在linux的網絡編程中,很長的時間都在使用select來做事件觸發。在linux新的內核中,有了一種替換它的機制,就是epoll。 相比於select,epoll

原创 2017年華東師範大學網絡賽 C

袋鼠媽媽找孩子 Time limit per test: 1.5 seconds Time limit all tests: 10.0 seconds Memory limit: 256 megabytes 袋鼠媽媽找不到她

原创 kmp模板

void makenext(const char *p , int *next) { int i=1,k=0; int m = strlen(p); next[0] = 0; for(i=1,k=0

原创 zzuli 1923: 表達式求值

鏈接 思路 :分兩步處理。 1. 對原字符處理 , 去掉講 Smax(x,y)轉化成 ((x) , (y))。int Smax_func(int num) 函數進行這個操作。 2. 用逆波蘭表達式 , 先將處理後的中綴表

原创 2017年華東師範大學網絡賽 A

A. 拼音魔法 Time limit per test: 1.0 seconds Time limit all tests: 1.0 seconds Memory limit: 256 megabytes Accept /

原创 2017年華東師範大學網絡賽 E

E. 黑心啤酒廠 Time limit per test: 1.0 seconds Time limit all tests: 1.0 seconds Memory limit: 256 megabytes Accept

原创 poj 2965

鏈接:http://poj.org/problem?id=2965 思路:利用總共的狀態只有六萬多的特點,我們可以用dfs暴力枚舉。不過這裏我們換用另一種方法。注意到碰到+號時,將該點的所在行和所在列的每一個點翻轉。這樣改點翻了

原创 仔細認識c++ 中pointers和references。

指針和引用看起來很不一樣(pointers使用"* "和"->"操作符, references使用 "."),但用起來總覺得很相似。下面就仔細摳一下它倆之間的相同和不同之處,以及各自的使用場合。 首先必須認知一點,