時間限制:
1000ms
記憶體限制:
65536kb
描述 對於乙個閉區間集合(k>1,ai<>aj),我們定義其權值
w=|a1∪a2∪……∪ak|*|a1∩a2∩……ak|
其中|x|表示x區間的長度;如果x為空集|x|=0。
當然,如果這些閉區間沒有交集則權值為0。
給定n個各不相同的閉區間,請你從中找出若干個(至少2個)區間使其權值最大。
輸入第一行乙個整數n (2 <= n <= 10^5)
接下來n行每行兩個整數 l r(1 <= l <= r <= 10^6),表示閉區間的兩個端點。
輸出最大權值
樣例輸入
4
1 6
4 8
2 7
3 5
樣例輸出
24
這題是astar的題,表示不知道怎麼搞,時間複查度是n =10^5 ,必須要至少 o(n*log n)的時間複查度 ,我的的思路是先把每段區間按左端點 由大到小排序,然後再右斷電排,最後像最大欄位和那麼dp下就可以了…純屬於個人yy的,也不知道對不對,更不會證明……
很戳的**:有時間在瞅瞅
#include #include using namespace std;
struct node
line[100010];
int cmp(node a,node b)
int main(int argc, char *argv)
else}}
printf("%d\n",ans);
}// system("pause");
return exit_success;
}
7 4 1 set 集合的「交」與「並」
7 4 1 set 集合的 交 與 並 給出兩個由數字組成的集合,請求這兩個集合的 交 和 並 輸入格式 給乙個n,m 代表兩個數列的大小 0 n,m 2e5 如果n 0,則接下來一行,n個數空格隔開,代表第乙個集合中的數。如果m 0,則接下來一行,m個數空格隔開,代表第二個集合中的數。1e9 ai...
線性基求交與求並
先說明一下這裡的求交與求並分別是什麼意思。就是有兩個線性空間v 1v 1 v1 與v 2v 2 v2 求出這兩個空間的交與並。當然oi中的線性空間大部分是指異或操作下的,也就是常說的線性基。如下所說的,都是異或的線性基,不區分加號與異或,即 xi x1 x2.x3 sum x i x 1 oplus...
計算幾何 多邊形的交與並
多邊形的交,多邊形的邊一定是要按逆時針方向給出 還要判斷是凸包還是凹包,呼叫相應的函式 面積並,只要和面積減去交即可 include using namespace std const int maxn 300 const double eps 1e 8 int dcmp double x stru...