Time of Update: 2018-12-04
有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。 輸入包含若干行,表示若干種石子的初始情況,其中每一行包含兩個非負整數a和b,表示兩堆石子的數目,a和b都不大於1,000,000,000。 輸出對應也有若干行,每行包含一個數字1或0,如果最後你是勝者
Time of Update: 2018-12-04
Problem Description有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。如果你勝,你第1次怎樣取子? Input 輸入包含若干行,表示若干種石子的初始情況,其中每一行包含兩個非負整數a和b,表示兩堆石子的數目,a和b都不大於1,000,
Time of Update: 2018-12-04
文章目錄 InputOutputSample InputSample Output Problem DescriptionWhuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. One day Hibix opened purse and found there were some coins. He decided to buy a
Time of Update: 2018-12-04
Problem Description十年前讀大學的時候,中國每年都要從國外引進一些電影大片,其中有一部電影就叫《勇敢者的遊戲》(英文名稱:Zathura),一直到現在,我依然對於電影中的部分電腦特技印象深刻。今天,大家選擇上機考試,就是一種勇敢(brave)的選擇;這個短學期,我們講的是博弈(game)專題;所以,大家現在玩的也是“勇敢者的遊戲”,這也是我命名這個題目的原因。當然,除了“勇敢”,我還希望看到“誠信”,無論考試成績如何,希望看到的都是一個真實的結果,我也相信大家一定能做到的~各位
Time of Update: 2018-12-04
描述 南將軍手下有N個士兵,分別編號1到N,這些士兵的殺敵數都是已知的。小工是南將軍手下的軍師,南將軍經常想知道第m號到第n號士兵的總殺敵數,請你協助小工來回答南將軍吧。南將軍的某次詢問之後士兵i可能又殺敵q人,之後南將軍再詢問的時候,需要考慮到新增的殺敵數。輸入 只有一組測試資料第一行是兩個整數N,M,其中N表示士兵的個數(1<N<1000000),M表示指令的條數。(1<M<100000)隨後的一行是N個整數,ai表示第i號士兵殺敵數目。(0<=ai<=1
Time of Update: 2018-12-04
Kruskal演算法是以邊為主導地位,始終都是選擇當前的可用的最小權值的邊。其主要思想為1:設一個n個頂點的連通網路為G(V,E),最初先構造一個只有n個頂點沒有邊的非連通圖T=(V,空集),每個頂點自成一格連通分量。2:當在E中選擇一條具有最小權值的邊時,若該邊的兩個頂點落在不同的連通分量上就將此邊加入T中,否則就捨去並且以後永久的不使用這條邊,重新選擇一條權值最小的邊。3:如此重複,直到所有的頂點在同一個連通分量上。Kruskal演算法在沒選擇一條邊加入到產生樹的集合T中時有兩個關鍵步驟如下
Time of Update: 2018-12-04
舉著見過的例子要說明吧! 假設一個序列d[1..9] = 2 1 5 3 6 4 8 9 7,可以看出來它的LIS長度為5.下面慢慢的一步一步的找出它的LIS. 我們定義一個了序列為B,然後用i從1到9慢慢的考察。另外再定義一個len來記錄當前的最長序列的長度首先,把d[1]有序地放到B裡,令B[1] = 2,就是說當只有一個數字為2的時候,長度為1的LIS的最小末尾是2,這時Len=1,然後,把d[2]有序地放到B裡,令B[1] =
Time of Update: 2018-12-04
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1548 題目大意:就是說有一個很奇怪的升降機,它有兩個按鈕UP和DOWN,給你一些數i展示層數,並且每層對應的Ki,如果按UP按鈕,會從第i層升到第i+Ki層;如果按了DOWN則會從第i層降到第i-Ki層;並規定能到的層數為1到N,根據常識也知道。現在的要求就是給你N,A,B和一串數K1到Kn,問你從A到B,至少按幾下按鈕。 解法有多種:解法一:最短路求解: 代碼: #include<iostr
Time of Update: 2018-12-04
Problem DescriptionA ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.Note: the number of first circle should always be
Time of Update: 2018-12-04
在該演算法中,尋找增廣路和改進網路流的方法稱為標記法。
Time of Update: 2018-12-04
HDU1728:http://acm.hdu.edu.cn/showproblem.php?pid=1728該題不難,簡單的BFS,其複雜的地方就是要找出其最小的轉彎次數#include<iostream>#include<queue>using namespace std;int Sx,Sy,Ex,Ey,T;int visit[101][101];int n,m;char Map[101][101];int dir[4][2]={{1,0},{-1,0},{0,1},{
Time of Update: 2018-12-04
HDU1385:http://acm.hdu.edu.cn/showproblem.php?pid=1385
Time of Update: 2018-12-04
題目 :http://acm.hdu.edu.cn/showproblem.php?pid=4003題目類型:樹形DP,參看別人的代碼AC的。首先定義DP[i][j],為根節點i往子節點投放j個 機器人所需的最小花費。根據題意可以知道,機器人是可以走回頭路的。稍微分析下可以知道,如果從根節點派往子節點如果要折回到根節點,派向這個子節點的機器人越多,產生的重複路徑就會越多,所以那麼派往這個子節點的個數為1時是最優策略。那麼定義DP[i][0]存放1個機器人,從子節點返回到根節點的花費。關鍵是思考:
Time of Update: 2018-12-04
題目:http://acm.hdu.edu.cn/showproblem.php?pid=1032資料太弱了。。。開始我以為還要從後面往前面推。。哪知道可以直接暴力。。下面是AC代碼#include <iostream>#include <cmath>using namespace std;void swap( int &a, int &b ){ int temp= a; a= b; b= temp;}int get(__int64 x
Time of Update: 2018-12-04
一:關於二分圖最大匹配的兩個定理:1:最大匹配數 + 最大獨立集 = n + m(n,m為二部圖兩部分的個數)2:二分圖的最小覆蓋數 = 最大匹配數3:最小路徑覆蓋 = 最大獨立集最大獨立集是指求一個二分圖中最大的一個點集,該點集內的點互不相連。最小頂點覆蓋是指
Time of Update: 2018-12-04
題目:http://acm.hdu.edu.cn/showproblem.php?pid=1163開始以為類比可以通過的。。哪知道逾時了。。下面是類比逾時代碼:#include<iostream>using namespace std;int n;int str[1000000];int main(){while(cin>>n,n){str[0]=n;int len=1;int
Time of Update: 2018-12-04
64. [USACO 1.5] 跳棋的挑戰★☆ 輸入檔案:checker.in 輸出檔案:checker.out 簡單對比時間限制:1 s 記憶體限制:128 MB【問題描述】檢查一個如下的6 x 6的跳棋棋盤,有六個棋子被放置在棋盤上,使得每行,每列,每條對角線(包括兩條主對角線的所有對角線)上都至多有一個棋子,如下例,就是一種正確的布局。1 2 3 4 5 6-------------------------1 | | O | | | | |-----------------
Time of Update: 2018-12-04
今天突然想到一個關於二分圖的灰常xx的比喻,所以趕緊寫下來。 假設全班的男生集合為R1,女生集合為R2,男生分別記為m1,m2……女生分別記為w1,w2……。最近全班學生大多數都寂寞了,想談戀愛了於是大家都在物色目標。其中有不少男女生互相之間都有好感。但一個男生可能對多個女生有好感,一個女生也可能對多個男生有好感(都是花心大蘿蔔)—————————————————————背景交代完——————————————————————1.現在知道互相有好感的男女生都有哪些,求最多能在班上撮合幾對?
Time of Update: 2018-12-04
題目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=361BFS。。ZOJ的資料相對poj水了點,直接BFS。就可以過了、這題關鍵是判重,把蛇頭座標和蛇身相對座標表示出來。。在擷取蛇身的相對座標時搞錯了。導致錯了N次。計算蛇身時,要把蛇頭去掉。也就是l-1,= =!對於poj的資料,我用的a*過的。。稍微加了一下最佳化。。評估函數為當前步數加上蛇頭到(1,1)的至少應該走的步數。 (單獨)
Time of Update: 2018-12-04
題目:http://acm.hdu.edu.cn/showproblem.php?pid=1853二分圖的最優匹配。求最小費用流。要求所有點匹配下的最小費用,直接套用KM演算法的即可。。下面是 1853 AC代碼:#include<cstdio>#include<cstring>using namespace std;const int maxn = 305;const int INF = (1<<30)-1;int g[maxn][maxn];int