命令列計算機(一)

習慣在Matlab裡面計算,不太喜歡系統內建的計算機,但Matlab每次啟動都比較慢。對於簡單的計算,用不著Matlab,一直希望有一個簡單版本的Matlab。一次看到OSChina上有分享一個簡單的命令列計算機,覺得這個不錯,不過功能僅限於數位四則運算,於是想著可不可以寫一個功能在稍微強一點的命令列計算機。於是就有了這個項目,稱之為Command Line Calculator(CLC)。希望實現的功能,1. 數值運算,整數和浮點數;2. 變數賦值,運算式運算;3. 數學函數;4.

資料結構與演算法——堆

在《演算法設計技巧與分析》這本書的第四章,介紹了堆。於是按照上面的虛擬碼實現了一下。資料結構定義maxHeap.hpp如下, 1 #ifndef MAX_HEAP_HPP_ 2 #define MAX_HEAP_HPP_ 3 4 #include <vector> 5 using std::vector; 6 7 class MaxHeap 8 { 9 public:10 MaxHeap(vector<int>& A);11

google code jam exercise——Rope Intranet

Round 1C 2010,C輪的測試題了。本以為難度會加大,不過第一題還是比較簡單的。Rope Intranet,統計繩子的交點個數。演算法很直接,遍曆所有的繩子,累計它與剩下的繩子的交點的個數。代碼如下:#!/usr/bin/python#encoding:UTF-8#Filename:RopeIntranet.pyimport sysdef compareWire(a,b): if (a[0]<b[0] and a[1]>b[1]) or (a[0]>b[0]

google code jam exercise——Minimum Scalar Product

繼續Python練習。這次的題很簡單的。這次的題是Minimum Scalar

入園一年記

  今天開啟cnblogs,看到園齡1年,才發現自己來這裡這麼長時間了。  從開始想到要建個Blog,在CSDN和cnBlogs中間選了好久,到決定使用cnBlogs,然後開始寫些東西,似乎還沒過去多久,卻竟然已經一年了。  數數Blog上的文章,如果不考慮這個月把Gooogle Code Jam上的練習題貼上來,也就二十多篇,一開始的時候寫了幾篇,後來課程比較多,想等暑假和寒假來整理一些內容,結果在假期裡沒有什麼動力去整理那些東西,園子似乎要荒蕪下來。直到這次Google Code

LAPACK(6)——總結

  雖然只是寫了兩個測試例子,但我覺得其它的函數用起來也差不多,它提供的函數的介面有很好的一致性,例如每一個函數的第一個參數都是matrix_order,以n開頭的表示矩陣的列數,以ld開頭的表示矩陣的leading

list的排序和比較函數作為參數傳遞

