正整數中數字1的計數問題 – 採用分治法快速計算f(n)(下)

在我的另外一篇文章"正整數中數字1的計數問題(上)"中,實現了一個簡單的演算法來計算f(n)。該演算法由於只考慮相鄰兩個數的變化規律,因此在計算單個長整數時(比如n=911111111099999009L),可能要很長時間才能算完,顯然該演算法適用範圍比較狹小。本文繼續圍繞那道Google面試題,探討一個計算單個值f(n)的快速演算法以及如何求出所有滿足f(i)=i這樣的整數(對很大的數計算時間能達到毫秒數量級)。分析:首先注意到,比如要計算i=3260這樣的f(i),在算到i=3200的時候,

實驗三 編寫解決約瑟夫環問題的應用程式

實驗目的在C語言環境下(Turbo C或VC)編寫一個簡單的報數應用程式。通過本實驗,使學生能夠在C語言環境下熟練地編寫基本的應用程式。實驗意義通過本實驗,使學生能夠進一步理解C語言中鏈表和指標的使用,熟悉基本的輸入和輸出方法。實驗背景約瑟夫環問題 Josephus:編號為1,2,3,……,n的n個人按順時針方向圍坐一圈。任選一個正整數作為報數上限m,從第一個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,從他在順時針方向上的下一個人開始重新從1報數,如此下去,直至所有人全部

實驗二 編寫員工人事管理的應用程式

實驗二 編寫員工人事管理的應用程式 實驗目的在C語言環境下(Turbo C或VC)編寫一個簡單的員工人事管理的應用程式。通過本實驗,使學生能夠在C語言環境下熟練地編寫基本的應用程式。實驗意義通過本實驗,使學生能夠進一步理解C語言中動態儲存裝置分配的使用,熟悉指標和數組的使用方法。實驗背景某軟體公司大約有30名員工,每名員工有姓名、工號、職務等屬性,每年都有員工離職和入職。把所有員工按照順序儲存結構建立一個線性表,建立離職和入職函數,當有員工離職或入職時,修改線性表,並且列印最新的員工名單。實驗步

旅行之漳州廈門行

    這次去漳州的初衷是想把柔娉從頹廢中拉回來,但我不知道這次漳廈之行是對是錯,說對是因為這次和柔娉終於做回了朋友,這兩周確實讓她難過、辛苦了,從這次旅行以後她也成長了,我很欣慰。說錯是因為她還沒有放下,我希望時間可以慢慢淡去那段感情,把那段像電視劇般的初戀放在彼此心底的深處,做一個最熟悉的知己,從來沒有想起,永遠不曾忘記。   

ZJUT1010 詭秘的餘數 大數對一位元求餘

Problem Address:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1010 一道大數對一位元求餘的題。 主要是找出規律。 m=1時,餘數為0。 m=2時,個位元對2求餘即為餘數。 m=3時,所有位元和求3求餘即為餘數。 m=4時,前兩位元對4求餘即為餘數。 m=5時,個位元對5求餘即為餘數。 m=6時,分別求出對2和對3的餘數為r2、r3。                   r2/r3    0     1     2        

POJ3996 Air Strike

Problem

多線程編程小結

1.Linux進程與線程Linux進程建立一個新線程時,線程將擁有自己的棧(因為線程有自己的局部變數),但與它的建立者共用全域變數、檔案描述符、訊號控制代碼和目前的目錄狀態。Linux通過fork建立子進程與建立線程之間是有區別的:fork建立出該進程的一份拷貝,這個新進程擁有自己的變數和自己的PID,它的時間調度是獨立的,它的執行幾乎完全獨立於父進程。進程可以看成一個資源的基本單位,而線程是程式調度的基本單位,一個進程內部的線程之間共用進程獲得的時間片。2._REENTRANT宏在一個多線程程

POJ2653 Pick-up sticks 判斷線段相交

Problem Address:http://poj.org/problem?id=2653【前言】試試判斷線段相交的題。幾何的東西一直都是不太敢碰的。discuss裡一片tle。後來寫寫寫,然後就一次AC了。【思路】如何判斷線段相交?分別用兩條線段的兩個端點與另一條線段的兩個端點做叉乘並相乘,如果兩個結果都小於零,則兩線段相交。從下往上枚舉每一條邊,如果當前邊與之前的邊相交,則前面的邊不可能成為top

POJ1144 Network 求割點

Problem

HDU2639 Bone Collector II 背包K優解

