Time of Update: 2018-12-04
PeriodTime Limit: 3000MS Memory Limit: 30000KTotal Submissions: 6159 Accepted: 2628DescriptionFor each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix
Time of Update: 2018-12-04
蛋疼了一下,不小心WA了幾回,題目是書上的原題,給你N個數,要你求幾個連續的整數之和是N倍數,然後輸出個數,列印每一個數值...鴿籠定理:如果 n+1 個物體放進 n 個盒子,那麼至少一個盒子包含兩個或者更多的物體。POJ 2356#include<iostream>using namespace std;#define manx 10009int x[manx],s[manx],y[manx];int main(){ int n; scanf("%d",&n);
Time of Update: 2018-12-04
此文章純屬原創,內容來源:北大老師的視頻教學..把這個定理的證明弄明白真不容易啊,懂了這個定理,個人覺得歐拉函數就真的不難了... 定理:若 m, n 是兩個互質的整數,x, y 分別是通過模 m, n 的簡化剩餘系,則 n*x + m*y 是通過 m*n 的簡化剩餘系. 換種寫法:x = { x1,x2,x3,x4.... xE(m)} 是mod m 簡化剩餘系 y = { y1,y2,y3,y4.....
Time of Update: 2018-12-04
如果你有了數論書上第一節和第二節的基礎,那麼你對歐拉函數的理解就更簡單了,數論教材 第一節:同餘的概念及其基本性質 第二節:剩餘類及完全剩餘系首先我們要知道幾個概念: 同餘定義:例如:x1 % m = r x2 % m = r ,則我們就說 x1 和 x2 是關於 m 同餘的兩個數
Time of Update: 2018-12-04
準確的說epoll事件就是IO事件,包括檔案、socket、pipe等,linux把他們統稱為檔案,統一的介面調用,驅動層不同實現。這裡分成四類:監聽套餐接字,連結通訊端,檔案,pipe,相應的觸發條件1.監聽通訊端:有新連結連上臨聽通訊端,並三向交握成功時2.連結通訊端有IO讀寫,且傳輸層接收/發送完畢3.普通檔案有IO讀寫4.pipe有IO讀寫,且有鎖保護。雖然有統一介面,但還是有區分的,先看epoll 源碼:if (epi->event.events &
Time of Update: 2018-12-04
看完數論數的這一段,覺得這個演算法太精闢了,其實擴充歐幾裡德演算法就是書上的公式翻譯成代碼,實在是太棒了,我還SB似的去糾結過程,其實自己已經會筆算了可是書上的第二種解二元一次不定方程方法,目前還在糾結中...運用的定理中的推論得出一定存在整數 x , y 使得 ax + by =gcd( a,b); 成立. 同樣有定理得到如果 ax + by = n 有解,則 gcd( a,b ) | n 一定成立令 a1 = a | gcd( a,b ); b1 = b | gcd( a,b ) ; n1
Time of Update: 2018-12-04
伺服器開發中不何或缺的要使用fastcgi,其使用方法如下:while( FCGI_Accept() >= 0 ){ printf( "Content-type: text/plain \r\n" "Content-Length: %d\r\n" "Connection: close\r\n\r\n%s\r\n", strlen( buffer ), buffer );
Time of Update: 2018-12-04
epoll高效機制其實就是核心回調,我們知道linux把socket也是當成file處理的,只是底層驅動不一樣。先來看看核心檔案結構:struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char *, size_t, loff_t *); ssize_
Time of Update: 2018-12-04
題目:“今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?” 按照今天的話來說:一個數除以3餘2,除以5餘3,除以7餘2,求這個數... 目前我還不明白孫子定理(中國剩餘定理)..所以給出自己的笨方法... 解: 設這個數為 n , 則: n % 3==2; n % 5==3; n % 7==2; 令:n = t1 * 3 + 2; n = t2 * 5 + 3;
Time of Update: 2018-12-04
先來糾正一下觀念。epoll 是區分讀寫事件,這主要取決於底層驅動的支付。如:struct epoll_event ee;ee.events= EPOLLIN | EPOLLOUT;epoll_ctl( epfd, EPOLL_CTL_MOD, fd, &ee );等來事件可讀的時候epoll_wait 返回的 ee.events 就會是 EPOLLIN可寫的時候是EPOLLOUT;其實這個在底層很簡單:revents =
Time of Update: 2018-12-04
#ifndef __d3dUtilityH__#define __d3dUtilityH__#include <d3dx9.h>#include <string>namespace d3d{bool InitD3D(//初始化DirectX3DHINSTANCE hInstance, // [in] Application instance.int width, int height, // [in] Backbuffer
Time of Update: 2018-12-04
題目wa了好多回..悲催...不能直接求逆元來計算,還是要用到數論中的小技巧啊...貼神牛的題解吧..// 這題主要求S// 結論: S = (251^(n+1)-1) * (2^(3n+1)-1) / 250 // 是兩個等比數列和相乘 // // 推理:// 2008 = 2^3 * 251 // 所以 2008^N 有 3N 個 2 和 N 個251 // 所有僅由2組成的因子有// 2^0 2^1 2^2 ... 2^(3N)// 設集合 C = {2^0, 2^1, 2^2 ...,2
Time of Update: 2018-12-04
為什麼 要在標題後面加個“阻塞”呢,因為系統為了增大並發,減小等待(阻塞),建立了另一種事件模式,後文將介紹,這裡只介紹阻塞的模型。阻塞伺服器要乾的事大致可以分為以下幾步:1.建立服務端監聽串連2.產生使用者串連3.接收使用者請求4.發送返回給使用者敲碼過程如下:設定監聽地址與連接埠:addr_server.sin_family = AF_INET;addr_server.sin_port = htons( port );addr_server.sin_addr.s_addr = htonl(
Time of Update: 2018-12-04
#include "d3dUtility.h"//#pragma comment(lib,"d3d9.lib")//#pragma comment(lib,"d3dx9.lib")//#pragma comment(lib,"winmm.lib")bool d3d::InitD3D(HINSTANCE hInstance,int width, int height,bool windowed,D3DDEVTYPE deviceType,IDirect3DDevice9** device){///
Time of Update: 2018-12-04
上篇規定的協議請求部分:request:username/password, 約定username與password 各佔32個位元組(聯同末位0)可以將用戶端的邏輯設計成:1.將username,password 封裝進buffer2.串連服務端3.發送buffer4.接收二進位的系統目前時間 5.顯示時間 代碼如下:服務端地址設定部分: addr_server.sin_family = AF_INET; addr_server.sin_port = htons( port );
Time of Update: 2018-12-04
#include "d3dUtility.h"//// Globals//全域變數//IDirect3DDevice9* Device = 0;////介面IDirect3D9的指標.該介面用於擷取系統中物理硬體裝置的資訊並建立介面IDirect3DDevice9//該介面是一個C++對象,代表我們用來顯示3D圖形的物理硬體裝置//const int Width = 640;//視窗的寬const int Height = 480;//高IDirect3DVertexBuffer9* VB =
Time of Update: 2018-12-04
Evacuation PlanTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 968 Accepted: 236 Special JudgeDescriptionThe City has a number of municipal buildings and a number of fallout shelters that were build specially to hide municipal workers in
Time of Update: 2018-12-04
Giant ForTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1397 Accepted Submission(s): 261Problem DescriptionIt is known to us all that YY and LMY are mathematics lovers. They like to find
Time of Update: 2018-12-04
今天和人電話聊了很長的技術問題,人家是成都臥龍工作室的,技術應該是很行的,但是在幾個問題上我們的見解不一。一個單線程能不能形成幾萬的並發。這個問題首先就是個錯誤的提法,換個說法:nginx是不是就可以達到幾萬的並發。兩個問題犯的是相同的錯誤。所有的並發都是針對業務處理的,業務簡單點,像對於一些靜態網頁的處理,或者是無IO的事務,單線程和nginx都是可以達到幾萬的並發的。可是這兄弟對單線程能達到幾萬的並發還是表示不可想象。前面一個單線程伺服器博文就可以達到2W的並發,另外nginx的單進程模式其
Time of Update: 2018-12-04
因為最近在學習二項堆,所以拿這題練練手。其實這題思路很清晰,就是在二項堆中加入並查集的特性。因為在一個sb的地方犯了一個sb的錯誤,卡了幾個小時。一切盡在代碼中……/* * zoj2334 monkey king */#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define CNT 100010const int INTMAX = (int)1e8