Time of Update: 2018-12-07
單繼承衍生類別只有一個基類或虛基類,根據4個優先順序別容易確定構造順序:首先調用衍生類別虛基類的建構函式;無論虛基類的建構函式列出否總會被執行; 接著調用衍生類別基類的建構函式,無論基類的建構函式列出與否總會被執行;然後按照衍生類別資料成員聲明的順序,依次初始化資料成員或調用相應建構函式,對象成員無論列出與否總會被構造;在然後最後執行衍生類別的建構函式體。析構是構造的逆序,所以反過來就行。 #include <iostream.h>#include<stdio.h>#
Time of Update: 2018-12-07
C++ code:#include <iostream>#include <cstdio>using namespace std;struct heights{long tallest, shortest;}T[131072], Ans;int main(){long N, Q, n, M, i, height, A, B;while(scanf("%ld%ld", &N, &Q) != -1){n = N + 1;M = 1;while(n){n
Time of Update: 2018-12-07
C++ code:#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define lowbit(i) (i & -i);using namespace std;struct lines{long l, r, i;}line[30001];bool cmp_1(lines, lines);bool cmp_2(lines,
Time of Update: 2018-12-07
http://acm.hdu.edu.cn/showproblem.php?pid=4414sb題啊,我wa了好久,你妹妹。。就是暴力枚舉,然後我的方法是在檢查每一位的時候檢查他的相鄰位,是否符合條件,隊友的方法是後面來次dfs、、其實都一樣。。View Code #include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>using namespace
Time of Update: 2018-12-07
http://acm.hdu.edu.cn/showproblem.php?pid=4417你妹妹的 cin cout scanf printf.是差了好遠呀,cin cout 會wa但scanf printf就ac了。。瞭解了eaual_range()的神奇操作。。做法就是線段樹,vector很強大。。View Code
Time of Update: 2018-12-07
關於LCA和RMQ問題一、最近公用祖先(Least Common
Time of Update: 2018-12-07
雖然不知道為什麼……C++ code:#include <iostream>#include <cstdio>#include <cstring>#define MAXN 200#define inf 1000000000using namespace std;int limit_max_flow(int, int [][MAXN], int [][MAXN], int, int, int [][MAXN]);void _max_flow(int, int [
Time of Update: 2018-12-07
http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2966之前看題的時候沒有注意到每一個數最後都會有了迴圈這句話,解決了這個問題後又開始擔心數組太大開不下10的9次方。但討論了下最大的那個數也是81*10所以開1000就夠了。然後我們設定一個visit數組,來表示數字是否出現過,,以及出現了幾次。對於讀入的兩個數a,b
Time of Update: 2018-12-07
http://poj.org/problem?id=1330這個是tarjian離線的版本:對於一個父親的所有孩子。我們都去遞迴Lca。如果當前點是要詢問的那個兩個點中的一個而且另外一個已經訪問過了。就輸出。方法一:Tarjan離線演算法 在學習離線演算法的時候先需要先鞏固一下深度搜尋,並查集
Time of Update: 2018-12-07
http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=11975#problem/D用f【i】【j】表示i號城堡到j號城堡所需要的魔法值。首先要用floyd算出任意兩個城市之間到達所需要的最小魔法值。然後用t【i】【j】表示i號城堡從j-1號房間到達j號房間所需要的時間。用dp【k】【i】【j】表示當前魔法值為k到達i號城堡j號房間所需要的最短時間。如果已經知道了dp【k】【i】【j】那麼我們就可以推出dp【k】【i】【j+1】,也可
Time of Update: 2018-12-07
http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3736解題:題目理解很關鍵。。因為只有兩種顏色。。所以二進位枚舉。。。 如果出現某一個集合只有一種顏色(全為0,或者全為1)返回false,否則返回true。。蛋疼的是讀入。。蛋碎了一地。。用了stringstream搞定http://www.cppblog.com/
Time of Update: 2018-12-07
尼瑪。。 一個 long long 調了 兩天 。。解題:我們 可以沿著某一條從1到n的路線走下去,看能否找到合適的答案。。剪枝就是:1: 走過的不在走 記憶話搜尋。。2: 如果某一點不是k的約數或者大於k或者和前面相等,不在往下走。。注意:因為k的約數的範圍可能特別大,數組放不下,所以用map雜湊。。用vector建立鄰接表。。View Code #include<iostream>#include<string.h>#include<stdio.h&
Time of Update: 2018-12-07
首先我們必須明白這這3者在該環境下發揮的作用。1.nginx:("engine x") 是一個高效能的 HTTP 和 反向 Proxy
Time of Update: 2018-12-07
http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=11975#problem/I一道機率題。還是遞推題。用dp[pre][i][j]表示當前有i道正確的題,j道不正確的題。用dp[now][i][j]表示下一個狀態有i道正確的題,j道不正確的題。如果當前是w同學,那麼他有兩種選擇。改錯一道題,或者不做任何改變。要是改錯的話,他只能從對的裡面選一道。如果要是不動的話那麼他將會從錯的題裡面選擇,而且選擇的錯的題不能是之前改過的。所以狀
Time of Update: 2018-12-07
文章目錄 不過有幾點需要補充的:五、訪問統計:
Time of Update: 2018-12-07
http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3735給了二叉樹的先序遍曆給成後續遍曆。。解題: 分而治之。。View Code #include<iostream>#include<string.h>#include<algorithm>#include<stdio.h&
Time of Update: 2018-12-07
很多人瞭解Session和Cookie的區別,其實Session和Cookie是有非常密切聯絡的。可以這麼說,瀏覽器禁用了Cookie,伺服器端的Session也將失效。Http協議本身是無狀態的,Session機制在一定程度上解決了Web應用狀態問題。伺服器判斷Session唯一性是通過每個Session專屬的Session ID,通過在每次http傳輸的訊息中附帶Session ID解決了維持工作階段狀態的問題。那麼Seesion的維持和Cookie有什麼關係呢?(閱讀全文)
Time of Update: 2018-12-07
http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=11975#problem/B一道數學題,根據反射定律求a關於斜邊的對稱點a‘的座標(x,y)。根據點到直線的距離可以列出方程 h-a=y-kx-h。根據向量垂直可以列出x+ky-ka=0;解得x=2(a-h)/(1/k+k) y=(ka-x)/k其中k為轉化後的斜率,要注意斜率是負的。圓周率
Time of Update: 2018-12-07
http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3734解題 :暴力枚舉,二進位枚舉狀態。。View Code
Time of Update: 2018-12-07
http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2967要先找到最深的深度,然後用奇偶性來標識是做交運算還是補運算。奇數表示做叫運算,偶數表示補運算。然後注意的一點就是要用全域變數i,這樣就解決了重複算的問題。值得注意。#include<iostream>#include<string.h>#