思考的力量…

     

剛剛開始~

現在終於明白ACM是什麼了..當我看到roba部落格裡面有這樣一個分類“演算法競賽”。終於知道演算法有多重要.. 新人,新群,新的論壇..我們算是第二波也被MysTic稱作“開路人”... 早點知道這個比賽就好了..需要知道的東西太多了 希望我們能像roba學長們那樣使這個比賽在我們學校引起關注並且發揚光大吧~一切才剛剛開始~  tips:         大數組要放全域變數。        提交之前一定得把多加的東西刪乾淨啊...

大數 平方根

先把 一些沒有 成熟的代碼 以及思路放在這裡   手動開根號的基本方法:1、整數開平方步驟: (1)將被開方數從右向左每隔2位用撇號分開; (2)從左邊第一段求得算數平方根的第一位元字; (3)從第一段減去這個第一位元字的平方,再把被開方數的第二段寫下來,作為第一個餘數;

hdu 3006 the number of set 【dp】

簡單背包類型dp將一個集合看做一個整型數,裡面元素x當做該整型數的第x-1位為1;然後背包求出在1到 1<<M 之間可以達到的數的個數;// hdu 3006 the number of set#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int MAX=20000;int N,M,a[100

UESTC 1214 divide && PKU 3390 Print Words in Lines [DP]

UESTC 1214 divide && PKU 3390 Print Words in Lines [DP]  兩個題有些類似,都是在限定一段連續的區間內元素之和不大於給的M,都是DP解決;UESTC的1214元素存在負數,因此貪心是不對的;   UESTC1214  二分+dp題意:給定一個N個元素的序列,不能改變順序,將N個元素分為M(M<=N)堆,最小化

李開複-演算法的力量

     

HDU 1823 Luck and Love 【二維線段樹】

一道很裸的二維線段樹。題意:操作①:加入一些mm的身高(x維),活潑度(y維),緣分值。         操作②:給定一個身高區間,一個活潑值區間,求出該區間內緣分值的最大值。二維線段樹,其實也很簡單,整個就是一個“樹套樹”的結構,一維線段樹中每個結點中有一顆子樹。由一維推廣到二維,在一維中的的一個值,變成了一顆樹。查詢的時候就是先找到對應的身高區間,然後再在活潑度區間尋找最大的緣分值。// hdu 1823 luck and love 二維線段樹#include<iostream>

NKU 1134 Relation Ordering 【dp】

NKU 1134 Relation OrderingRelation Ordering 序關係計數問題 一道很經典的dp題目。Dp題目,首先是嘗試找合適的最優子結構,或者有公用子問題。然後自己設計出合適的利於轉移的狀態。可以適當增加維數。另外本題解的範圍會超過long long。。所有需要高精度。因此用java來水。嘿嘿。(ps:以前覺得這種方法甚是ws,後來覺得用C++的高精度模板,沒什麼區別,也是ws);兩種經典解法。①dp[i]  表示: i個數能得到的不同的序關係的個數  dp[i]=s

HDU 3004 the chess 【bfs類比】

Date:2010-05-21   HDU 3004 the chess 【bfs類比】題意:給定一個N*M的棋盤,放上己方的“車”,“馬”,“炮”三子,和對方的將“S”以及其他的子“D”;規定只有己方的三子能動,不能吃除對方將之外其他的子;求最少部分能將對方將吃掉;其中“車”,“馬”,“炮”與象棋規則完全一樣,包括“馬”的蹩腳規則; 分析:演算法並不複雜,只是簡單的BFS類比一下過程。只是中間的一些細節出來很麻煩;下午寫了下,一直wa。晚上debug一下,發現是一個 減號 誤寫成了

fread() fwrite()執行個體

#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp; float num=11.22334; fp=fopen("E:\\Recent Files\\test.txt","wb"); if (NULL==fp) { printf ("cannt open\n"); exit (1); }

Poj 1185 炮兵陣地 【狀態壓縮dp】

Poj 1185 炮兵陣地NOI的經典題目。首先看資料範圍,列數C<=10,很容易誘導我們向狀態dp方向考慮。很多時候,題目的資料範圍就決定了你的演算法的複雜度,也影響著我們的思考方向。把問題看做是多階段決策過程。很容易發現,第i行選擇的位置(狀態),只和i-1,i-2行情況有關,與i-2之前的那些行的決策無關。 用狀態dp來做。用一個整數x表示該行的狀態,二進位中1表示該處放了炮兵,0表示沒有。 這樣,我們經過前兩行的狀態就能推到下面一行每個狀態的最大個數。令dp[i][j][k] 表示

