POJ 3020 Antenna Placement 匈牙利演算法

題意:一個矩形格子裡,有n個城市,現在這n個城市都要覆蓋無線。對於任意一個基站,它可以覆蓋任意相鄰的兩個格子。那麼如和建立基站,才能使所有的城市都被覆蓋,並且所用的基站數量最少?題解:把城市看作點,相鄰的兩個城市之間連一條邊。若a,b間存在一條邊,那麼a,b可以用同一個基站覆蓋,而那些單獨剩下的每一個點都必須用一個基站來覆蓋。所以總的基站個數 = 最小邊覆蓋 = 最大二分匹配

cin.get( )與cin.getline( )的區別

cin.getline()和cin.get()都是對輸入的面向行的讀取,即一次讀取整行而不是單個數字或字元,但是二者有一定的區別。cin.get()每次讀取一整行並把由Enter鍵產生的分行符號留在輸入隊列中,比如:#include <iostream>using std::cin;using std::cout;const int SIZE = 15;int main( ){cout << "Enter your name:";char

scanf()、getchar()、gets()比較

相同點:調用scanf()、getchar()、gets()這三個函數時,若緩衝區中殘留有可令函數結束的字元,則函數碰到時會按自己結束方式結束。沒有可令函數結束的字元,則函數會等待鍵盤輸入。鍵盤鍵入的資料都會先放入輸入緩衝區中,然後函數從緩衝區中讀資料。 不同點:讀字串:scanf()函數:從緩衝區中拿字元,碰到【空格、斷行符號、Tab鍵】則將其從緩衝區中扔掉。遇到第一個不為【空格、斷行符號、Tab鍵】的字元後開始讀取,再次碰到【空格、斷行符號、Tab鍵】時結束。(最後碰到的這個【空格、斷行符號

Codeforces Beta Round #95 (Div. 2) (點雙聯通)

D. Subwaytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputA subway scheme, classic for all Berland cities is represented by a set of n stations connected by n passages, each of which connects

POJ 3026 Borg Maze BFS+Prim

題意:給定一個迷宮,在一個迷宮內,建立一顆最小產生樹串連所有點。(這些點即‘A’或‘S’)題解:通過BFS找到'S'與每個’A'之間的最短路徑。然後prim 建立最小產生樹。#include <queue>#include <cstring>#include <iostream>using namespace std;#define INF 10000000#define N 52bool vis[N][N];int path[N*2][N*2],

POJ 3006 Dirichlet’s Theorem on Arithmetic Progressions 素數

題意:給出一列等差數列。等差數列的起點a與公差d互素。求數列的第n個素數。#include <cmath>#include <iostream>using namespace std;int Prime[1000000];int main(){int i, j;memset(Prime,-1,sizeof(Prime));Prime[0] = Prime[1] = 0;for ( i = 2; i <= 1000; i++ ){if ( Prime[i] )for

POJ 1503 Integer Inquiry 高精度加法

題意:輸入若干個大整數,求其和。#include <cstring>#include <iostream>using namespace std;int sum[111];char str[101];int main(){int i, j, len;while ( cin >> str ){len = strlen(str);if ( strcmp(str,"0") == 0 ) break;for ( i = 110, j = len - 1; j >

POJ 2262 Goldbach’s Conjecture 數論

 題意:哥德巴哈猜想:任何兩個大於4的偶數都等於兩個奇素數之和。輸入n, 求 n = a + b, a, b 為奇素數, 若不存在這樣的a, b,輸出Goldbach's conjecture is wrong。#include <memory>#include <iostream>using namespace std;int prime[1000000];int main(){int i, j,

POJ 2739 Sum of Consecutive Prime Numbers 數論

題意:給定一個數值,判斷他是否等於一連串素數之和(這些素數必須是連續的)。輸出滿足條件的組合的個數。題解:預先求出連續的素數和。然後找到不大於n的最大素數,那麼所有的組合(連續不斷的素數)只可能在此範圍內。#include <cstring>#include <iostream>using namespace std;bool flag[10002];int prime[10002], sum[1402];int Pnum;int main(){int i, j, k ;

POJ 2109 Power of Cryptography 數論

題意:求 k,令 k 的 n 次方和 p 相等。題解:偷了下懶。 不過高精度還得再熟悉下,有空就系統補做一下吧。不過c++中類型的有效範圍還是得記著:類型                長度      有效數字      絕對值範圍float                32         6~7          10^(-37) ~  10^38double               64         15~16        10^(-307)   ~   10^308long

POJ 3308 Paratroopers (最小點權覆蓋Dinic)

題意:有些火星人要來襲擊地球,我們知道這些火星人登陸的座標(row,col),現在要把他們全部KO。地球上有一種雷射武器每次可以消滅一行或者一列中所有的火星人。但是不同的行以及不同的列上安置武器的花費不一樣。並且總花費為每一行每一列的花費的乘積。現在要求在最小花費的情況下消滅所有火星人。題解:最小點權覆蓋,最小割。求乘積則換成log。給出了兩組代碼。第一組與EK演算法有些相似的地方,可以結合著看,第二組跟簡潔一些。。#include <cmath>#include

POJ 3225 Help with Intervals 線段樹

 題意:給出一個區間 0 - 65535。五種操作:OperationNotationDefinitionUnionA ∪ B{x : x ∈ A or x ∈ B}IntersectionA ∩ B{x : x ∈ A and x ∈ B}Relative complementationA − B{x : x ∈ A but x ∉ B}Symmetric differenceA ⊕ B(A − B) ∪ (B −

POJ 2586 Y2K Accounting Bug 貪心

題意:對於MS Inc來說,每個月如果盈利則必盈利sur,如果虧空則必虧空def(這個公司很怪)。它每五個月進行一次統計,共統計八次(1-5月一次,2-6月一次...)。統計的結果是這八次都虧空。判斷MS Inc全年否能盈利,如果能則求出最大的盈利。如果不能則輸出"Deficit"。題解:已知每月盈利為S,虧損為 d。則每個階段的5個月裡要麼是 S,剩餘的都是 d。即5個月中, 4個 S 就有 ( 5 - 4 ) 個 d,3個 S 就有( 5 - 3 ) 個 d

POJ 3094 Quicksum 水題

題意:A = 1, B = 2, C = 3, ····  Z = 26, ' ' = 0. 例如:ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650題解:#include <iostream>using namespace std;int main(){char str[256];while ( cin.

POJ 1328 Radar Installation 貪心

題意:海中有許多島嶼,現在要再海岸上建立雷達,但是每個雷達的覆蓋半徑只有d,為了使每個島嶼都被覆蓋到,求最少需要多少雷達。(建立座標系,海岸為 x 軸,島嶼以座標形式給出。題解:先求出每個島嶼的被覆蓋範圍,即當島嶼被可以被覆蓋時,雷達可以建立的最左位置及最右位置。將每個島嶼的最左位置升序排列,然後貪心求解。#include <cmath>#include <algorithm> #include <cstdlib>#include

POJ 3041 Asteroids 匈牙利演算法/最小點覆蓋

題意:給你一個N*N的矩陣,有一些格子裡有小行星,現在Bessie有一些威力很大的炮彈,每一次射擊都能夠消滅掉矩陣中一行或一列的小行星,但是炮彈很貴,問你需要消滅掉所有小行星所需的最小炮彈數目。題解:一道很顯然的最小點覆蓋的問題,將矩陣中每一個行看成集合A中的一個點,每一列看成集合B中的點如果第i行第j列有小行星則將Ai和Bj連一條邊。顯然題目要求的就是次二分圖的最小點覆蓋問題,在二分圖中,最小點覆蓋=最大匹配,可以使用匈牙利演算法解決。#include

POJ 2503 Babelfish hash / qsort+ bsearch

題意:先輸入字典,然後查詞。(以輸入空格為界)題解:別忘了字串二分尋找#include <cstring>#include <iostream>using namespace std;#define prime 100003struct Union{char eng[11], fore[11];} p[100001];struct node{int id;bool flag;} hash[prime][10];int get_hash(char *str)

POJ 2226 Muddy Fields 匈牙利演算法/最小點覆蓋

題意:農夫John的養牛場,是一個R 行C 列的矩形,一場大雨後,養牛場低洼的地方都有了積水。John 的牛都很嬌貴的,他們吃草的時候,不想把他們的蹄子給弄髒了。為了不讓牛兒們把它們的蹄子弄髒,John

POJ 1840 Eqs hash

題意:解方程組a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 ,x屬於[50,50]且x!=0輸入a1,a2,a3,a4,a5,輸出一共有多少種滿足方程的解。題解:左右分開,hash#include <iostream>using namespace std;#define prime 14999 int cube[105], hash[prime][100], a[6];void get_cube(){int t = -1;for( int i = -50

匯入資料(ADO.Net)

源碼記錄在Main 裡加上string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\")) { dataDir =

總頁數: 61357 1 .... 13174 13175 13176 13177 13178 .... 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.