Time of Update: 2018-12-03
系統內容:Windows 7軟體環境:Visual Studio 2008 SP1本次目的:實現CMFCButton類的初步使用 在VS2008SP1中,加入了BCG中很多有用的控制項,這些例子可以在VS2008SP1檔案夾下查看,有一個New
Time of Update: 2018-12-03
系統內容:Windows 7軟體環境:Visual Studio 2008 SP1本次目的:實現全域熱鍵的效果 我們知道,通常在聊QQ的時候有新資訊到來的時候,同步選取Ctrl+Alt+Z就能彈出新訊息的聊天視窗。現在讓我們來實現系統熱鍵。步驟一:建立一個基於對話方塊的工程,名稱任意;步驟二:在對話方塊標頭檔的訊息映射函數 裡面添加以下函數:afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM
Time of Update: 2018-12-03
此題對kruskal演算法做了變形,不是求最小產生樹,而是求最大邊權值與最小邊權值之差最小的產生樹,同樣可以用kruskal演算法的實現方法,採用並查集。如果求最小產生樹要將邊加入到堆中,並且不需要遍曆所有的產生樹情況//此題對kruskal演算法做了變形,不是求最小產生樹//而是求最大邊權值與最小邊權值之差最小的產生樹//同樣可以用kruskal演算法的實現方法,採用並查集#include <iostream>#include <stdlib.h>#include &
Time of Update: 2018-12-03
死了都要編不動態規劃不痛快演算法多深只有這樣才足夠表白死了都要編不A星演算法不痛快宇宙毀滅星還在把每天當成是比賽來編程一分一秒都編到汗水掉下來不理會別人是搜尋或貪心只要你勇敢跟我編編不用刻意安排憑感覺去編程提交就會很愉快享受現在別一提交就怕WRONG
Time of Update: 2018-12-03
最近各科的作業全部上來了,導致ACM沒有時間做,計劃元旦前後將所有作業搞定,之後準備考試,還有一段時間的GRE班,估計下次做題學演算法的時候已經快要過年了。不管怎麼樣,過年期間也不可鬆懈,爭取每天也做2-3題,為明年校賽做準備,加油吧 堅定走自己的路,積極地過好每一天,沉下心來每天實實在在練練編程,把握住未來的機會!加油! 發一篇心情日誌自我鼓勵一下
Time of Update: 2018-12-03
poj 1028 Web NavigationTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 17718 Accepted: 7751DescriptionStandard web browsers contain features to move backward and forward among the pages recently visited. One way to implement these
Time of Update: 2018-12-03
此題求牛從起點到終點路徑中最大權值最小的那條路徑,將Floyd演算法稍作修改即可,注意此題輸入輸出處理不當可能引起逾時,一般scanf及printf更節省時間。#include <iostream>#include <cstdio>#define MAX_VEX 305#define MAX_WEI 1000005using namespace std;int A[MAX_VEX][MAX_VEX];//用cin,cout會逾時int main(){int
Time of Update: 2018-12-03
典型的prim演算法這類題目可以稍作變形,比如POJ2421#include <iostream>#include <map>#define MAXN 102typedef long elem_t;using namespace std;elem_t prim(int n,elem_t mat[MAXN][MAXN]){ elem_t closeEdge[MAXN],sum=0,min; int i,j,k; for(i = 0; i < n;
Time of Update: 2018-12-03
這是我面試一個公司的時候碰到的面試題Q 請用兩個棧類比實現隊列,至少完成入隊、出隊及計算長度的方法A 基本思路是兩次後進先出 = 先進先出,元素入隊列總是入左棧,元素出隊列如果右棧不為空白直接彈出右棧頭元素;如果右棧為空白就把左棧元素出棧全部壓入右棧,再彈出右棧頭,這樣就類比出了一個隊列。Class Q{ stack<int> S1,S2; void push(int a){S1.push(a);}int
Time of Update: 2018-12-03
首先自己練習了一下實現dijkstra演算法,可以把dj演算法與prim演算法對比記憶,要理解pre數組、min數組、V標記數組的含義!//單源最短路徑,dijkstra演算法,鄰接陣形式,複雜度O(n^2)//求出源s到所有點的最短路經,傳入圖的頂點數n,(有向)鄰接矩陣mat//返回到各點最短距離min[]和路徑pre[],pre[i]記錄s到i路徑上i的父結點,pre[s]=-1//可更改路權類型,但必須非負!//可以把dj演算法與prim演算法對比記憶,要理解pre數組、min數組、V標
Time of Update: 2018-12-03
還是最小產生樹prim演算法,套用的浙大模板#include <iostream>#define MAXN 28#define inf 10000typedef int elem_t;using namespace std;elem_t prim(int n,elem_t mat[MAXN][MAXN],int* pre){ elem_t min[MAXN],ret=0; int v[MAXN],i,j,k; for (i=0;i<n;i++)
Time of Update: 2018-12-03
POJ 1013 Counterfeit DollarTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 27117 Accepted: 8460DescriptionSally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit
Time of Update: 2018-12-03
演算法分析:先對木棍結構體數組按照l排序,消除一個變數的幹擾,然後再找w連續上升的子序列。用臨時變數temp,遇到更大的作更新,且標記為0,採用貪心策略去找有幾個連續上升的子序列#include <iostream>#include <cstdlib>using namespace std;typedef struct stick{int l;int w;}stick;int cmp(const void *a,const void *b){
Time of Update: 2018-12-03
#include <iostream>using namespace std;//要求第一個人就必須報數,因此第一個人總是最先被刪除的。//因此可以把該問題看成是n-1個人的問題。題目就轉變為,//在n-1個人的規模下,滿足0號是最後勝利者的最小的M。int main(){int i,n,m,k;while(cin>>n,n){for(m = 1;;m++){k = 0;for (i = 2; i < n;i++)k =
Time of Update: 2018-12-03
首先要區分#include <cstdlib> 中的qsort與C++ STL algorithm中的sort,後者只有三個參數且比較函數寫法較簡單些 類似於POJ 1065,差異有二,其一是排序方式下降,其二是要求下降且不相等但是用常規的貪心會逾時,用二分最佳化後不逾時,注意對l遞增排,對w遞減排// 類似於POJ 1065,差異有二,其一是排序方式下降,其二是要求下降且不相等// 上面這種解法會逾時,用二分最佳化後不逾時,注意對l遞增排,對w遞減排#include
Time of Update: 2018-12-03
參考了slayer 的解答http://www.slyar.com/blog/poj-1029-cpp.html 與POJ 1013類比類比題,抓兩點,其一在等式中出現的硬幣一定不是假幣,其二在不等式中每次都出現即在不等式中出現的次數等於它出現的次數,一定是假幣其他情況無法判斷輸出0#include <iostream>#include <string>using namespace std;const int MAX = 1001;int main(){int i,
Time of Update: 2018-12-03
#include <iostream>using namespace std;int main(){int n,rc[101][101];int i,j,tempsr[101],tempsc[101],x[101],y[101];while(cin>>n,n!=0){for (i = 0;i < n;i++)for (j = 0;j < n;j++)cin>>rc[i][j];//若行的奇數和的個數不等於列的奇數和的個數則Corrupt//若均為0
Time of Update: 2018-12-03
系統內容:Windows 7軟體環境:Visual Studio 2008 SP1本次目的:實現Syslink Control超連結的效果 我們知道在VS2008中,VC裡面多了syslink controls,command 、 split buttons 和 network address controls。對於Syslink Control的使用,將在此介紹。目前該控制項支援帶HREF 和 ID的錨定標記<a>,MSDN如下說明:An HREF may be of
Time of Update: 2018-12-03
這題勾起我傷心的回憶啊就是這題,在北信夏令營測試上面作為D題原題,卡了我兩三個小時,眼睜睜看著做過此題的ACMER們搶走機會,痛哉~Orz知恥而後勇,AC300發誓堅持到底,為尊嚴而戰演算法分析:其實這就是個簡單的類比題,用數組做就行,根本沒必要用棧,當時還在反覆想怎麼用棧的STL,暈。用一個數組sequence很容易根據給出的P序列來還原括弧序列,1代表作左括弧,0代表右括弧,每次賦值0之前先賦足夠的1在它之前。然後根據sequence數組輸出w序列,掃描數組,每遇到一個左括弧,就計數它前面還
Time of Update: 2018-12-03
基本思路就是求逆序數然後根據逆序數排序,出現的問題有:1、這題出現的問題主要是對m和n總是搞混,而且提交出現了Runtime Error,這個錯誤一般都是由於一般都是非法訪問記憶體(數組越界、訪問null 指標、堆疊溢位)、做除法時除以了0 等造成的,後來仔細看了一下“a positive integer n (0 < n <= 50) giving the length of the strings; and a positive integer m (0 < m <=