題鏈
該題洛谷題解區講的都很好;
當詢問時, l == r時,答案有可能不是true... (奇怪的坑)
#include #include #include #include #include #include //#pragma gcc optimize("o2")
using namespace std;
#define ll long long
#define ll long long
#define ull unsigned long long
#define ls rt<<1
#define rs rt<<1|1
#define one first
#define two second
#define ms 50009
#define inf 1e18
#define mod 99999997
#define pi acos(-1.0)
#define pair pair#define eps 1e-9
ll n,m,k;
ll p[ms][31];
ll ha[ms];
ll lg2[ms];
mapmp;
// "x 年是自 y 年以來降雨量最多的"
// 它的含義是 x 年的降雨量不超過 y 年,且對於任意 y> n;
init_lg2();
for(int i=1;i<=n;i++)
init_st(); // 預處理 st 表
cin >> m;
while(m--)
else if(mp[x] && !mp[y])
else if(!mp[x] && mp[y])
else if(mp[x] && mp[y])
}else}}
} else }
return 0;
}
洛谷 P2471 SCOI2007 降雨量
題目鏈結 在神貼題單裡看到了這道題,就拿出來做了。神貼鏈結 推薦看看這個洛穀神貼題單,真的很好笑 題目思路比較明顯對,年份離散化,年份也是單調遞增的。很明顯,我們 是需要維護年份區間最大的,可以利用線段樹或者st表維護,針對每一組 詢問,我們由已知條件來分類討論即可,分類討論比較複雜,需要注意細 節...
題解 P2471 SCOI2007 降雨量
首先我們來分析一下題意。題目會給出兩個大小為 n 的陣列,y 和 r 其中 y i 表示第 i 個年份是第幾年,r i 表示的是第 y i 年的降雨量。之後,將會有 m 次詢問,每次詢問給出兩個年份 y 和 x 若用 z 表示 y 和 x 之間的年份,則我們要判斷的是三個年份的降雨量是否滿足 y g...
洛谷P2470 SCOI2007 壓縮
include include include using namespace std define maxn 55 define inf 0x3f3f3f3f define mid l r 1 int n,f maxn maxn 2 不妨處理每個子串時,我們都在它的前面放乙個m,最後答案長度 1即...