Problem

最大全1子矩陣 DP

【題意】給定一個01矩陣,求其最大的全1子矩陣。【思路】DP。【HDU1506】Problem Address:http://acm.hdu.edu.cn/showproblem.php?pid=1506這道題可以轉為為求一維數組裡相應的最大值。首先用兩個數組L[ ], R[ ]分別記錄某個點左邊和右邊比它本身大的範圍。比如數列:3 2 4 1(標號從1開始)則L[2] = 1,R[2] = 3,表示數組1到3的範圍內的數都不比第二個數小。處理完之後枚舉每一個點,則每個點的值為V[i] =

POJ3984 迷宮問題 BFS

Problem Address:http://poj.org/problem?id=3984 求迷宮的最短路徑。 本來是打算試一下怎麼求迷宮的,結果最後做出來了。 BFS搜尋,同時記錄到達每一步的最小步數。 輸出路徑時則向前遞迴。 一次RTE後改大數組,然後AC。然後就不改了,直接儲存…… 如此淩亂的代碼啊……不堪入目啊…… 也正是由於如此淩亂、如此長的代碼,結果在Best solutions of Problem 3984中排到了第一頁…… 等以後需要的時候重新寫一份好的BFS求迷宮最短路徑。

POJ1080 Human Gene Functions DP

Problem Address:http://poj.org/problem?id=1080【思路】一道LCS的變形。設空格為0,A為1,C為2,G為3,T為4。狀態轉移方程:dp[i][j] = max(dp[i-1][j-1]+value[a[i]][b[j]], dp[i-1][j]+value[a[i]][0], dp[i][j-1]+value[0][b[j]]);對於邊界,即三個值中有某些值無法取到時,將其忽視。即:dp[0][0] = 0;dp[i][0] = dp[i-1][0]

USACO The Clocks 所謂的廣搜?

Problem Address:USACO 1.4 【前言】 這道題我一共提交了19次,終於在第19次的時候過掉了。 那個內流滿面啊! 一直被不知名的錯誤羈絆著。 Execution error: Your program had this runtime error: Bad syscall #32000175 (RT_SIGPROCMASK) [email kolstad if you think this is wrong].            Your program

POJ3691 DNA repair AC自動機+動態規劃

Problem

HDU1922 POJ3004 Subway planning “神題”留名

Problem

不發代碼的解題報告

【前言】 由於有很多題都是不值得詳細寫解題報告的。或者說有的題我是抄了別人的代碼所以也不怎麼好寫。所以決定開一篇唯寫思路的解題報告列表。做過的有點意義的題就寫個思路。如果太有意義的話自然會寫一篇比較完整的解題報告。 【以下·開始】 POJ1426       廣搜。每一個數,從0開始廣搜,狀態轉移為 F = F * 10 + 0 和 F = F * 10 + 1。其實就是簡單地從0開始類比。      注意用STL會逾時,所以還是動手開個數組親自寫個隊列吧!      此外還要注意用64位整型,

fzu1684 迷宮救美

題目連結:fzu1684 代碼: #include <iostream>#include <cmath>#include <queue>using namespace std;struct node{ int x,y,step; }tmp,head;queue <node> q;char map[25][25];int e[25][25];int dir[4][2]={-1,0,0,-1,1,0,0,1};int r,w;int

POJ1273 Drainage Ditches 簡單網路流

Problem Address:http://poj.org/problem?id=1273【前言】本來圖演算法不應該我負責的,不過剛好有點煩,所以拿過來學習一下,當是補充知識。翻了演算法導論,看了相關部分,發現網路流其實不是很難理解。於是開題。【思路】簡單網路流。注意有重邊的情況,需要疊加。網路流的思路還是很簡單的,就是bfs+迭代。廣搜查詢是否存在從源點到匯點的路徑,找出其最小流量,更新路徑上的點,並更新流量值。然後迴圈查詢和更新,直到不再存在路徑。【代碼】#include

hdu1068 Girls and Boys

題目:hdu1068    pku1466方法:最大獨立集、最大匹配思想:最大獨立集指的是兩兩之間沒有邊的頂點的集合,頂點最多的獨立整合為最大獨立集。二分圖的最大獨立集=節點數-(減號)最大匹配數。For the study reasons it is necessary to find out the maximum set satisfying the condition: there are no two students in the set who have been

總頁數: 61357 1 .... 24184 24185 24186 24187 24188 .... 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.