HDOJ 2188&&2149 水博弈

一起做過類似的,如果是以前的我的話,肯定會從0狀態開始,打個表搞起。現在想到了另外一種方法,把箱子看成裝滿錢的,每人從裡面拿錢,最多拿m元,拿到最後一張的獲勝。#include<iostream>using namespace std;int main(){ int T; scanf( "%d",&T ); while( T-- ) { int n,m; scanf( "%d %d",&n,&m ); if( n%(m+1) )

HDOJ 幾道博弈水題

HDOJ 1847 SG函數入門(不用也行)基本博弈的理解。#include<iostream>using namespace std;int main(){ int n,list[1111]; memset( list,0,sizeof(list) ); for( int i=1;i<=1000;i++ ) for( int k=1;i-k>=0;k*=2 ) { if( list[i-k]==0 ) list[i]=1;} while( scanf("%d",&

[U]3.3.3 麻煩的思路題

騎士走的方式用普通的BFS,儲存每個騎士的最短路徑。然後枚舉每個騎士在每個點接國王,計算路徑即可。相當麻煩的考驗耐心的題目。/*ID:bysenLANG:C++PROG:camelot*/#include<stdio.h>#include<queue>#define MAXR 31#define MAXC 27#define INF 0x0FFFFFFFusing namespace std;struct K{ int r,c;}knight[MAXR*MAXC];

POJ 3189 圖論技巧題

這題的技巧就是:枚舉---旋轉卡殼法。題目大意:每頭牛對每個穀倉有一個喜歡程度,FJ的目的就是要使得每頭牛的happy值儘可能的相同,求最小的範圍。這題的枚舉還是很有技巧的。雖然知道怎麼來滑動視窗。。 但是我的網路流EK演算法太不給力了!沒辦法.. 去學習了下SAP勉強把這題切掉了= =#include<iostream>#include<string>#include<cstdio>#include<algorithm>#define MN 11

HDU 1796 How many integers can you find 容斥原理

WA了N久N久... 最後發現原來是自己有些特殊情況沒有存好。一個條件讀入的資料要符合(1,N)這個區間範圍內....在處理的時候沒有處理好,天真的沒有排除,只是當有這樣的資料的時候跳過.... 當然... 悲劇發生了=

ZOJ 2332 網路流英文閱讀題

題目大意:某人有很多寶石,各種顏色和形狀,該人有超能力能改變寶石,使之變化一種顏色及形狀。該人要送寶石給女友,他忍受的每種形狀的寶石有上限,女友忍受的每種顏色的寶石有上限。求能否使得該人送寶石給女友,使得兩人都滿意?思路:本來我的思路是錯的。如下面第一個代碼,我這麼寫:BF先讓自己盡量忍受同形狀的寶石,再將不能忍受的流向女友,當自己可以滿流的時候,也就是自己完全能忍受,女友能把自己不能忍受的寶石全部吸收,這樣就是一個合格了。但是,我的這種思路是錯的,因為,再初始流的時候,BF就可以把寶石變化,使

[U]3.2.3 Spinning Wheels 類比

用的最簡單的方法過的,赤裸裸的類比題。估計一下時間複雜度,發現類比可以做,果斷類比了,不過類比得不好,太慢了。最好是學會bitset類,這樣省空間。用bool要用掉8位.用360位的bitset可以直接判斷了,不需要每次掃掃掃...代碼果斷很醜:/*ID:bysenLANG:C++PROG:spin*/#include<stdio.h>using namespace std;struct node{ int s,e,len; }wheel[6][6]; int v[6];int

HDU 2816 有趣的噁心類比

真虧HH神犇能想出這種噁心題!而且題目描述還這麼坑爹!奇偶不說清楚!#include<iostream>#include<cstdio>using namespace std;char str[1111];char l1[111];char l2[111];int len;void work(){ len=strlen(str); int index[26]={21,22,23,31,32,33,41,42,43,51,52,53,61,62,63,71,72,73,

HDOJ 1754 單點更新段查詢最大值 初級線段樹

