float與double:堅決棄float用double一例

如下9行代碼,輸出結果說明了問題:#include <stdio.h>int main() { float f = 0.01; int i = 1800; printf("%d/n", (int)(f*i)); printf("%f/n", f*i); return 0;}輸出:1718.000000編譯上述程式時在float f = 0.01語句處會出現一個warning: truncation from 'double' to 'float'改為:float f = 0.01f;

JOJ 1017 FireNet

題目:http://acm.jlu.edu.cn/joj/showproblem.php?pid=1017非常簡單的回溯,沒有用任何的限界函數就可以AC。代碼如下: #include <cstdio> int n;char m[5][5];int ans, cn;bool ok(int i, int j) {    if(m[i][j] == 'X')    return false;    for(int t = j-1; t >= 1 && m[i][t] 

《編程之美》之尋找發帖水王與JOJ 1069

兩個題目解題思想非常相似。就是把一個問題轉化為規模較小的問題,在轉化的過程中小問題與原問題本質上一致。這樣,可以通過把小問題轉化為更小的問題。尋找發帖水王題目是找出一堆資料中出現次數超過總數一半的那個資料。《編程之美》上的分析是:如果每次刪除兩個不同的資料,那麼剩下的資料列表中,我們要找的那個資料的出現次數仍然超過總數的一半。於是,可以在O(N)的時間複雜度內和O(1)的空間複雜度解決這個問題。JOJ

JOJ 2039: Fire Net III

題目:http://acm.jlu.edu.cn/joj/showproblem.php?pid=2039演算法:動態規劃 分析如下:設函數f(n,k)表示大小為n的地圖中放k個blockhouse的方法數。那麼,放置blockhouse的方法無外乎以下兩種:1.   一個blockhouse放在了第一行第一個位置。2.  

《編程之美》之:”程式理解和時間分析”與JOJ 2042

 這是《編程之美》的2.20題目,給出一段C#代碼,要求不用電腦,理解程式並回答問題。下面是從C#代碼中改寫成的C++代碼:#include <iostream>#include <limits>using namespace std;int main() { int rg[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29,30,31}

STL中replace函數誤用一例

這是在解JOJ 1170題目的時候遇到的問題,使用replace函數得不到期望結果,調試發現replace函數沒有正確執行,查看STL中的原始碼發現了問題。針對這個問題重新寫一小段測試代碼:#include <algorithm> #include <cstdio> #include <ctime> #include <cstdlib> using namespace std;int main() {    int testArr[16], i; 

JOJ 1170 :Wire Is So Expensive 最小產生樹

題目:http://acm.jlu.edu.cn/joj/showproblem.php?pid=1170根據題目的輸入特點,用kruskal演算法最方便。代碼:#include <cstdio> #include <vector> #include <algorithm>

joj 1172 The Equation Problem 組合數學

題目:Mathematicians are able to solve many a mythical problem. They indeed do much for the mankind. But sometimes they play trick to make some difficult problems for us to solve. The equation problem is one of them. Consider the equation like this: x1+

