Time of Update: 2018-12-03
在多核和多線性系統中,需要注意訪問安全,即需要考慮不同的CPU和多線程之間因競爭而存在的互斥關係。比如下面的例子: struct list { int data; struct list *next; }; struct list *list = 0; void insert(int data) { struct list *l; l = malloc(sizeof *l); l->data = data; l->next =
Time of Update: 2018-12-03
#include<stdio.h>int a[99999];int c1[99999];int c2[99999];int d[99999];int b[99999];int main(){int k,i,j,sum,n;while(scanf("%d",&n)!=EOF){sum=0;for(i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];}for(i=0;i<=sum;i++){b[i]=0;c1[i]=0;c2[i]
Time of Update: 2018-12-03
證:易得:舉辦1 場 的 流 是 n則如果 舉辦 d 場 的 流 < n* d 的話 說明 必定 中間 出現 了重複 (某條路沒有走)與 已知 每首 歌 的利用率 為 1 次 矛 盾 即 可以證明 如果 不滿足 滿流 一定 不 是 解 #include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#define min(a,b)
Time of Update: 2018-12-03
題目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1217 /*POJ Statue: 7287094 qlyzpqz 1077 Accepted 1680K 32MS C++ 3541B 2010-07-29 13:36:54ZOJ Statue: Statue: 2246164 2010-07-29 13:08:48 Accepted 1217 C++ 1520 25700
Time of Update: 2018-12-03
程式中格式化輸出和轉換非常常用,也非常重要,因此特別做了一個小結。-----------------------------------------------------------------------------------------形式:%[flags][width][.perc][F|N|h|l]typec語言:printf sprintf fprintfMFC中format其中flags: - 靠左對齊 + 在一個帶符號數前加"+"或"-
Time of Update: 2018-12-03
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */
Time of Update: 2018-12-03
DPL,RPL,CPL DPL放在段/門描述符中,RPL位於選擇子中,CPL即裝載選擇子的CS的可見部分的CS.RPL 資料區段:資料區段總是一致段,訪問資料區段需要滿足max(RPL,CPL)<=DPL 有一個比喻非常形象: 總理(CPL=1),想訪問市長(DPL=3),可以以省長的名義(RPL=2)進行訪問。當然如果以鄉長的名義(RPL=4),估計就沒有人理他了。 JMP,CALL直接跳轉 非一致程式碼片段:
Time of Update: 2018-12-03
在需要判斷兩個對象是否屬於同一集合的應用時,並查集是一種非常有效資料結構。並查集具有MAKE-SET,FIND-SET,UNION三個基本操作。定義一個具有m個MAKE-SET,FIND-SET,UNION(其中n個MAKE-SET操作)的操作序列。這個操作序列中UNION的操作次數不多於n-1(因為每次UNION都會使集合數減少1)。
Time of Update: 2018-12-03
經過長達1個月的不斷完善和修改,PIV項目中最具挑戰性的工作之一--PIV核心演算法終於圓滿完成了。最終的處理效果不僅超過了預期而且和學長提供的軟體不相上下。在這個過程了,感覺到自己收穫不少。順便也寫下處理的方法以及一些心得體會,以後大家遇到類似的問題,可以作為參考。1.合適的視窗大小。 在映像地區分割時視窗應大小合適,過大則使地區內運動向量平均後不明顯,過小則雜訊帶來的影響非常嚴重。2.迭代的方法 為了達到較高的精確度,可以採用迭代的方法。將上一次得到的結果作為下一次迭代的初始值。3
Time of Update: 2018-12-03
#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<iostream>using namespace std;const int maxn = 1005;string c,d;int dp[maxn][maxn];string a,b;int main(){ while(cin>>c>>d) {
Time of Update: 2018-12-03
這是自己編寫的Bitmap的一個格式及其讀寫的檔案,主要需要注意以下幾點:1) 映像在記憶體中存放時有位元組對齊。在32位機中,已4位元組對齊,即映像的每一行的實際所佔的空間應該是4位元組的倍數。因此 訪問時必須首先擷取映像實際的寬度,GetPitch實現這一功能。2) 使用#pragma pack(push,1),#pragma pack(pop)對就是為了強製取消結構體的位元組對齊。這樣確保Bitmap檔案的Header 部分為54位元組。3)
Time of Update: 2018-12-03
採用比較的排序演算法至少具有O(nlgn)的時間複雜度。而對於整數序列來說,在滿足一定的條件下,可以達到O(n)的時間複雜度主要有計數排序和基數排序,下面分別介紹這兩種演算法。一、計數排序(Counting
Time of Update: 2018-12-03
#include<cstdio>#include<algorithm>using namespace std;const int maxn = 1000;int mat[maxn][maxn],up[maxn][maxn],left[maxn][maxn],right[maxn][maxn];int main(){ int t; scanf("%d",&t); while(t--) { int m,n;
Time of Update: 2018-12-03
樹狀數組作為一種十分精巧的資料結構,代碼十分好寫,簡直逆天,最近碰到的同樣逆天的有Floyd演算法。但是樹狀數組有一個十分蛋疼的地方,只有單點更新,區間求和。因此常見的變形變有了,區間更新,單點求值。分為1維和多維。/*一維的 典型應用 color the ball.我們想新構建一個數組使得a[n]=d[1]+d[2]+..d[n];則問題可以轉化即對d數組的求和相當於a數組單點的值那麼思考如何構建這麼一個數組對!d[n]=a[n]-a[n-1]
Time of Update: 2018-12-03
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<queue>using namespace std;int k;queue<int> q;bool vis[2000];bool map[2000][2000];void bfs(int x){ int i; q.push(x);
Time of Update: 2018-12-03
拷貝建構函式發生的例子: A a(1); //調用建構函式, A b(a); //調用拷貝建構函式 A c=a; //第一次賦值,因為對象還沒初始化,還是調用拷貝建構函式, c=b; //初始化的對象才能調用賦值函數 void f(A a); //函式宣告 f(c);
Time of Update: 2018-12-03
一、寄存器 8位寄存器有: AH、AL、BH、BL、CH、CL、DH和DL等; 16位寄存器有:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等; 32位寄存器有:EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP等。 記憶體中的變數儲存的是其位移地址二、定址方式1.立即定址: MOV AH, 80H MOV ECX,123456H 2.寄存器定址 MOV EAX, EBX MOV VARD, EAX 3.直接定址 MOV BX, [1234H] ,
Time of Update: 2018-12-03
前面的博文中詳細講述了xv6的檔案系統,其中使用位元影像塊來進行磁碟block的 管理,但是對於block內容進行讀寫則需要更底層的磁碟驅動程式,同時考慮到磁碟讀寫的速度非常慢(相對於記憶體讀寫),因此我們有必要對磁碟的資料區塊進行緩衝。 整個磁碟的緩衝是採用類似對象池(object Pool)的架構來實現的。對於每個磁碟block,對應一個對應的資料結構buffer,具體如下:truct buf { int flags; //B_BUSY=1, B_VALID=
Time of Update: 2018-12-03
font-family:Verdana;color:black">
Time of Update: 2018-12-03
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#define LL __int64using namespace std;int n;int hash[1000005];LL c[50020],a[50020];LL pp[200050];struct node{ int l,r,id;};node q[200050];bool cmp(node