用時:20 min 時間複雜度:o(kn)
還算是比較簡單的一道題,先看部分分,發現暴力可以拿50。暴力的做法是列舉每個合法咖啡店左右兩端相同顏色的客棧。
考慮優化,由於本題中每個合法點都對答案造成影響,很容易想到維護某種字首和。
而從輸入過程中每個點的影響,無論該點是否合法,該點上的客棧都對答案做出貢獻(可為 0 ),需要知道的是離該點最近的合法點的位置前與該點顏色相同的點數
那麼維護這兩個值就可以了,詳細見**:
#include#include#include
#define maxn 200100
using
namespace
std;
intn,k,p;
int col[maxn][60
],hf[maxn];
intread()
while(ch>='
0'&&ch<='9')
return ans*op;
}int
main()
printf(
"%d\n
",ans);
return0;
}
noip2011 d1t2 選擇客棧
看起來noip特別喜歡考這種思維題 題意 有n家客棧,每家客棧有乙個顏色和乙個花費。給定最大允許花費,選擇兩家顏色相同的客棧,問有多少種選擇方式使得兩家客棧之間至少有一家花費允許的最大值的客棧 可以想到一些 n 甚至 n 的方法,但顯然不足以滿足所有資料 考慮對於每一家客棧,從右往左掃瞄,找到第一家...
選擇客棧(noip2011 day1 t2)
題目描述 麗江河邊有 n 家很有特色的客棧,客棧按照其位置順序從 1 到 nn n 編號。每家客棧都按照某一種色調進行裝飾 總共 k 種,用整數 0 k 1 表示 且每家客棧都設有一家咖啡店,每家咖啡店均有各自的最低消費。兩位遊客一起去麗江旅遊,他們喜歡相同的色調,又想嘗試兩個不同的客棧,因此決定分...
NOIP 2015 D1 T2 資訊傳遞
問題描述 有n個同學 編號為1到n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為i的同學的資訊傳遞物件是編號為ti同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳遞物件 注意 可能有人可以從若干人那裡獲取資...