一、Bitmap的recycle問題

    雖然Android有自己的記憶體回收機制,對於是不是要我們自己調用recycle,還的看情況而定。如果只是使用少量的幾張圖片,回收與否關係不大。可是若有大量bitmap需要記憶體回收處理,那必然記憶體回收需要做的次數就更多也發生地更頻繁,會對系統資源造成負荷。所以,這個時候還是自己試用recycle來釋放的比較好。    如何去使用recycle()方法和何時試用recycle()都是值得考慮的問題。否側,極易出現下面的異常:05-15 08:31:00.117:

poj3635-DP+優先隊列搜尋最短路

題目串連這題限制較高。一般的演算法過不了。自己做起來很吃力。到網上參考牛人代碼為之驚歎,處理方法真是不可思議。佩服!佩服!這題痛點就是如何判斷汽車加油的問題。為什麼加油是一升一升地加。主要是設計的dp搜尋是關於路徑與油的體積的狀態。我認為非常巧妙。把問題簡化了許多,能用的dp的思想和優先隊列來進行搜尋,為之叫絕。稍微簡化了代碼,時間也減小了點,心裡還是稍有點欣喜。#include<cstdio>#include<queue>#include<cstring>#

int long 位元組數

 int類型比較特殊,具體的位元組數同機器字長和編譯器有關。如果要保證移植性,盡量用__int16 __int32 __int64吧,或者自己typedef int INT32一下。C、C++標準中只規定了某種類型的最小位元組數(防止溢出)64位指的是cpu通用寄存器的資料寬度是64位的。資料類型名稱位元組數別名取值範圍int*signed,signed int由作業系統決定,即與作業系統的"字長"有關unsigned

poj1458最長公用子序列(LCS)

點擊開啟連結題意:從s1的序列中,一次從前往後抽出一些元素,在s2中也從前往後抽取一些元素,s1中抽取的元素組成一個新子序列t1,s2中抽取的子序列為t2,問t1==t2這樣的序列中,滿足以上條件,t1或t2中最多的元素是多小。(t1中的元素個數一定等於t2中元素個數)這題就是典型的最長公用子序列問題。dp策略:用dp[i][j]表示s1中抽取的元素是第i個,s2中抽取的元素是第j個。當有s1[i-1]==s2[j-1]時,從dp[i-1][j-1]的狀態轉移到dp[i][j]時,就有dp[i]

poj-1160 post office (dp)

題意: 根據每個村莊的距離,在這些村莊裡建一些office使得每個村莊到最近的office距離和最短。分析: 如果此題建一個office,那麼很容易得到,只要建在中間,就一定是最小的。這就是中值最小法,而這題是建立多個office,那麼應該區間dp。設dp[i][j]在前j個村莊也建立了i個office。對於每個區間i到j,取中間的作為建立點。用dis記錄每個區間最短距離。那麼轉移狀態方程:

HDU-1199 color the ball

唉!這題完全沒必要用線段樹,用一個很常規的方法就可以過了。不解釋,常規方法就A了。#include<stdio.h>#include<string.h>int q[100005];int main(){int n,Lpos,Rpos,a,b,L=100005,R=-1,color;char op[2];while(scanf("%d",&n)!=EOF){memset(q,0,sizeof(q));while(n--){scanf("%d %d %s",&

boostRegex庫簡單介紹

轉自:http://www.cppblog.com/walkspeed/archive/2007/12/28/39823.html 標頭檔 regex.hpp 常用的類 boost::regex Regex boost::cmatch 以char數組為容器,儲存匹配傳回值。 boost::smatch 以std::string為容器,儲存匹配傳回值。 boost::regex_match 匹配演算法 boost::regex_search 尋找演算法

POJ-1269 直線相交的判斷及交點

題意:給了兩條直線的兩個的座標。求他們相交的類型,如果正規相交並求出交點。分析:用點叉積,可以判斷直線的相交類型(平行,共線,相交).大概是: 如果相交:設交點:p0(x0,y0),根據交點在兩條直線上有方程:   (p1-p0)X(p2-p0)=0;   (p3-p0)X(p4-p0)=0;展開就行了。看代碼就知道了:#include<cstdio>#include<cmath>using namespace std;struct node{double x,y;}p[

POJ-1556 線段相交的判斷與最短路(幾何+圖論)

題意:在10*10的房間裡,有些牆,問你從源點(0,5)到對面的點(10,5)的最短路,不能穿過牆。分析:或許看到了最短路,這題大概就有思路了,到我還是有點疑問,”為什麼最短的路一定要從牆的端點過去,有沒有存在一條路徑從某一點(不在這些點)使它能直接到達目的地“?而這些點是有可能的。但我聽別人說過端點就行了,我也不再去追究了。如果是過端點,那就好辦了,由於點不多,枚舉所以可能的路徑,並判斷是否有線段與它相交就行了,端點相交的不能算。代碼:#include<cstdio>#includ

POJ-2653 Pick-up sticks(線段相交)

