題意:在xoy平面第一象限即x,y非負軸內,給定白色矩形的左下、右上頂點的座標,再給定兩個黑色矩形的左下、右上頂點的座標,判斷白色矩形能不能被看到(區域性也算)。
比較簡單,把思路理清,分類討論即可。
1.白色矩形包含在某個黑色矩形內;
2.白色矩形被兩個黑色矩形一起遮住,其中一塊遮住它的上部分,另外一塊遮住它的下部分;
3.白色矩形被兩個黑色矩形一起遮住,其中一塊遮住它的左部分,另外一塊遮住它的右部分;
**如下:
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int maxn=
1e6+5;
intmain()
if(y4>=y2&&y3<=y2&&y6>=y3&&y5<=y1)
//遮住上下部分
if(x4>x6)
if(x3<=x1&&x4>=x1&&x5<=x4&&x6>=x2)
//遮住左右部分
if(flag) cout<<
"yes\n"
;else cout<<
"no\n"
;return0;
}
小結:分類討論時,思路要理清,寫一寫偽**也可以,可以事半功倍。 Codeforces 587C 樹上倍增
題意 求樹上兩點路徑中的前 a 10 小的點權值。思路 類似lca倍增演算法來儲存 i 2 j 路上的 前 10 小個 的點權值。然後要寫乙個權值合併 具體求 u v 的話,就是先分別計算 和 減1是lca會重疊 然後再合併,輸出答案。include include include include ...
Codeforces 976C 題解報告
對資料進行排序 1 按左邊的數從小到大排 2 若左邊的數相等,則按右邊的數從大到小排。排序之後,若乙個數的右邊的數小於等於上乙個數的右邊的數,則這兩個數必然符合題意。比如2 13 2 12 1 11排序之後,變為 1 11 2 13 2 12因為12 13,則有 2,12 被包含在它的上乙個數 2,...
CodeForces 948C 解題報告
題目鏈結 這道題看出來了是一道stl題,本來一開始用佇列去做,結果tle,在這裡先給出tle include using namespace std typedef long long ll const int maxn 1e5 10 int n,v maxn t maxn int main els...