轉:女生應該找一個玩ACM的男生

轉:女生應該找一個玩ACM的男生1、強烈的事業心 將來,他也一定會有自己熱愛的事業。而且,男人最性感的時刻之一,就是他專心致志做事的時候。所以,找一個機會在他全神貫注玩ACM的時候,從側面好好觀察他,你就會發現我說的話沒錯。2、永不放棄的精神

約瑟夫環 josephus

問題描述:   有 n 個人 圍成一個環       從第start個人 開始    數 n_th個人     數到第n_th個人時   這個人出去 ,接著從這個人後再數n_th,一直迴圈,求最後一個出去得人 的序號比如:   n=9,start=1,n_th=51 2 3 4 5 6 7 8 9    a[4]   第五個出去得: 1 2 3 4 6 7 8 9     然後繼續數 5個  去除a[0] 第一個2 3 4 6 7 8 9.....................the

大數相乘以及其高效演算法

測試案例:999 999998001999999999999      999999999999999999999998000000000001下面分析下999*999   6    5   4   6   5    436 30 24      30 25 20           24 20 16-------------------------------這裡結果 就清楚了但是要注意    asc 碼  最大是 128    所以要在加的時候就處理好    下面給出代碼     普通 

fzu 1877 Minisum [動態規劃]

 Fzu月賽題目,當時沒做出來。最小化Ans=Min{sum{ai*aj},其中遍曆所有的i<j};而ai 只考慮取a[i] 或者 -a[i];(這裡不知道why了?) 考慮dp[i][j] : 前i個數可能組成的和為j時的 當前ans的最小值.考慮資料範圍,j可能的取值為[-4000 , 4000]。因此為了不出現負數,加上定值M=4000。那麼dp[i+1][j+a[i+1]]=min(dp[i+1][j+a[i+1]],dp[i][j]+ (j-M)*a[i+1]);dp[i+1][

fseek(FILE *, long, int)執行個體

/************************************************* fseek(FILE *, long, int) 參數分別表示指向操作檔案指標,位移量,起點檔案開頭 SEEK_SET 0檔案當前指標位置 SEEK_CUR 1檔案末尾 SEEK_END 2比如:fseek(fp,10L,SEEK_SET);這句就是以(seek_set為起點,往後移動10個位元組)=指標指向的地方 ftell(

NKU 1131 編輯距離 【經典dp】

 題意:灰常經典的題目,就不用說了。最近看王曉東的《電腦演算法設計與分析》,就照著找題目刷了。分析:經典dp題目。      首先自己設計一個狀態dp[i][j](含義A串的前i個字元和B串的前j個字元的編輯距離),很容易分析出一個最優子結構;      If(s[i]==t[j]) dp[i][j]=dp[i-1][j-1];      Else  dp=min(dp[i-1][j]+1,dp[i-1][j-1]+1,dp[i-1][j]+1);Else 中三個決策分別是 刪除,改變,插入一個

再論數組與指標

話說已經好久沒有進行理論知識補充了,前幾天又看到一個朋友的工資上萬了,到百度工作去了,真是無限仰慕啊不廢話了,再說下自己對數組的新認識吧,算是一個以前的一個誤解了,今天晚上看c專家與編程,又得到了新的認識先把代碼貼出來#include <iostream>using namespace std;int main(){ int a[10]; int *p; int i=0; for (i=0; i<10; ++i) a[i]=i;

大數相加、相減、

這裡直接貼代碼了,代碼裡面有注釋另外裡面還有一個是 乘法的,乘法的再上一部落格就有提到了,讀者可以          clickhere裡面 由於輸入的問題可能 有亂碼情況   具體的原始碼我放在   點擊這裡進入下載     #include <iostream>using namespace std;#include <string.h>#include <stdlib.h>#define max(a,b)

fzu 1927 取數遊戲 【最小費用流】

fzu 1927 取數遊戲模型有點隱形費用流,很不錯的題目。慚愧的是很長時間沒寫費用流了,調試了N久。-_-b.. 將數組A[i]中的每個數看做一個點i,並拆出對應的點N+i(為了限制流量)。那麼通過這個點的流量可以直接流向匯點,以b[i]的費用。也可以通過流向其他的點以較小的代價流出。 建圖:①新增源點,向每個初始點i連邊,容量為1,代價為0;②新增匯點,由拆分出來的點N+i向匯點連邊,容量為1,代價為0;③由每個初始點i向匯點連邊,容量為1,代價為b[i].④如果A[i],A[j]滿足有合適

總頁數: 61357 1 .... 20896 20897 20898 20899 20900 .... 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.