xv6自旋鎖

     在多核和多線性系統中,需要注意訪問安全,即需要考慮不同的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 =

終極母函數 hdu 1079

#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]

hdu 4560 我是歌手

證:易得:舉辦1 場 的 流 是 n則如果 舉辦 d 場 的 流 < n* d 的話 說明 必定 中間 出現 了重複 (某條路沒有走)與 已知 每首 歌 的利用率 為 1 次 矛 盾 即 可以證明 如果 不滿足 滿流 一定 不 是 解 #include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#define min(a,b)

zoj 1217 雙向BFS,記憶化搜尋、A*演算法實現

題目: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

格式化輸出及轉換

  程式中格式化輸出和轉換非常常用,也非常重要,因此特別做了一個小結。-----------------------------------------------------------------------------------------形式:%[flags][width][.perc][F|N|h|l]typec語言:printf  sprintf   fprintfMFC中format其中flags: -         靠左對齊 +         在一個帶符號數前加"+"或"-

hdu 3656(成都賽絡賽F題)

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */

DPL,RPL,CPL特權層級

 DPL,RPL,CPL DPL放在段/門描述符中,RPL位於選擇子中,CPL即裝載選擇子的CS的可見部分的CS.RPL 資料區段:資料區段總是一致段,訪問資料區段需要滿足max(RPL,CPL)<=DPL 有一個比喻非常形象: 總理(CPL=1),想訪問市長(DPL=3),可以以省長的名義(RPL=2)進行訪問。當然如果以鄉長的名義(RPL=4),估計就沒有人理他了。 JMP,CALL直接跳轉  非一致程式碼片段:

並查集及其鏈表與不相交集合森林實現

      在需要判斷兩個對象是否屬於同一集合的應用時,並查集是一種非常有效資料結構。並查集具有MAKE-SET,FIND-SET,UNION三個基本操作。定義一個具有m個MAKE-SET,FIND-SET,UNION(其中n個MAKE-SET操作)的操作序列。這個操作序列中UNION的操作次數不多於n-1(因為每次UNION都會使集合數減少1)。    

PIV粒子映像運動場

   經過長達1個月的不斷完善和修改,PIV項目中最具挑戰性的工作之一--PIV核心演算法終於圓滿完成了。最終的處理效果不僅超過了預期而且和學長提供的軟體不相上下。在這個過程了,感覺到自己收穫不少。順便也寫下處理的方法以及一些心得體會,以後大家遇到類似的問題,可以作為參考。1.合適的視窗大小。  在映像地區分割時視窗應大小合適,過大則使地區內運動向量平均後不明顯,過小則雜訊帶來的影響非常嚴重。2.迭代的方法  為了達到較高的精確度,可以採用迭代的方法。將上一次得到的結果作為下一次迭代的初始值。3

hdu 1159 LCS

#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) {

BITMAP檔案格式及讀寫

這是自己編寫的Bitmap的一個格式及其讀寫的檔案,主要需要注意以下幾點:1) 映像在記憶體中存放時有位元組對齊。在32位機中,已4位元組對齊,即映像的每一行的實際所佔的空間應該是4位元組的倍數。因此      訪問時必須首先擷取映像實際的寬度,GetPitch實現這一功能。2)   使用#pragma pack(push,1),#pragma pack(pop)對就是為了強製取消結構體的位元組對齊。這樣確保Bitmap檔案的Header      部分為54位元組。3)  

線性時間複雜度排序演算法

     採用比較的排序演算法至少具有O(nlgn)的時間複雜度。而對於整數序列來說,在滿足一定的條件下,可以達到O(n)的時間複雜度主要有計數排序和基數排序,下面分別介紹這兩種演算法。一、計數排序(Counting

hdu 1505 City Game

#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;

一維樹狀數組和二維樹狀數組和三維樹狀數組的區間更新單點求值

樹狀數組作為一種十分精巧的資料結構,代碼十分好寫,簡直逆天,最近碰到的同樣逆天的有Floyd演算法。但是樹狀數組有一個十分蛋疼的地方,只有單點更新,區間求和。因此常見的變形變有了,區間更新,單點求值。分為1維和多維。/*一維的 典型應用 color the ball.我們想新構建一個數組使得a[n]=d[1]+d[2]+..d[n];則問題可以轉化即對d數組的求和相當於a數組單點的值那麼思考如何構建這麼一個數組對!d[n]=a[n]-a[n-1]

BUAA 571 圖的深度遍曆 BUAA 574 圖的廣度遍曆

#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);

拷貝建構函式和賦值函數的區別

拷貝建構函式發生的例子:     A   a(1);     //調用建構函式,     A   b(a);    //調用拷貝建構函式     A   c=a;     //第一次賦值,因為對象還沒初始化,還是調用拷貝建構函式,           c=b;     //初始化的對象才能調用賦值函數     void   f(A   a);     //函式宣告     f(c);  

彙編定址方式

一、寄存器  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] ,

xv6磁碟驅動及緩衝

    前面的博文中詳細講述了xv6的檔案系統,其中使用位元影像塊來進行磁碟block的 管理,但是對於block內容進行讀寫則需要更底層的磁碟驅動程式,同時考慮到磁碟讀寫的速度非常慢(相對於記憶體讀寫),因此我們有必要對磁碟的資料區塊進行緩衝。    整個磁碟的緩衝是採用類似對象池(object Pool)的架構來實現的。對於每個磁碟block,對應一個對應的資料結構buffer,具體如下:truct buf { int flags; //B_BUSY=1, B_VALID=

筆試歸來

  font-family:Verdana;color:black">  

hdu 3874 樹狀數組

#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

總頁數: 61357 1 .... 19113 19114 19115 19116 19117 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.