Time of Update: 2018-12-03
問題描述: X集合(編號1~m),Y集合(編號m+1~n)。n,m<100. 給出若干組合(x,
Time of Update: 2018-12-03
今天真是被虐到死.......不說廢話了...分析下題目:題意: 一個8x8的棋盤, 每個小格子有一個值v(0<v<100), 現在要把格子切成n塊, 切n-1刀, 每刀把棋盤切去一塊不要, 然後剩下的那塊繼續這樣切. 注意: 所謂不要的那塊是以後都不能再去切了.(話說開始硬是沒看懂題目那圖是咋回事....), 這個理解很重要啊, 直接關係到解法.....然後切成的N塊, 每塊的值為它包含的小格子的Σv. 令e為N塊的值的標準差, 問你e最小能為多少.思路: 1/我們先來考慮怎麼切.
Time of Update: 2018-12-03
看完線段樹本來打算找這道基礎題練手,但是悲慘的砸進去2個半小時。本來打算寫個線段樹的總結,看來也沒時間了。改了七次才AC,ZOJ又狂抽風。淚奔。最BT的是最後一次犯錯的代碼竟然是TLE掉,不禁感歎牛逼~(見注釋⑦處)另看了下別人的代碼,都比較短,思路不太一樣。什麼情況,明天再看看~代碼爛注釋,慎入#include<cstdio>#include<cstring>#include<iostream>using namespace std;inline int
Time of Update: 2018-12-03
題目大意: 給出一根長為l的木棒,要切指定的n刀(在木棒上的絕對位置)。而每一刀的消費是被切的木棒長度,求最小總消費。另外,注意輸出格式:e.g. The minimum cutting is 200. 題目類型: dp。分析:①開始還在想是不是可以貪心之類的(雖然知道做的是dp篇=。=),於是就想決策,考慮是不是每次要切較中間的部分,但第二個sample就不符合。還是老實想dp吧。②看了下輸入 l < 1000, n <
Time of Update: 2018-12-03
題目在這裡 http://acm.hdu.edu.cn/showproblem.php?pid=4004以前我真的沒怎麼做過二分答案的。(鄙視我吧...)顯然這題的答案是一個單調序列,二分可以使複雜度為logn代碼://hdoj-4004 二分+驗證//1<= L <= 1000,000,000、0<= n <= 500,000、1<= m <= n+1#include<cstdio>#include<cstring>#include&
Time of Update: 2018-12-03
很簡單的最小產生樹類型,直接求連一起的最小路程。 Prim演算法和DIJ很類似啊,就變了一步。。。 KRU讓我糾結了好長時間,不過還好明白了,PRE數組中存的是與i同一集合的下標。。。 Prim#include <stdio.h>#include <stdlib.h>#include <limits.h>#include <memory.h>#define N 28int map[N][N],n;void input(){ char
Time of Update: 2018-12-03
和1406基本一樣 不過用prim輸入的時候 加了個判斷,因為可能有重複的邊,要最小的那條。kruskal寫的還是不熟練!! #include <stdio.h>#include <stdlib.h>#include <iostream>#define N 55using namespace std;int n,m,map[N][N];void input(){int i,j,x,y,p,len;cin>>m;for(i=1; i<=n;
Time of Update: 2018-12-03
prim熟練了 就沒用prim寫,這次用kruskal熟練了不少~~下次繼續~ 我懷疑它的資料中 輸入的矩陣不是對稱的。。。。 #include <stdio.h>#include <stdlib.h>#include <iostream>#define N 110using namespace std;struct node{int x,y,len;}farm[N*N];typedef struct node NODE;int cmp( const
Time of Update: 2018-12-03
哈哈~~這次寫kruskal 完全自己寫的 沒有參照以前寫的 哈哈~~不容易。。。 求出得出的最小產生樹上最長的路長,小變形而已。HITS提示用scanf。。我試試cin,逾時了,改成scanf AC。。。 #include <stdio.h>#include <stdlib.h>#include <iostream>#define N 510using namespace std;int n,p,pre[N];struct c{int
Time of Update: 2018-12-03
做的這幾道基本都是一樣的。。。。 prim糾結死了,SE了好多次。。。後來發現是要在賦值的時候 map[x][y] = map[y][x] = len; 原來忘了把兩條路都弄上,只弄了一個。。。 kruskal很順當。。。我應該學學黨那種優先隊列的方法了。。。 PRIM#include <stdio.h>#include <stdlib.h>#include <iostream>#define N 510using namespace std;int map[
Time of Update: 2018-12-03
前幾道最小產生樹的題都是PRIM與KRUSKAL均可以做的,這道題明顯的prim簡單點~~ 還是挺水的MST。。。不過PE了N次。小糾結下。。。 #include <stdio.h>#include <stdlib.h>#include <iostream>#include <iomanip>#include <math.h>#include <limits.h>#include
Time of Update: 2018-12-03
該死的字典序。。。 排序抄黨的。。。我了個去。。。自己想的還是有問題,不瞭解那個qsort裡面的比較函數是怎麼實現的。。。 中秋,大家要快樂~~哈哈哈哈哈哈哈哈哈哈,不爽,吃飯去。 #include <stdio.h>#include <stdlib.h>#include <iostream>#define N 110using namespace std;struct c{int x,y,len;}pc[N*N],put[N];typedef struct
Time of Update: 2018-12-03
這道題目和POJ有一道題目一樣哎,但是內容不一樣。。 這道題其實也挺水的,如果再加個字典序的話就糾結點,可惜沒有而且還是special judge~ 開始一直WA,看了黨的才知道,我開始判斷不加入集合的有點錯,我以為不加到節點中就可以在下面的過程中不判斷已經有高速的路了,WA證明我這點是錯滴。。。因為kruskal演算法是判斷與它在一個集合裡的點。。。等等等等。。。不加入的話,在PRE數組中體現不出來它們已經在集合裡了。。。說得挺糾結的吧 呵呵~ #include <stdio.h>
Time of Update: 2018-12-03
好糾結啊。。。這題蠻水的。。。。把買adopters的費用加到map裡就行了。。。很順利滴寫完了。。交了。。WA.。。 查了半天錯。。。i j寫錯了。。。我了個去啊。。。以後不用i j 了,我用i k。。。。 #include <stdio.h>#include <stdlib.h>#include <iostream>#include <limits.h>const int N = 1002;using namespace std;int
Time of Update: 2018-12-03
給你點的座標,計算最小產生樹,然後算去掉給定數目的樹上的最長邊後的那條邊。 我用的PRIM,先把邊算出來,然後快排,再取題目要求的那條邊。 我用qsort老不對。。。用sort對了。。。 排名很靠前,嘻嘻,不過,已耗用時間枕的是靠RP。。。 #include <stdio.h>#include <stdlib.h>#include <iostream>#include <limits.h>#include
Time of Update: 2018-12-03
很早以前WA掉的,今天改都沒改交了,A了,我很費解,很憤慨 = =。。 不解釋。 #include <stdio.h>#include <stdlib.h>#include <iostream>#include <memory.h>#include <limits.h>#define N 1001using namespace std;struct edge{int x,y,len;}hub[15001];typedef struct
Time of Update: 2018-12-03
比賽連結 先聲明本人菜鳥一隻,各種牛就不用看了⊙﹏⊙b..寫在這裡只為督促自己儘快弄完這些題咯。 解題報告連結:AOrdinal Numbers51.24% (413/806)BConic Section29.45% (291/988)COld Labels5.26% (6/114)DString Successor15.50% (198/1277)EWall-nut Bowling0.00% (0/13)FKagome Kagome55.55% (345/621)GPalm Up and
Time of Update: 2018-12-03
題目就是給你一個所謂的二叉樹的S-expression 讓你判斷是否存在指定的 根到葉子的路徑和。我在這裡用到cin.putback() (C裡有 int ungetcA(int ch, FILE *stream) 在cstdio中),方便把下一個字元拿出來判斷後再塞回緩衝區,最後用格式化讀。特別注意的是,題目所說的葉子,必須具有(integer()()) 這樣的形式才是一個葉子,也就是不是算到()
Time of Update: 2018-12-03
很水的最小產生樹。 給你兩個城市之間的道路(無向圖),求出需要的電纜。如果大於所提供的,就輸出Not enough 。。。 否則輸出所需要的電纜長度。 Prim。。。這題沒有說城市數目。。。210SF 310AC了。。。估計就這兩者之間吧。 如果資料量大點,是要最佳化的,可以用字典樹尋找城市名字。 #include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>#
Time of Update: 2018-12-03
第一次在這上面發 嘻嘻~~~~~~ 這個題 半衰期什麼的