sizeof()功能:計(jì)算數(shù)據(jù)空間的字節(jié)數(shù)
1.與strlen()比較
strlen()計(jì)算字符數(shù)組的字符數(shù),以"\0"為結(jié)束判斷。
而sizeof計(jì)算數(shù)據(jù)(包括數(shù)組、變量、類型、結(jié)構(gòu)體等)所占內(nèi)存空間,用字節(jié)數(shù)表示
2.指針與靜態(tài)數(shù)組的sizeof操作
指針均可看為變量類型的一種。所有指針變量的sizeof 操作結(jié)果均為4。
注意:int *p; sizeof(p)=4;
但sizeof(*p)相當(dāng)于sizeof(int);
對(duì)于靜態(tài)數(shù)組,sizeof可直接計(jì)算數(shù)組大小;
例:int a[10];char b[]="hello";
sizeof(a)等于10;
sizeof(b)等于7;
注意:數(shù)組做型參時(shí),數(shù)組名稱當(dāng)作指針使用!!
void fun(char p[])
{sizeof(p)等于4}
經(jīng)典問題:
double* (*a)[3][6];
cout<<sizeof(a)<<endl; // 4
cout<<sizeof(*a)<<endl; // 72
cout<<sizeof(**a)<<endl; // 24
cout<<sizeof(***a)<<endl; // 4
cout<<sizeof(****a)<<endl; // 8
a是一個(gè)很奇怪的定義,他表示一個(gè)指向double*[3][6]類型數(shù)組的指針。既然是指針,所以sizeof(a)就是4。
既然a是執(zhí)行double*[3][6]類型的指針,*a就表示一個(gè)double*[3][6]的多維數(shù)組類型,因此sizeof(*a)
=3*6*sizeof(double*)=72。同樣的,**a表示一個(gè)double*[6]類型的數(shù)組,所以sizeof(**a)=6*sizeof (double*)=24。***a就表示其中的一個(gè)元素,也就是double*了,所以sizeof(***a)=4。至于****a,就是一個(gè)double了,所以sizeof(****a)=sizeof(double)=8。
3.格式的寫法
sizeof操作符,對(duì)變量或?qū)ο罂梢圆患永ㄌ?hào),但若是類型,須加括號(hào)
4.使用sizeof時(shí)string的注意事項(xiàng)
string s="hello";
sizeof(s)等于string類的大小,sizeof(s.c_str())得到的是與字符串長度。
5.union 與struct的空間計(jì)算
總體上遵循兩個(gè)原則:
(1)整體空間是 占用空間最大的成員(的類型)所占字節(jié)數(shù)的整倍數(shù)
(2)數(shù)據(jù)對(duì)齊原則----內(nèi)存按結(jié)構(gòu)成員的 先后順序排列,當(dāng)排到該成員變量時(shí),其前面已擺放的空間大小必須是該成員類型大小的整倍數(shù),如果不夠則補(bǔ)齊,以此向后類推。。。。。
注意:數(shù)組按照單個(gè)變量一個(gè)一個(gè)的擺放,而不是看成整體。如果成員中有自定義的類、結(jié)構(gòu)體,也要注意數(shù)組問題。
例:[引用其他帖子的內(nèi)容]
因?yàn)閷?duì)齊問題使結(jié)構(gòu)體的sizeof變得比較復(fù)雜,看下面的例子:(默認(rèn)對(duì)齊方式下)
struct s1
{
char a;
double b;
int c;
char d;
};
struct s2
{
char a;
char b;
int c;
double d;
};
cout<<sizeof(s1)<<endl; // 24
cout<<sizeof(s2)<<endl; // 16
同樣是兩個(gè)char類型,一個(gè)int類型,一個(gè)double類型,但是因?yàn)閷?duì)界問題,導(dǎo)致他們的大小不同。計(jì)算結(jié)構(gòu)體大小可以采用元素?cái)[放法,我舉例子說明一下:首先,CPU判斷結(jié)構(gòu)體的對(duì)界,根據(jù)上一節(jié)的結(jié)論,s1和s2的對(duì)界都取最大的元素類型,也就是double類型的對(duì)界8。然后開始擺放每個(gè)元素。
對(duì)于s1,首先把a放到8的對(duì)界,假定是0,此時(shí)下一個(gè)空閑的地址是1,但是下一個(gè)元素d是double類型,要放到8的對(duì)界上,離1最接近的地址是8了,所以d被放在了8,此時(shí)下一個(gè)空閑地址變成了16,下一個(gè)元素c的對(duì)界是4,16可以滿足,所以c放在了16,此時(shí)下一個(gè)空閑地址變成了20,下一個(gè)元素d需要對(duì)界1,也正好落在對(duì)界上,所以d放在了20,結(jié)構(gòu)體在地址21處結(jié)束。由于s1的大小需要是8的倍數(shù),所以21-23的空間被保留,s1的大小變成了24。
對(duì)于s2,首先把a放到8的對(duì)界,假定是0,此時(shí)下一個(gè)空閑地址是1,下一個(gè)元素的對(duì)界也是1,所以b擺放在1,下一個(gè)空閑地址變成了2;下一個(gè)元素c的對(duì)界是4,所以取離2最近的地址4擺放c,下一個(gè)空閑地址變成了8,下一個(gè)元素d的對(duì)界是8,所以d擺放在8,所有元素?cái)[放完畢,結(jié)構(gòu)體在15處結(jié)束,占用總空間為16,正好是8的倍數(shù)。
這里有個(gè)陷阱,對(duì)于結(jié)構(gòu)體中的結(jié)構(gòu)體成員,不要認(rèn)為它的對(duì)齊方式就是他的大小,看下面的例子:
struct s1
{
char a[8];
};
struct s2
{
double d;
};
struct s3
{
s1 s;
char a;
};
struct s4
{
s2 s;
char a;
};
cout<<sizeof(s1)<<endl; // 8
cout<<sizeof(s2)<<endl; // 8
cout<<sizeof(s3)<<endl; // 9
cout<<sizeof(s4)<<endl; // 16;
s1和s2大小雖然都是8,但是s1的對(duì)齊方式是1,s2是8(double),所以在s3和s4中才有這樣的差異。
所以,在自己定義結(jié)構(gòu)體的時(shí)候,如果空間緊張的話,最好考慮對(duì)齊因素來排列結(jié)構(gòu)體里的元素。
快找工作了,從今天開始開始復(fù)習(xí)C++等知識(shí)了。現(xiàn)在遇到了幾個(gè)奇怪的題目:
1、
class CLS


{
public:
int m_i;
CLS( int i ) //: m_i(i) {}

{
m_i = i;
}
CLS()

{
CLS(0);
}
};
int main()


{
CLS obj;
cout << obj.m_i << endl;
}
問輸出是多少?
調(diào)試之后,發(fā)現(xiàn)在
CLS()
{
CLS(0);
}
中的this指針不同,所以這里可能和c#或者Java不同,當(dāng)調(diào)用CLS(0)的時(shí)候,它會(huì)重新分配一塊空間,并且初始化新對(duì)象的m_i=0.
后來在網(wǎng)上搜了一下,找打了這篇文章:
http://blog.csdn.net/cnheying/archive/2007/05/16/1611698.aspx 和
http://www.cnblogs.com/chio/archive/2007/10/20/931043.html。不知道大家對(duì)這道題有什么想法,歡迎討論!
2、
float a = 1;
cout << (int)a << endl;
cout << (int&)a << endl;
//cout << *(int*)&a << endl;
cout << boolalpha << ((int)a == (int&)a) << endl;

float b = 0.0f;
cout << (int)b << endl;
cout << (int&)b << endl;
cout << boolalpha << ((int)b == (int&)b) << endl;
cout << endl;
本來不存在我注釋的那一行,考慮(int&)a的時(shí)候,發(fā)現(xiàn)輸出跟想想的不一樣,后來發(fā)現(xiàn)和*(int*)&a的值是相同的。所以我猜測(cè)(int&)a可能首先取a的地址,然后轉(zhuǎn)化成(int*),再去a地址里面的內(nèi)容,這時(shí)是按照int讀取的。
3、
int x = 1;
int *p = &x;
int y = 4;
cout << (++(*p) < y ? (*p)++: y) << endl;
cout << x << endl;
關(guān)于三元運(yùn)算符和++的比較,++的優(yōu)先級(jí)比三元運(yùn)算符高。我是在VS2005下調(diào)試的,通過讀匯編代碼,發(fā)現(xiàn)((*p) ++< y ? (*p)++: y);首先對(duì)x+1,然后把值回寫的內(nèi)存中,用原來的之比較,比較晚之后,再從內(nèi)存中讀取出值,進(jìn)行cout<<(*p)++<<endl;的操作。輸出原值后再+1。結(jié)果x最終輸出3。(這樣如果死扣語言,我覺得自己會(huì)死人的)。
如果以上哪里分析的不對(duì),歡迎大家拍磚!!
好長時(shí)間沒有做ACM的題,今天做了2道,都沒有做出來,參考了別人的思路。自己太不專心,如果一個(gè)人能每天花一些時(shí)間在一件事情上,我想他一定會(huì)干好這件事情。我想成為那種人,自己每天都做點(diǎn)題。持之以恒!
鞭策自己!
這兩天學(xué)習(xí)windows編程,對(duì)里面的類型不熟悉,這是從網(wǎng)上找的一份。
標(biāo)識(shí)符 實(shí)際類型 意義
CHAR char 8位Windows(ANSI)字符。
CCHAR char 8位Windows(ANSI)字符。
PSZ char* 一個(gè)以"NULL"結(jié)束的Windows字符串的指針
PCHAR CHAR* 一個(gè)CHAR型指針
PSTR CHAR* 一個(gè)以"NULL"結(jié)尾的8位Windows(ANSI)字符串指針
LPSTR CHAR* 一個(gè)以"NULL"結(jié)尾的8位WINDOWS(ANSI)字符串指針
NPSTR CHAR* 一個(gè)以"NULL"結(jié)尾的8位WINDOWS(ANSI)字符串指針
PCSTR CONST CHAR* 一個(gè)以"NULL"結(jié)尾的8位WINDOWS(ANSI)字符串常量指針
LPCSTR CONST CHAR* 一個(gè)以"NULL"結(jié)尾的8位WINDOWS(ANSI)字符串常量指針
WCHAR wchar_t 16位Unicode字符
PWCH WCHAR* 一個(gè)WCHAR型指針
PWCHAR WCHAR* 一個(gè)WCHAR型指針
PWSTR WCHAR* 一個(gè)以"NULL"結(jié)尾的16位Unicode字符串指針
LPWSTR WCHAR FAR* 一個(gè)以"NULL"結(jié)尾的16位Unicode字符串指針
NWPSTR WCHAR* 一個(gè)以"NULL"結(jié)尾的16位Unicode字符串指針
PCWCH CONST WCHAR* 一個(gè)WCHAR型常量指針
LPCWCH CONST WCHAR FAR* 一個(gè)WCHAR型常量指針
PCWSTR CONST WCHAR* 一個(gè)以"NULL"結(jié)束的16位Unicode字符串常量指針
LPCWSTR CONST WCHAR FAR* 一個(gè)以"NULL"結(jié)尾的16位Unicode字符串常量指針
TCHAR WCHAR(或char) 兼容型字符(Unicode中為WCHAR型,Windows中為CHAR型)
PTCHAR WCHAR*(或char) 一個(gè)TCHAR型指針
PTCH LPWSTR(或LPSTR) Unicode中為LPWSTR型,Windows中為LPSTR型
LPTCH LPWSTR(或LPSTR) Unicode中為LPWSTR型,Windows中為LPSTR型
PTSTR LPWSTR(或LPSTR) Unicode中為LPWSTR型,Windows中為LPSTR型
LPTSTR LPWSTR(或LPSTR) Unicode中為LPWSTR型,Windows中為LPSTR型
PCTSTR PCWSTR(或PCSTR) Unicode中為PCWSTR型,Windows中為PCSTR型
LPCTSTR LPCWSTR(或LPCSTR) Unicode中為LPCWSTR型,Windows中為LPCSTR型
UCHAR unsigned char 無符號(hào)字符型
PUCHAR UCHAR* 一個(gè)UCHAR型指針
BSTR OLECHAR* 32位字符指針(不推薦使用)
OLECHAR wchar_t Unicode字符類型(用于對(duì)象鏈接與嵌入的數(shù)據(jù)類型,如嵌入Word文檔)
LPOLESTR OLECHAR* 一個(gè)OLECHAR型指針
LPCOLESTR const OLECHAR* 指向OLECHAR類型的字符串常量指針
---------------------------------------------------
數(shù)值類:
---------------------------------------------------
標(biāo)識(shí)符 實(shí)際類型 意義
BYTE unsigned char 8位無符號(hào)整數(shù)
PBYTE BYTE near* 一個(gè)BYTE型指針
LPBYTE BYTE far* 一個(gè)BYTE型指針
TBYTE WCHAR(或unsigned char) Unicode中為WCHAR型,Windows中為unsigned char型
PTBYTE WCHAR*(或unsigned char*) 一個(gè)TBYTE型指針
BOOL int 布爾變量,其值為(TRUE或FALSE)
PBOOL BOOL near* 一個(gè)BOOL型指針
LPBOOL BOOL far* 一個(gè)BOOL型指針
BOOLEAN BYTE 布爾變量,其值為(TRUE或FALSE)
PBOOLEAN BOOLEAN* 一個(gè)BOOLEAN型指針
SHORT short 16位短整數(shù)(有符號(hào))
PSHORT SHORT* 一個(gè)SHORT型指針
USHORT unsigned short 無符號(hào)短整型
PUSHORT USHORT* 一個(gè)USHORT型指針
INT int 32位符號(hào)整數(shù)
INT32 32位符號(hào)整數(shù)
INT64 64位符號(hào)整數(shù)
INT_PTR Signed integral type for pointer precision.Use when casting a pointer to an integer to perform pointer arithmetic.
PINT INT near* 一個(gè)INT型指針
LPINT INT far* 一個(gè)INT型指針
UINT unsigned int 無符號(hào)的整型
UINT32 無符號(hào)的INT32型
UINT64 無符號(hào)的INT64型
UINT_PTR 無符號(hào)的INT_PTR型
PUINT UINT* 一個(gè)UINT型指針
LONG long 32位符號(hào)整數(shù)
LONG32 32位符號(hào)整數(shù)
LONG64 64位符號(hào)整數(shù)
LONGLONG __int64(或double) 64位符號(hào)整數(shù)
LONG_PTR Signed long type for pointer precision.Use when casting a pointer to a long to perform pointer arithmetic.
PLONG LONG near* 一個(gè)LONG型指針
LPLONG LONG far* 一個(gè)LONG型指針
PLONGLONG LONGLONG* 一個(gè)LONGLONG型指針
ULONG unsigned long 無符號(hào)的LONG型
ULONG32 無符號(hào)的LONG32型
ULONG64 無符號(hào)的LONG64型
ULONGLONG unsigned __int64(或double) 64位無符號(hào)整型
ULONG_PTR 無符號(hào)的LONG_PTR型
PULONG ULONG* 一個(gè)ULONG型指針
PULONGLONG ULONGLONG* 一個(gè)ULONGLONG型指針
WORD unsigned short 16位無符號(hào)整型
PWORD WORD near* 一個(gè)WORD型指針
LPWORD WORD far* 一個(gè)WORD型指針
DWORD unsigned long 32位無符號(hào)整數(shù)
DWORD32 32位無符號(hào)整型
DWORD64 64位無符號(hào)整型
DWORD_PTR Unsigned long type for pointer precision.Use when casting a pointer to a long type to perform pointer arithmetic.(Also commonly used for general 32-bit parameters that have been extended to 64 bits in 64-bit Windows.
PDWORD DWORD near* 一個(gè)DWORD型指針
LPDWORD DWORD far* 一個(gè)DWORD型指針
FLOAT float 浮點(diǎn)變量
PFLOAT FLOAT near* 一個(gè)FLOAT型指針
---------------------------------------------------
句柄類:
---------------------------------------------------
標(biāo)識(shí)符 實(shí)際類型 意義
HANDLE void* 對(duì)象句柄(32位無符號(hào)整數(shù))
PHANDLE HANDLE NEAR* 一個(gè)HANDLE型指針
SPHANDLE HANDLE NEAR* 一個(gè)HANDLE型指針
LPHANDLE HANDLE FAR* 一個(gè)HANDLE型指針
GLOBALHANDLE HANDLE 一個(gè)全局句柄
HDC HANDLE 設(shè)備描述表(DC)句柄
HBITMAP HANDLE 位圖句柄
HBRUSH HANDLE 畫刷句柄
HICON HANDLE 圖標(biāo)句柄
HCURSOR HICON 光標(biāo)句柄
HPALETTE HANDLE 調(diào)色板句柄
HPEN HANDLE 畫筆句柄
HCONV 動(dòng)態(tài)數(shù)據(jù)交換(DDE)會(huì)話句柄
HACCEL HANDLE 加速鍵表句柄
HCONVLIST DDE會(huì)話列表句柄
HDDEDATA DDE數(shù)據(jù)句柄
HDESK HANDLE 桌面句柄
HDLG 對(duì)話框句柄
HDROP 一個(gè)internal drop structure句柄。
HDWP 延期窗口位置結(jié)構(gòu)句柄
HENHMETAFILE HANDLE 增強(qiáng)圖元文件句柄
HFILE int或short 文件句柄,用于函數(shù)OpenFile,不是CreateFile
HFONT HANDLE 字體句柄
HGDIOBJ HANDLE(void NEAR*) GDI對(duì)象句柄
HGLOBAL HANDLE 全局內(nèi)存塊句柄
HHOOK HANDLE 鉤子句柄
HIMAGELIST 映像列表句柄
HIMC 輸入描述表句柄
HINSTANCE HANDLE 實(shí)例句柄(32位無符號(hào)整數(shù))
HKEY 登記關(guān)鍵字句柄
HKL HANDLE Input locale identifier.
今天調(diào)試了一個(gè)程序,花了2個(gè)小時(shí),先暈一下!主要的錯(cuò)誤是內(nèi)存堆的空間被刪除了大于1次,出現(xiàn)了一個(gè)對(duì)話框,有這個(gè)信息:line:47.大意就是內(nèi)存堆出錯(cuò)。以后要記住這個(gè)錯(cuò)誤!!!
從今天開始學(xué)習(xí)windows編程,這完全是為了應(yīng)對(duì)這次找工作。
1、首先理解windows程序運(yùn)行的一些基本知識(shí)。網(wǎng)址:
http://book.csdn.net/bookfiles/29/index.html,先理解這里面的東西
2、學(xué)習(xí)windows編程書,理解其中的每一個(gè)例子程序。
3、了解操作系統(tǒng)。
媽的,今天當(dāng)了一回白癡!做1125題的時(shí)候,竟然第一時(shí)間想著用廣度優(yōu)先搜索,都沒有仔細(xì)分析題就打算開始寫代碼!其實(shí)就是數(shù)據(jù)結(jié)構(gòu)里面學(xué)習(xí)一個(gè)算法中就行了。哎~~~~,沒想到自己這么白癡,以后怎么進(jìn)步,寫這篇blog就是為了記住這次的教訓(xùn)!以后要分析,分析,再分析!!!
今天上網(wǎng),輸入
www.google.cn,結(jié)果網(wǎng)頁跳轉(zhuǎn)到一個(gè)類似與百度的頁面,但是網(wǎng)址卻寫的是
www.yahoo.com.cn,從頁面上看,絕對(duì)不是百度的網(wǎng)頁,但是奇怪的是可以進(jìn)行搜索。ping了之后發(fā)現(xiàn)三個(gè)網(wǎng)站都來之于同一個(gè)IP地址:
219.235.3.16。這肯定是中了病毒或者木馬之類的東西了,結(jié)果在電腦里面找了半天,查找到了一個(gè)名為host的文件
該文件在system32/drives/etc目錄下。打開host之后,里面的內(nèi)容是:
127.0.0.1 localhost
219.235.3.16 search.114.vnet.cn
219.235.3.16 keyword.vnet.cn
219.235.3.16 auto.search.msn.com
219.235.3.16 search.msn.com
219.235.3.16 cnweb.search.live.com
219.235.3.16 www.360safe.com
219.235.3.16 www.k369.com
219.235.3.16 www.5566.net
219.235.3.16 360safe.com
202.165.102.243 update.360safe.com
219.235.3.16 dl.360safe.com
219.235.3.16 down.360safe.com
219.235.3.16 bbs.360safe.com
219.235.3.16 kaba.360safe.com
219.235.3.16 baike.360safe.com
219.235.3.16 www.360.cn
219.235.3.16 360.cn
219.235.3.16 wopti.360.cn
202.165.102.243 update.360.cn
219.235.3.16 dl.360.cn
219.235.3.16 down.360.cn
219.235.3.16 bbs.360.cn
219.235.3.16 kaba.360.cn
219.235.3.16 baike.360.cn
219.235.3.16 360.qihoo.com
219.235.3.16 360safe.qihoo.com
219.235.3.16 forum.ikaka.com
219.235.3.16 www.ikaka.com
202.165.102.243 update.ikaka.com
219.235.3.16 forum.jiangmin.com
202.165.102.243 update.jiangmin.com
219.235.3.16 tieba.baidu.com
219.235.3.16 post.baidu.com
219.235.3.16 zhidao.baidu.com
219.235.3.16 www.baidu.com
202.165.102.243 update.rising.com.cn
219.235.3.16 online.rising.com.cn
202.165.102.243 center.rising.com.cn
219.235.3.16 up.duba.net
219.235.3.16 vi.duba.net
219.235.3.16 shadu.baidu.com
219.235.3.16 du.baidu.com
219.235.3.16 security.symantec.com
219.235.3.16 shadu.duba.net
219.235.3.16 bbs.duba.net
219.235.3.16 www.duba.net
219.235.3.16 online.jiangmin.com
219.235.3.16 cn.mcafee.com
219.235.3.16 www.ahn.com.cn
219.235.3.16 www.kaspersky.com.cn
219.235.3.16 www.pcav.cn
219.235.3.16 www.luosoft.com
219.235.3.16 www.im286.com
219.235.3.16 an.baidu.com
219.235.3.16 ma.baidu.com
219.235.3.16 bbs.htmlman.net
202.165.102.243 download.rising.com.cn
202.165.102.243 rsup08.rising.com.cn
219.235.3.16 10000.286er.com
219.235.3.16 im286.net
219.235.3.16 ju.qihoo.com
219.235.3.16 bbs.chinaz.com
219.235.3.16 www.qihoo.com
202.165.102.243 dnl-cn1.kaspersky-labs.com
202.165.102.243 dnl-cn2.kaspersky-labs.com
202.165.102.243 dnl-cn3.kaspersky-labs.com
202.165.102.243 dnl-cn4.kaspersky-labs.com
202.165.102.243 dnl-cn5.kaspersky-labs.com
202.165.102.243 dnl-cn6.kaspersky-labs.com
202.165.102.243 dnl-cn7.kaspersky-labs.com
202.165.102.243 dnl-cn8.kaspersky-labs.com
202.165.102.243 dnl-cn9.kaspersky-labs.com
202.165.102.243 dnl-cn10.kaspersky-labs.com
202.165.102.243 dnl-cn11.kaspersky-labs.com
202.165.102.243 dnl-cn12.kaspersky-labs.com
202.165.102.243 dnl-cn13.kaspersky-labs.com
202.165.102.243 dnl-cn14.kaspersky-labs.com
202.165.102.243 dnl-cn15.kaspersky-labs.com
202.165.102.243 dnl-eu1.kaspersky-labs.com
202.165.102.243 dnl-eu2.kaspersky-labs.com
202.165.102.243 dnl-eu3.kaspersky-labs.com
202.165.102.243 dnl-eu4.kaspersky-labs.com
202.165.102.243 dnl-eu5.kaspersky-labs.com
202.165.102.243 dnl-eu6.kaspersky-labs.com
202.165.102.243 dnl-eu7.kaspersky-labs.com
202.165.102.243 dnl-eu8.kaspersky-labs.com
202.165.102.243 dnl-eu9.kaspersky-labs.com
202.165.102.243 dnl-eu10.kaspersky-labs.com
202.165.102.243 dnl-eu11.kaspersky-labs.com
202.165.102.243 dnl-eu12.kaspersky-labs.com
202.165.102.243 dnl-eu13.kaspersky-labs.com
202.165.102.243 dnl-eu14.kaspersky-labs.com
202.165.102.243 dnl-eu15.kaspersky-labs.com
202.165.102.243 dnl-us1.kaspersky-labs.com
202.165.102.243 dnl-us2.kaspersky-labs.com
202.165.102.243 dnl-us3.kaspersky-labs.com
202.165.102.243 dnl-us4.kaspersky-labs.com
202.165.102.243 dnl-us5.kaspersky-labs.com
202.165.102.243 dnl-us6.kaspersky-labs.com
202.165.102.243 dnl-us7.kaspersky-labs.com
202.165.102.243 dnl-us8.kaspersky-labs.com
202.165.102.243 dnl-us9.kaspersky-labs.com
202.165.102.243 dnl-us10.kaspersky-labs.com
202.165.102.243 dnl-us11.kaspersky-labs.com
202.165.102.243 dnl-us12.kaspersky-labs.com
202.165.102.243 dnl-us13.kaspersky-labs.com
202.165.102.243 dnl-us14.kaspersky-labs.com
202.165.102.243 dnl-us15.kaspersky-labs.com
202.165.102.243 dnl-ru1.kaspersky-labs.com
202.165.102.243 dnl-ru2.kaspersky-labs.com
202.165.102.243 dnl-ru3.kaspersky-labs.com
202.165.102.243 dnl-ru4.kaspersky-labs.com
202.165.102.243 dnl-ru5.kaspersky-labs.com
202.165.102.243 dnl-ru6.kaspersky-labs.com
202.165.102.243 dnl-ru7.kaspersky-labs.com
202.165.102.243 dnl-ru8.kaspersky-labs.com
202.165.102.243 dnl-ru9.kaspersky-labs.com
202.165.102.243 dnl-ru10.kaspersky-labs.com
202.165.102.243 dnl-ru11.kaspersky-labs.com
202.165.102.243 dnl-ru12.kaspersky-labs.com
202.165.102.243 dnl-ru13.kaspersky-labs.com
202.165.102.243 dnl-ru14.kaspersky-labs.com
202.165.102.243 dnl-ru15.kaspersky-labs.com
202.165.102.243 dnl-jp1.kaspersky-labs.com
202.165.102.243 dnl-jp2.kaspersky-labs.com
202.165.102.243 dnl-jp3.kaspersky-labs.com
202.165.102.243 dnl-jp4.kaspersky-labs.com
202.165.102.243 dnl-jp5.kaspersky-labs.com
202.165.102.243 dnl-jp6.kaspersky-labs.com
202.165.102.243 dnl-jp7.kaspersky-labs.com
202.165.102.243 dnl-jp8.kaspersky-labs.com
202.165.102.243 dnl-jp9.kaspersky-labs.com
202.165.102.243 dnl-jp10.kaspersky-labs.com
202.165.102.243 dnl-jp11.kaspersky-labs.com
202.165.102.243 dnl-jp12.kaspersky-labs.com
202.165.102.243 dnl-jp13.kaspersky-labs.com
202.165.102.243 dnl-jp14.kaspersky-labs.com
202.165.102.243 dnl-jp15.kaspersky-labs.com
202.165.102.243 dnl-kr1.kaspersky-labs.com
202.165.102.243 dnl-kr2.kaspersky-labs.com
202.165.102.243 dnl-kr3.kaspersky-labs.com
202.165.102.243 dnl-kr4.kaspersky-labs.com
202.165.102.243 dnl-kr5.kaspersky-labs.com
202.165.102.243 dnl-kr6.kaspersky-labs.com
202.165.102.243 dnl-kr7.kaspersky-labs.com
202.165.102.243 dnl-kr8.kaspersky-labs.com
202.165.102.243 dnl-kr9.kaspersky-labs.com
202.165.102.243 dnl-kr10.kaspersky-labs.com
202.165.102.243 dnl-kr11.kaspersky-labs.com
202.165.102.243 dnl-kr12.kaspersky-labs.com
202.165.102.243 dnl-kr13.kaspersky-labs.com
202.165.102.243 dnl-kr14.kaspersky-labs.com
202.165.102.243 dnl-kr15.kaspersky-labs.com
202.165.102.243 dnl-cd1.kaspersky-labs.com
202.165.102.243 dnl-cd2.kaspersky-labs.com
202.165.102.243 dnl-cd3.kaspersky-labs.com
202.165.102.243 dnl-cd4.kaspersky-labs.com
202.165.102.243 dnl-cd5.kaspersky-labs.com
202.165.102.243 dnl-cd6.kaspersky-labs.com
202.165.102.243 dnl-cd7.kaspersky-labs.com
202.165.102.243 dnl-cd8.kaspersky-labs.com
202.165.102.243 dnl-cd9.kaspersky-labs.com
202.165.102.243 dnl-cd10.kaspersky-labs.com
202.165.102.243 dnl-cd11.kaspersky-labs.com
202.165.102.243 dnl-cd12.kaspersky-labs.com
202.165.102.243 dnl-cd13.kaspersky-labs.com
202.165.102.243 dnl-cd14.kaspersky-labs.com
202.165.102.243 dnl-cd15.kaspersky-labs.com
202.165.102.243 downloads1.kaspersky-labs.com
202.165.102.243 downloads2.kaspersky-labs.com
202.165.102.243 downloads3.kaspersky-labs.com
202.165.102.243 downloads4.kaspersky-labs.com
202.165.102.243 downloads5.kaspersky-labs.com
219.235.3.16 rss.360safe.com
219.235.3.16 x.360safe.com
219.235.3.16 d.360safe.com
219.235.3.16 updatem.360safe.com
219.235.3.16 softm.360safe.com
219.235.3.16 ishare.sina.com.cn
219.235.3.16 search.cn.yahoo.com
219.235.3.16 www.google.com
219.235.3.16 google.com
219.235.3.16 www.google.cn
219.235.3.16 www.yahoo.com.cn
219.235.3.16 cn.yahoo.com
219.235.3.16 search.tom.com
219.235.3.16 zhuansha.duba.net
219.235.3.16 buy.duba.net
219.235.3.16 kad.www.duba.net
219.235.3.16 cu001.www.duba.net
219.235.3.16 cu002.www.duba.net
219.235.3.16 cu003.www.duba.net
219.235.3.16 cu004.www.duba.net
219.235.3.16 cu005.www.duba.net
219.235.3.16 cu010.www.duba.net
219.235.3.16 client.download.duba.net
219.235.3.16 page.so.163.com
219.235.3.16 www.soso.com
219.235.3.16 sou.china.com
219.235.3.16 test.591jx.com
219.235.3.16 a.topxxxx.cn
219.235.3.16 picon.chinaren.com
219.235.3.16 www.5566.net
127.0.0.1 p.qqkx.com
127.0.0.1 news.netandtv.com
127.0.0.1 z.neter888.cn
127.0.0.1 b.myblank.cn
127.0.0.1 wvw.wokutu.com
127.0.0.1 unionch.qyule.com
127.0.0.1 www.qyule.com
127.0.0.1 it.itjc.cn
127.0.0.1 www.linkwww.com
127.0.0.1 vod.kaicn.com
127.0.0.1 www.tx8688.com
127.0.0.1 b.neter888.cn
127.0.0.1 promote.huanqiu.com
127.0.0.1 www.huanqiu.com
127.0.0.1 www.haokanla.com
127.0.0.1 play.unionsky.cn
127.0.0.1 www.52v.com
127.0.0.1 www.gghka.cn
127.0.0.1 icon.ajiang.net
127.0.0.1 new.ete.cn
127.0.0.1 www.stiae.cn
127.0.0.1 o.neter888.cn
127.0.0.1 comm.jinti.com
127.0.0.1 www.google-analytics.com
127.0.0.1 hz.mmstat.com
127.0.0.1 www.game175.cn
127.0.0.1 x.neter888.cn
127.0.0.1 z.neter888.cn
127.0.0.1 p.etimes888.com
127.0.0.1 hx.etimes888.com
127.0.0.1 abc.qqkx.com
127.0.0.1 dm.popdm.cn
127.0.0.1 www.yl9999.com
127.0.0.1 www.dajiadoushe.cn
127.0.0.1 down.nihao29.cn
127.0.0.1 v.onondown.com.cn
127.0.0.1 www.interoo.net
127.0.0.1 bally1.bally-bally.net
127.0.0.1 www.bao5605509.cn
127.0.0.1 down.nihao29.cn
127.0.0.1 www.mzd020.cn
127.0.0.1 jzm015.cn
127.0.0.1 down.hs7yue.cn
127.0.0.1 new.doups.cn
127.0.0.1 w.qq-uc.cn
127.0.0.1 down.nihao69.cn
127.0.0.1 www.rty456.cn
127.0.0.1 www.werqwer.cn
127.0.0.1 1.360-1.cn
127.0.0.1 user1.23-16.net
127.0.0.1 www.guccia.net
127.0.0.1 www.interoo.net
127.0.0.1 upa.netsool.net
127.0.0.1 js.users.51.la
127.0.0.1 vip2.51.la
127.0.0.1 web.51.la
127.0.0.1 qq.gong2008.com
127.0.0.1 2008tl.copyip.com
127.0.0.1 tla.laozihuolaile.cn
127.0.0.1 www.tx6868.cn
127.0.0.1 p001.tiloaiai.com
127.0.0.1 s1.tl8tl.com
127.0.0.1 s1.gong2008.com
刪除了該文件之后,結(jié)果IE正常。但是我懷疑應(yīng)該有exe或者dll文件存在在電腦里面,因?yàn)镮E來讀取這個(gè)文件,而且ping命令也是讀取這個(gè)文件,但是查找半天都沒有找到。希望大家有誰遇到過類似的問題,幫我解決一下。謝謝了。
不知道大家對(duì)這個(gè)原理了解嗎?可以探討一下!
一般要做到50行以內(nèi)的程序不用調(diào)試、100行以內(nèi)的二分鐘內(nèi)調(diào)試成功.acm主要是考算法的
,主要時(shí)間是花在思考算法上,不是花在寫程序與debug上。
下面給個(gè)計(jì)劃你練練:
第一階段:
練經(jīng)典常用算法,下面的每個(gè)算法給我打上十到二十遍,同時(shí)自己精簡代碼,
因?yàn)樘S茫砸毜綄憰r(shí)不用想,10-15分鐘內(nèi)打完,甚至關(guān)掉顯示器都可以把程序打
出來.
1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成樹(先寫個(gè)prim,kruscal要用并查集,不好寫)
3.大數(shù)(高精度)加減乘除
4.二分查找. (代碼可在五行以內(nèi))
5.叉乘、判線段相交、然后寫個(gè)凸包.
6.BFS、DFS,同時(shí)熟練hash表(要熟,要靈活,代碼要簡)
7.數(shù)學(xué)上的有:輾轉(zhuǎn)相除(兩行內(nèi)),線段交點(diǎn)、多角形面積公式.
8. 調(diào)用系統(tǒng)的qsort, 技巧很多,慢慢掌握.
9. 任意進(jìn)制間的轉(zhuǎn)換
第二階段:
練習(xí)復(fù)雜一點(diǎn),但也較常用的算法。
如:
1. 二分圖匹配(匈牙利),最小路徑覆蓋
2. 網(wǎng)絡(luò)流,最小費(fèi)用流。
3. 線段樹.
4. 并查集。
5. 熟悉動(dòng)態(tài)規(guī)劃的各個(gè)典型:LCS、最長遞增子串、三角剖分、記憶化dp
6.博弈類算法。博弈樹,二進(jìn)制法等。
7.最大團(tuán),最大獨(dú)立集。
8.判斷點(diǎn)在多邊形內(nèi)。
9. 差分約束系統(tǒng).
10. 雙向廣度搜索、A*算法,最小耗散優(yōu)先.
第三階段:
前兩個(gè)階段是打基礎(chǔ),第三階段是鍛煉在比賽中可以快速建立模型、想新算法
。這就要平時(shí)多做做綜合的題型了。
1. 把oibh上的論文看看(大概幾百篇的,我只看了一點(diǎn)點(diǎn),呵呵)。
2. 平時(shí)掃掃zoj上的難題啦,別老做那些不用想的題.(中大acm的版主經(jīng)常說我挑簡單的來
做:-P )
3. 多參加網(wǎng)上的比賽,感受一下比賽的氣氛,評(píng)估自己的實(shí)力.
4. 一道題不要過了就算,問一下人,有更好的算法也打一下。
5. 做過的題要記好 :-)
摘要: 今天早上終于提交成功了!這道題做了有一個(gè)星期多了,老是找不到原因。今天在偶然間發(fā)現(xiàn)了,先將代碼貼出來,還請(qǐng)大家指正!感謝steven和一個(gè)匿名網(wǎng)友的建議,謝謝你們!但是程序運(yùn)行的時(shí)間還是過長,希望大家能夠幫助修改。
1#include <stdio.h> ...
閱讀全文