原创 POJ3283 Card Hands(字典樹)

題目大意: 給定n副牌計算一共有幾張牌出現,如果前綴或後綴相同則此前綴或此後綴上的牌只計算一次。 題目思路:本題要用到字典樹,並且將不同的牌用花色編號*13+牌號來記: #include<iostream> #include<

原创 POJ 1502 MPI Maelstrom最短路問題

題目大意: 有n個處理器,求一號處理器到所有處理器所需的時間總和。題目給出一個倒三角x表示兩個處理器不能直接連通。數字表示傳輸時間。 題目思路: 先通過倒三角,求出圖的鄰接矩陣表示在裸dijkstra,程序如下: # inc

原创 合併果子(優先隊列)

轉載自http://blog.csdn.net/hh_cnyali/article/details/51568828 #include<bits/stdc++.h> using namespace std; int n,i,m,k

原创 POJ1804 Brainman (逆序對)

題目大意: 給定一個序列,求逆序對。 思路:枚舉統計逆序對個數: # include<stdio.h> # include<stdlib.h> int a[10000]; int main(){ int ans,i,j

原创 POJ3579 Median(二分查找)

題目大意: 給出n(3<=n<=100000)個數,f(i,j)=|a[i]-a[j]| (1<=i小於j<=n)。求所有的f(i,j)裏面中位數的值。 思路,二分查找中位數: # include<stdio.h> # inc

原创 幸福的路

題目: 每天,John都要爲了農場裏N(1≤N≤10)頭牛的健康和幸福四處奔波。每頭牛的位置可以描述爲一個二維座標,John從座標原點(0,0)出發。爲了使路徑更有趣,John決定只沿着平行於座標軸的方向行走,這樣只能沿着東西南北方向運

原创 [USACO2.2]集合 Subset Sums

題目: 對於從1到N (1 <= N <= 39) 的連續整數集合,能劃分成兩個子集合,且保證每個集合的數字和是相等的。舉個例子,如果N=3,對於{1,2,3}能劃分成兩個子集合,每個子集合的所有數字和是相等的:{3} 和 {1,2}這

原创 [USACO1.4]等差數列 Arithmetic Progressions

題目: 一個等差數列是一個能表示成a, a+b, a+2b,…, a+nb (n=0,1,2,3,…)的數列。在這個問題中a是一個非負的整數,b是正整數。寫一個程序來找出在雙平方數集合(雙平方數集合是所有能表示成p的平方 + q的平方的

原创 POJ1887 Testing the CATCHER(lis)

題目大意: 給定若干組數,每組以-1結尾,求每組的最長下降序列。 題目思路:我們可以將這道題中的數的順序倒過來,就變成了lis的裸題了,注意n^2不行: #include<iostream> #include<cstdio> #inc

原创 noip 提高備戰(低級錯誤)

2017年10月15日

原创 luogu(P1868 飢餓的奶牛)

這是一道有趣的dp題d[i]:前i堆草最多可以吃幾堆#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> using namespace std;

原创 NOIP提高組2011 聰明的質監員

題目: 小T 是一名質量監督員,最近負責檢驗一批礦產的質量。這批礦產共有 n 個礦石,從 1到n 逐一編號,每個礦石都有自己的重量 wi 以及價值vi 。檢驗礦產的流程是: 1 、給定m 個區間[Li,Ri]; 2 、選出一

原创 POJ 2352 Stars(treap)

題目大意: 給出n個y座標遞減的星星座標,每個星星都有一個一個等級是這顆星星下邊和右邊的星星總數(水平垂直也算),求每個星星的等級。 題目思路: 用2叉樹統計星星個數,treap優化,下邊不用算: #include<cstdio> #

原创 NOIP提高組2015 飛揚的小鳥

題目: Flappy Bird 是一款風靡一時的休閒手機遊戲。玩家需要不斷控制點擊手機屏幕的頻率來調節小鳥的飛行高度,讓小鳥順利通過畫面右方的管道縫隙。如果小鳥一不小心撞到了水管或者掉在地上的話,便宣告失敗。 爲了簡化問題,我們對遊戲

原创 luogu(P2254 瑰麗華爾茲)

題目: 一架鋼琴從(x,y)開始在一個n*m的矩陣裏移動,矩陣中有一些點爲障礙,不能與障礙重合或超出邊界。共有i個時間段,每個時段的開始時間爲si,結束時間爲ti,在這一時段內只能向di方向移動(di=1,2,3,4即上、下、左、右)