下面是NOS神犇的簡介:{在代碼前先介紹一些我的線段樹風格:maxn是題目給的最大區間,而節點數要開4倍,確切的來說節點數要開大於maxn的最小2x的兩倍lson和rson分辨表示結點的左兒子和右兒子,由於每次傳參數的時候都固定是這幾個變數,所以可以用預定於比較方便的表示以前的寫法是另外開兩個個數組記錄每個結點所表示的區間,其實這個區間不必儲存,一邊算一邊傳下去就行,只需要寫函數的時候多兩個參數,結合lson和rson的預定義可以很方便PushUP(int

[U]3.2.6 Sweet Butter 枚舉+SPFA

赤裸裸的SPFA模板題... 有點小失誤,變數弄錯了... 囧~枚舉集合點,A之~ 原來用的Floyd結果逾時了..../*ID:bysenLANG:C++PROG:butter*/#include<stdio.h>#include<queue>#define INF 0x7FFFFFFF#define MAXP 801#define MAXC 1500using namespace std;struct Edge{ int v,len; Edge

HDU 2141 二分

下午練習一下二分吧,感覺寫得很挫....用A和B兩個數組的和作為一個附加數組,求Ai+Bj+Ck=X只需要去搜尋A+B的和為X-Ck即可....#include<iostream>#include<string.h>#include<cstdio>#include<algorithm>using namespace std;int sum[255555];bool cmp( int a,int b ){ return a<b; }int X,

POJ 3436 網路流 英文閱讀題+技巧題

題目大意:3 415 0 0 0 0 1 010 0 0 0 0 1 130 0 1 2 1 1 13 0 2 1 1 1 1組成acm電腦有3個零件,4種機器;1號機器能產生15次,需要的3個零件:完全不需要(0:不需要,1:一定要,2:可要可不要);產出材料:產出一個單位的2號零件(1:生產該材料,0:不能生產該材料);2號機器能生產10次,不需要零件,產出一個2,一個3號零件。3號機器能生產30次,需要2號零件,3號零件可有可無,生產出1,2,3材料各一個。4號機器...

POJ 2785 4 Values whose Sum is 0 二分

簡單的二分.. 不過寫挫了... 4000*4000我算成了16W...

POJ 3498 網路流英文閱讀題

一如既往的,我又把題意看錯了....題目大意:帝企鵝喜歡群居,現在有N塊浮冰,給定企鵝跳躍能力D,給定Xi,Yi作為二維座標,Ni為該浮冰上有多少企鵝,Mi為該浮冰上有多少企鵝離開後會破裂。問是否所有企鵝能否完成群居。5 3.51 1 1 12 3 0 13 5 1 15 1 1 15 4 0

HDOJ 2509 Nim博弈

這題只是一隻紙老虎。但是我確實被它嚇到了。你瞧瞧題中說的,一個堆可以分裂成兩個堆,這麼複雜的問題實在不會做啊!準備搜題解,看看別人都是寥寥數句結題。於是我也賭氣不看題解了,自己推。分析:照樣設定T0,S0點。根據題意可知T0為必勝點,S0為必敗點。S1點:有且僅有一堆的數量>=2,這裡為啥不用考慮分割堆呢?S1能轉變為S0點,主動權當然在面臨這個選擇的人身上,顯然是必勝點。這一步分析完,豁然開朗了!接下來推S2以及T2。顯然的T2可推S1以及S2。S2可推T2以及S1。S2一定可推T2,T

[U]3.3.2 DP

赤裸裸的DP題,簡單題。/*ID:bysenLANG:C++PROG:shopping*/#include<stdio.h>using namespace std;int ticket_No[100][6];int ticket_Num[100][6];int ticket_Money[100];//票的成員,成員的數量,優惠金額int hash[1000];//編號映射 int price[5];//商品價格int getGood[5];//商品的數量 int ticketNum;

[U]3.2.4 Feed Ratios 枚舉

簡答的枚舉題,其他的不多說了....切掉之後看了下題解,複習了一遍高斯消元法和克萊姆法則。發現還是數學方法好啊。雖然枚舉很省coding時間,於是乎,抱著節省code時間的態度,決定開始用模板類.....克萊姆法則有幾條重要的1.非齊次線性方程,係數矩陣D=0時,有無窮多解。D≠0時,有唯一解。2.齊次線性方程.係數矩陣D=0時,有解。否則無解。另外克萊姆法則的時間效率低,因為行列式的運算=.=使用高斯消元法,將行列式變成上下三角行列式,接著化係數,變成對角矩陣。就可以看出解了。方便解小數解。C

HDOJ 4004 The Frog’s Games 二分

去年網路賽沒做出這道題來...真是慚愧慚愧啊...惡補了一下二分,感覺難度和for迴圈差不多。等把五個二分題AK後,用hash再來做一邊吧。補習中....思路:二分尋找渡河最小能力值。用能力值來渡河...正確判斷演算法的時間複雜度可以省很多代碼時間的啊....受教了....本來做題使用的兩次二分,比較依據為跳躍次數。後來發現不需要兩次... 一次即可..#include<iostream>#include<algorithm>#define INF

POJ 2289 二分最大流

這中類型的題做過兩道了,所以一見題就知道思路了。不過這題的輸入比較噁心,還好能應付。本來不想做這題的,但是看到資料也還大1500個點,想用鏈表試試,先敲了個二維數組,等待TLE的過程中1Y了....何其蛋疼!1500ms 不算快...#include<iostream>#include<cstdio>#include<cstdlib>#include<string>#include<map>#define CC(a) memset(a,

ZOJ 2760 最短路徑條數問題

雖然以前做過最短路徑的條數問題,但這個問題有點奇葩,在最短路徑數量中,路徑不能重複使用= =....如果可以重複使用還是很簡單的,用dij去推就好了。將起點賦值為1,向相鄰的邊推自己,如果0->1有兩條邊同樣短,那麼.. 0->1就推兩次,所以0->1就有兩種走法。這題不同,路徑不能重複,so...

總頁數: 61357 1 .... 13439 13440 13441 13442 13443 .... 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.