Time of Update: 2018-12-03
1、頁表的資料結構頁號標誌主存塊號修改位外存地址struct PageItem { unsigned pageID; // 作業的頁號 unsigned outMAddr; // 該頁在外存上的地址 bool state; // 該頁是否調入記憶體,若未調入記憶體,則blockID和modify欄位無效 unsigned blockID; //
Time of Update: 2018-12-03
是一道二分圖最大獨立集的裸題,,,就是看著麻煩了點,,其實很簡單。題目:Guardian of DecencyTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 3584 Accepted: 1493DescriptionFrank N. Stein is a very conservative high-school teacher. He wants to take some of his students
Time of Update: 2018-12-03
題目大意:求N個矩形的並的總面積。http://poj.org/problem?id=1151參考了黑書上講離散化的那兩頁,想到了上學期學的電腦圖形學裡的多邊形填充演算法。src:/********************************************************************created:2013/03/28created:28:3:2013 11:43filename: H:\PE\USA\POJ.1151.Atlantis.cppfile
Time of Update: 2018-12-03
一、先來先服務#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <new>#include <string>#include <cstdio>using namespace std;unsigned int sysTime = 0;// 類比系統的時鐘,每運行一次就加1enum Status {Ready, Complete};//
Time of Update: 2018-12-03
分析 這是我第一次在ACM的題目中用OO的思想寫的程式,看到標程,竟不謀而合,結構是類似的。對正方形這個類分析,將會使問題變得簡單,我覺得OO的分析和設計挺關鍵的,其實我一開始也沒設計好,原先準備把7個bool函數當成類的成員方法,其實這個設計是不好的,有點過了。其實應該是把旋轉90度和軸對稱這兩個方法作為類的成員方法,這樣main中調用就方便自如了。 最後,我覺得搞ACM,不僅是把題目A掉,同時也應注意程式的結構設計,因為”程式是給人看的“。2013/3/31
Time of Update: 2018-12-03
數組傳參很常見,在C/C++中傳遞數組時,數組名會退化為指標,所以一般都要給出首地址和長度。這是有缺陷的,當我們在寫函數時不知道各維大小時該怎麼辦呢?下面用矩陣乘法作為例子,給出三種實現方法:GP, flattening the array, struct其中我認為flattening the array 這種方法最好,OpenGL中的glMaplf 函數用的正是這種方法,它的函數原型如下:void glMap1f(GLenum target, GLfloat uMin, GLfloat
Time of Update: 2018-12-03
四則運算Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MBTotal Submission: 82 Submission Accepted: 24Description給定一個四則運算運算式,包括 + - * / ( ),計算結果Input有N行輸入,每行有一個四則運算運算式,不超過10個數字ai( 1 < = i < = 10 )。為了簡便定 0 < = ai < =
Time of Update: 2018-12-03
“模板參數推導機制無法推導函數的傳回值類型”,不知道這是什麼意思。下面這個例子是不是說明這個問題的?#include <iostream>using namespace std;int Foo(){return 1;}template <class T>T Foobar(){return Foo();}int main(int argc, char **argv){//cout << Foobar() << endl;// error C2783:
Time of Update: 2018-12-03
從AOJ的塔,到POJ的ferry loading,ferry loading到浙江省賽的第7題Process the
Time of Update: 2018-12-03
旋轉字串是個經典問題。要求:時間複雜度O(n),空間複雜度O(1)。介面描述:http://www.sgi.com/tech/stl/rotate.html《編程珠璣》、《編程之美》上都有這個問題,關於左旋右旋整個旋的方法我就不說了。我的想法是,先左右比較,長的一段的大部分移到另一端,再遞迴進行餘下的。比如:char str1[] = "abcdefghijklmnopqrstuvwxyz";int mid = 3;// 從第mid個位置對調size_t len =
Time of Update: 2018-12-03
相對水的一道樹形DP,把父子關係想清楚了就容易多了題意:給出一部分節點的資訊,問你這部分資訊有沒有衝突。大致題意。詳細自己看。解題思路:我的想法是給通過兩個數組表示各個節點的上下限,如果上限小於下限,那麼這是衝突的,上限==下限,表明這點的工資是確定的。
Time of Update: 2018-12-03
一個月之前的今天是我的生日,一位關係不錯的同學送了我本《STL源碼剖析》,還有位送了我本《C和指標》,我就看起來了,這些天都在考試,就經常晚上11點半過後拿個手電筒看,我特別認可一句話:“興趣是最好的老師。”
Time of Update: 2018-12-03
這是個很明顯的DP題目,排序之後容易想到DP方程為dp【i】 = dp【j】 + w【j + 1,i】然而4*10^5次方明顯TLE,必須得最佳化,因為是一維的狀態表示,所以四邊形最佳化應該不可行(個人做題太少了,沒見過一維的四邊形最佳化)另外w函數和j有關,所以單調隊列不可行了,只能往斜率最佳化想了,斜率最佳化證明還算容易吧,證出來之後就相當於模板了#include<stdio.h>#include<string.h>#include<algorithm>#
Time of Update: 2018-12-03
自己腦子不靈活,感覺哪根線都與DP接不上軌。。。。。好吧,我先學搜尋,接觸記憶化,再回來膜拜DP了多謝PORKer的錯誤修正,自己太粗心了,連個排序也錯。。。。謝謝他長期以來的錯誤修正#include<stdio.h>#include<stdlib.h>#include<string.h>struct node{ int a,b,h;}data[200];int hash[200];int cmp(const void*a,const void*b){
Time of Update: 2018-12-03
“滿二叉樹(full)”的定義在國內和國外完全不同,國內指“完美二叉樹(perfect)”,國外指“正則二叉樹(strict)”,所以我建議國內外都取消“滿二叉樹(full)”這個叫法,這樣就沒有不必要的麻煩了。總結如下:參考資料:http://www.stackpop.org/html/366_cn_us_difference_ds.htmlhttp://stackoverflow.com/questions/12359660/difference-between-complete-binar
Time of Update: 2018-12-03
弄個模版也能花一天。。。。太佩服我自己了。。。。root的初始化都沒弄好。。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<queue>#define val 10005using namespace std;struct Dictree{int cnt;Dictree *fail,*next[26];}*root;queue<Dictree*> q;int
Time of Update: 2018-12-03
有點疑惑,這個題目用DFS和bfs在時間複雜度上面有什麼區別嗎?先把BFS的儲存下來,自己寫個DFS看下#include<stdio.h>#include<string.h>#define Max 10000typedef struct node{int step;int ceng;}position;typedef struct {int head,tail;struct node a[Max];}queue;bool visited[205];void create(
Time of Update: 2018-12-03
做這題做了一個下午,都快崩潰了。說下要點:1、要注意'w'這種特殊情況,到某位置時,注意左邊、右邊是'w'的情況。2、得把整個項鏈看出迴圈隊列,所以指標移動時注意mod。3、我用的還是暴力法,O(n^2),看解題報告有O(n)的演算法,用的是DP,還有待研究。來源程式#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <string>#include
Time of Update: 2018-12-03
#include<stdio.h>#include<string.h>int c[15],sum,n;int map[15][15];void dfs(int );int main(){ while(scanf("%d",&n)&&n) { sum=0; memset(c,0,sizeof(c)); dfs(0); printf("%d\n",sum);
Time of Update: 2018-12-03
2012、10、30 來到IMUT快兩個月了,才發現自己真的該好好學習演算法了,或許還不算晚!加油~~這道題 囧了好久,原因兩個:1、矩陣乘法現在也不會構造 2、不會尋找迴圈節今天呢,心血來潮學了下如何找迴圈節,看來感覺還不錯,沒有想象中的那麼難。其實這道題就是斐波那契數列 % 7的簡單題,但因為資料量比較大,所以要用到矩陣。但既然是 % 7那就是有迴圈節的。我們大致的估算下0--6 7個數字,按照組合數學的思想最多有49種組合,所以i<50就足夠了。有時間