前幾天使用list的排序功能,出現了一點問題,來總結一下。定義一個簡單的節點類,包含一個字串和一個整數,並重載了小於操作,根據整數的大小進行比較。class Node{ public: Node(string nm,int i) { name = nm; id = i; } void Print() { cout << name

Vector的使用筆記(1)

  vector是使用的比較多的一種C++的STL類,之前沒有系統地看過如何使用vector,導致使用的時候總覺得不好用。vector是為了取代直接定義的數組,可以進行下標越界檢查,大小可以動態增長。大家總是建議使用vector,而不使用 Type array[size]。第一次用vector的時候,報錯了,vector<int> vInt;vInt[0] = 1;cout << vInt[0] << endl;運行時報錯,Segmetation fault。

google code jam exercise——Rotate

之前沒搞定的幾道題先跳過了,來做做簡單的吧。Round 1A

google code jam exercise——Picking Up Chicks

  這道題是Round 1B 2010的第二道題,第一次看的時候,沒看懂題目意思,這一次總算是把題目看懂了。看懂之後,才發現,原來如此簡單。  先說一下題目意思,在一條非常narrow的路上,有一群chicks,以各自的速度朝Barn前進。如果後面一隻撞上前面的一隻,就要以前面一隻的速度前進。現在有一個arm

STL(1)——尋找函數find的使用

使用list, vector 等這些標準庫的類,尋找是比較常用的功能,但是這些類沒有提供find函數,因為對於自訂類型,它不知道如何去比較兩個類型。http://www.cppreference.com/wiki/container/list/start但是STL提供了一種通用的尋找函數find(iterator it0,iterator it1,target),下面介紹如何使用這個尋找函數。// 定義一個簡單的資料結構Inst.class Inst{public:

google code jam exercise——MilkShakes(1)

MilkShakes,這道題有些難度,自己水平太差,還沒有找到好的方法來解決。對於small case,得到了正確的答案。先來看看題。題目的大概意思是,給一些不同flavor(風味)牛奶(1,..N),可以是malted(1),也可以是unmalted(0),但是每一種牛奶只能是malted或者unmalted;有很多顧客,每個顧客喜歡的不一樣,也可能喜歡多種。要求給出各種牛奶是否malted,能夠滿足所有顧客都有自己喜歡的flavor,並且malted的數量儘可能少。具體內容參考http://

enum class的輸出重載

之前糾結enum class,其中一個問題就是,要輸出type的名字,方便調試。今天嘗試了一下輸出重載,沒想到竟然可以。測試如下,#include <iostream>using namespace std;enum class Type{ TEXT, _EOF};ostream& operator << (ostream& out,Type tp){ switch(tp) { case Type::TEXT:

Matplotlib簡介和pyplot的簡單使用——輸出eps格式映像

最開始使用Matplotlib,一是因為它不需要像Matlab一樣花很長時間啟動一個圖形介面,二是它可以直接儲存為.eps格式。在映像顯示出來之後,在左下角有幾個按鈕,最後一個就是儲存,在儲存的對話方塊選擇.eps格式即可。另一種方式就是在程式裡面使用pyplot.savefig(name,format="eps"),可以用format指定格式為eps,也可以不使用format,而是寫在name裡面,它會自動從name裡面找到副檔名來決定格式。雖然這樣得到了.eps格式的映像,但是它的周圍有空白

google code jam exercise——MilkShakes(3)

還是MilkShakes的問題。今天看了一下Contest Analysis,按照提示總算得到了較好的結果。在Contest Analysis中,給出了演算法的描述,如下:1. 初始化flavor choice全為0,檢查customer的滿意情況;2. 對於不滿意的customer,如果他只喜歡unmalted的,但是所有的已經malted,那麼該customer不可能被滿足,給出IMPOSSIBLE;3.

動態規劃Dynamic Programming(0)——演算法介紹

  動態規劃(Dynamic Programming)可以用來非常有效解決許多搜尋最佳化問題。這類問題都有相同的地方,原問題可以分解為子問題,子問題中有重複的部分(overlapping subproblem),或者原問題的最優解與子問題的最優解具有相同的結構(optimal

google code jam exercise——All Your Base

連續碰到幾道題搞不定,想找一道簡單一點的,來增加一點成就感。於是看了這道題,第一道題,雖然是C輪的,應該不會太難吧?但看完題就知道自己錯了,為什麼連題都看不懂呢?無奈,求助答案吧。答案好簡單,連Python代碼都給了。還是簡單分析一下吧。先來解釋題目意思,題目給出一個字串,包含a-z0-9,表示一個數字,這個數位基數base可以是任意的,要求選一個基數,使字串表示的數最小,並且第一位不為0。怎樣可以使基數最小呢?base=10,即十進位,有0-9種表示0-9,也可以用a-j表示0-9,反正就是要

delete與double free

在看一些C++的文章的時候,經常會看到關於delete與free的區別,delete不需要檢查指標是否為NULL。如下面一篇文章http://www.cnblogs.com/zhuyp1015/archive/2012/07/20/2601698.html。但是有時候,又會看到由於delete引起的double free or corruption,我們可以寫一個很簡單的程式,來測試delete會不會引起double free。#include <iostream>using

Machine Learning(1)——k-means演算法

在OpenCV Maching Learning部分,實現了一些經典的機器學習演算法,並且每個演算法都有相應的例子,所以我覺得可以從這裡開始學習機器學習演算法。K-means演算法應該是比較簡單的機器學習演算法,就先從這個開始學習。K-means 演算法是很典型的基於距離的聚類演算法 。從二維映像的例子來看,映像上有很多個點,為了將這些點按他們相近的距離分成一簇一簇的,假設要分成k簇,k-means演算法步驟如下,a.  隨機地選取k個點作為中心,b. 

free 與 delete

1. delete 用於釋放 new 分配的空間,free 有用釋放 malloc 分配的空間2. delete [] 用於釋放 new [] 分配的空間3. delete 釋放空間的時候會調用 相應對象的解構函式     順便說一下new在分配空間的時候同時會調用對象的建構函式,對對象進行初始化,使用malloc則只是分配記憶體4. 調用free 之前需要檢查 需要釋放的指標是否為空白,使用delete 釋放記憶體則不需要檢查指標是否為NULL5. free 和 delete

總頁數: 61357 1 .... 26358 26359 26360 26361 26362 .... 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.