magic line
首先我先把所有的點按照先橫座標後縱座標(都是由小到大),然後由於題目給的範圍很大,我們可以想到,如果取一條最為豎的線,那麼一定能分開,然後考慮一下最中間的兩個點橫座標相同的情況即可。
#include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long
using namespace std;
#define maxn 1009
struct data
a[maxn];
bool cmp(data a1,data a2)
int main()
else printf("%d %d %d %d\n",a[ans].x,y1,a[ans+1].x,y2);//不相同的話直接輸出}}
return 0;
}
2020牛客多校第三場
沒有魚,沒有魚餌 沒有魚,有魚餌 有魚,沒魚餌 有魚,有魚餌 每個只能做其中乙個操作,如果在某個點之前已經拿過魚餌,還沒用,就能拿個魚,如果在某個點有魚,就能拿個魚。現在問最多能拿多少條魚?思路 貪心,如果有魚那肯定拿魚,魚 1,然後就剩0和1操作了,如果遇到1操作,直接拿魚餌,遇到0操作,看有沒有...
2019牛客多校第三場
給乙個01字串,求0和1個數相同的最長子序列和子串長度。子串行長度就是 min cnt 0 cnt 1 2 子串的長度也是原題,記錄一下0和1個數差的字首和,然後用乙個陣列記錄前面掃過的0個數和1個數差值的最左位置,字首和的思想更新答案即可。include using namespace std c...
2020牛客多校第三場 E
給你乙個a序列,讓你求出對於某個p序列和q序列,pi qi 使得它們花費的費用最少。對於p序列的定義,可以知道,下標和值是交換的,即對於 i,j 這兩個位置,有 pi j,pj i,p pi i,p pj i.即如果p ip i pi 為 j,那麼p jp j pj 一定為i,即讓a陣列裡面的的兩個...