在表單上行動控制項

 class ControlMover {  public enum Direction  {   Any,   Horizontal,   Vertical  }  public static void Init(Control control)  {   Init(control, Direction.Any);  }  public static void Init(Control control, Direction direction)  {   Init(control,

菜鳥逆襲 Crackme第二彈 附帶註冊機

本來想每天一破的,發現我天真了。目標:crackme.rar先檢查有沒有殼: crackme6.exe:ASPack 2.x (without poly) -> Alexey Solodovnikov [Overlay] 用AspackDie1.41脫殼後: unpacked.ExE:LCC Win32 1.x -> Jacob Navia [Overlay] 用w32dasm開啟,發現了:GetDlgItemTextA 很好,接下來用OD開啟。 用Ctrl+N

使用重新導向方便程式測試

在online judge上做題的時候,通常程式要讀入大批輸入資料進行測試。每次運行都從鍵盤上敲入測試資料很麻煩。為了省卻鍵盤輸入的麻煩,往往使用freopen進行輸入輸出重新導向。但需要在測試完成後注釋掉它們。我們可以用作業系統內建的重新導向來完成,例如,編譯後的程式為test.exe,測試資料放在in.txt中。我們可以這樣進行輸入重新導向:test < in.txt表示從in.txt中讀取輸入資料。還可以同時進行輸出重新導向:test < in.txt >

JOJ 1002 Stockbroker Grapevine

題目:http://acm.jlu.edu.cn/joj/showproblem.php?pid=1002每個人是有向圖中的一個點,資訊的傳遞是一條有向邊。傳遞所需的時間為邊的權。題目的要求實際就是在該圖中能否找到一點,使該點到其餘點都有路徑可達。題目所要的答案就是這個點到其它點的最短路徑中最長的那條路徑的長度。所以,解法就是使用floyed演算法求出圖中每個點到其餘點的最短路徑,在那些到其餘點都有路徑可達的點當中,找出最長的路徑的長度。也可以對圖的n個點每個點都運行一次Dijkstra演算法,

高效計算Fibonacci數

 以前只知道使用遞迴或遞推的方法,最近在CSDN論壇上學到一種新的解法,在自己所知的幾個演算法裡,它具有最好的運行效率。這種方法使用下面這個關於Fibonacci數的矩陣恒等式:

合并.net程式集

工具:ILMerge:http://download.microsoft.com/download/1/3/4/1347C99E-9DFB-4252-8F6D-A3129A069F79/ILMerge.msi預設安裝位置:C:\Program

JOJ 1003 Channel Allocation

題目:http://acm.jlu.edu.cn/joj/showproblem.php?pid=1003圖的著色問題。因為已知任何平面圖都可以用不多於四種的顏色進行著色,並且使相鄰頂點的顏色不同。所以分別使用1,2,3,4四種顏色進行試探。使用回溯法,代碼如下:#include <stdio.h> #include <string.h>

base64編碼與解碼

今天考試,給出了base64編碼的規則,需要編寫一個程式實現base64解碼(對於字串中有中文或者其它多位元組字元的,要注意他們的編碼,比如對於中文字元,使用的是UTF8而不是GB2312,這一點在最後面有說明)。 base64編碼規則概述: 在密碼學領域裡,非常多的加密想法極有創意,base64便是其中一種。雖然規則簡單,但值得仔細品味欣賞。關於base64編碼的細節和應用,網上能搜尋到很多資料。

排序演算法(三)之插入排序

 談論排序的時候,絕對不會少了插入排序演算法,它實在是太經典了,而且十分簡單。演算法:插入排序Insertion_sort(A)for j = 2 to A.length do key=A[j]           i = j-1           while(i>0 &&A[i]>key)                do A[i+1]=A[i]                   i = i-1;          

搭建BitTorrent環境

BitTorrent協議非常好用,在網路中分發共用大檔案,不會造成網路上某一個鏈路擁塞,不會給某一台機器造成大量負載。BitTorrent把檔案分割,分塊校正,分塊傳輸,並發性好,速度快,可靠性有保證。搭建BitTorrent環境很簡單,需要一個tracker程式和一個用戶端程式。tracker程式用來於各個peer之間進行溝通,發現新的peer。用戶端程式用來製作種子。tracker程式非常多,google一下bittorrenttracker可以找到一大堆。有很多開源的使用LAMP實現的系統

第一次使用iclient for silverlight

 步驟:1、安裝supermap objects java 6R2、安裝JRE6.0以上版本(或者JDK 6.0)3、配置環境變數(1).建立變數“JRE_HOME”(如果安裝的是JDK,則為'JAVA_HOME‘),值為:“C:\Program Files\Java\jre6”(這是你本機上JDK或者JRE的安裝目錄)  (2).建立變數“UGO_HOME”,值為:“C:\Program Files\SuperMap\SuperMap Objects Java

一個開源的高精度運算庫——gmp

全稱是GNU Multiple Precision Arithmetic Library,即GNU高精度算術運算庫,官方網站是:http://gmplib.org/ 它的功能非常強大,介面很簡單,文檔詳盡,有C風格的介面也有C++的精心封裝後的介面,其中不但有普通的整數、實數、浮點數的高精度運算,還有隨機數產生,尤其是提供了非常完備的數論中的運算介面,比如Miller-Rabin素數測試演算法,大素數產生,歐幾裡德演算法,求域中元素的逆,Jacobi符號,legendre符號等。

總頁數: 61357 1 .... 13984 13985 13986 13987 13988 .... 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.