題意:一次投放一條木棍,問投放n次夾在上面的木棍有多小,並按順序輸出。按順序判斷線段相交,線段相交,和直線與線段相交多個一個反正判斷水題一個。代碼:#include<cstdio>#define eps 1e-8using namespace std;struct node{double x,y;}point[400005];int rec[1005];int cnt;double Judge(node a,node b,node c){return(a.x-c.x)*(b.y-c.

warning C4995: ‘wcscat’: name was marked as #pragma deprecated

現象#include <strsafe.h>#include<boost/regex.hpp>今天在使用這兩個標頭檔是出現如下警告:/microsoft visual studio 10.0/vc/include/intrin.h(1087): warning C4995:'wcscat': name was marked as #pragma

poj 2398-幾何二分搜尋

題目串連此題和poj2318一樣。稍微有點的變化就是邊的輸入沒有按從小到大。先排序就可以套用poj2318代碼了。#include<cstdio>#include<cstring> #include<algorithm>using namespace std;const int M=1005;struct node{int l,r;}line[M];int xa,xb,ya,yb;int toys[M],cnt[M];int n,m;bool

找出數組中和為N+1的的所有組合

一個整數數列,元素取值可能是1~N(N是一個較大的正整數)中的任意一個數,相同數值不會重複出現。設計一個演算法,找出數列中合格數對的個數,滿足數對中兩數的和等於N+1。複雜度最好是O(n),如果是O(n2)則不得分方法一:排序後,定義兩個指標begin,end分別指向數組的第一個和最後一個元素。然後按以下規則移動指標:1.  如果*begin + *end = N+1,那麼找到一個解,同時begin++,end--2.  如果*begin + *end >

WebCore Rendering I — the basic

原文:http://www.webkit.org/blog/114/webcore-rendering-i-the-basics/一下是翻譯版本,後面還有對照版本。 這是一系列文章中的第一篇,目的是協助那些對WebCore rendering有興趣的人們。 當完成這些文章,你可以在部落格和WebKit網站的document部分看到這些文章。The DOM Tree一個網頁被分析成包含很多node的一棵樹,叫做文件物件模型(Document Object Model

最大連續子序列乘積

問題描述:給定一個整數序列(可能有正數,0和負數),求它的一個連續最大子序列乘積,如果乘積為負數,輸出-1分析:假設數組為a[],直接利用動歸來求解,考慮到可能存在負數的情況,我們用Max[i]來表示以a[i]結尾的最大連續子序列的乘積值,用Min[i]表示以a[i]結尾的最小的連續子序列的乘積值,那麼狀態轉移方程為:       Max[i]=max{a[i], Max[i-1]*a[i], Min[i-1]*a[i]};       Min[i]=min{a[i],

有序數組轉化為二叉樹

這個題目有點模稜兩可,只說轉化成二叉樹。也沒有說平衡二叉樹,二叉排序樹。如果只是隨便什麼二叉樹都可以,把就用數組作為輸出,隨便是前序,中序,還是後續構建二叉樹都可以,網上二叉樹建立的代碼一大堆。下面代碼是簡曆一棵二叉排序樹。首先用數組的中間元素作為根建立二叉樹,然後遞迴簡曆左子樹,右子樹。#include<iostream>#include<queue>#include<windows.h>using namespace std;typedef struct

plsa 公式推導

plsa中完全資料(complete data)的似然函數:其中,表示文檔i中的第j個單詞的主題是否為k,如果為k則為1,否則為0相應地,對數似然函數如下然後Q

0-1背包問題

只解釋一下遞推公式m[i][j] = max(m[i-1][j],m[i-1][j-w[i]]+v[i])m[i][j]表示,前i個物體裝進最大容量為j的包裡能獲得的最大價值,如果這個解不包括 i 物體,那麼就等於m[i-1][j],即前i-1個物體放入容量為j的包裡鎖獲得的最大價值;如果包括 i 物體,那麼就等於m[i-1][ j-w[i] ] +v[i], 要能把物體i放進去, 必須在放i之前,包至少要有w[i]的容量剩餘,即包當前的最大價值等於m[i-1][j -

調整數組順序使奇數位於偶數前面[

題目:輸入一個整數數組,調整數組中數位順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。要求時間複雜度為O(n)。方法:設2個頭尾指標begin和end,

字串移動(字串為*號和26個字母的任意組合,把*號都移動到最左側,把字母移到最右側並保持相對順序不變),要求時間和空間複雜度最小

字串移動(字串為*號和26個字母的任意組合,把*號都移動到最左側,把字母移到最右側並保持相對順序不變),要求時間和空間複雜度最小 如果沒有要求保證字母相對順序不變的話,那麼這題用2個雙端指標,往中間移動交換元素是最簡單的,但是這種移動有跳躍性,所以無法保證相對次序方法見注釋:主要思想是,用一個point指標指向尾部的第一個*,從後從point除法,用指標let指向point之前的第一個字母,依次交換let和point結尾的字母和*序列。然後再找下一個字母和*序列,直到有一個指標指到了字串首地址。

總頁數: 61357 1 .... 26071 26072 26073 26074 26075 .... 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.