#includeusing namespace std;
typedef long long ll;
const int maxn=1e5+30;
struct nodea[maxn],b[maxn];
int li[maxn],imin[maxn],cnt;
bool cmp1(node i,node j)
void update(int pos,int num)
//保證了x0不比x1大
int tot=0;
cnt=0;
for(int i=0;i>a[i].x>>a[i].y;
if(a[i].x<=maxx&&a[i].x>=minx
&&a[i].y<=maxy&&a[i].y>=miny)
b[++tot]=a[i],li[++cnt]=b[tot].y;
}//如果輸入的點合法就壓入b
//且把b陣列的y座標再記錄
sort(li+1,li+1+cnt);
cnt=unique(li+1,li+1+cnt)-li-1;
//對y座標排序去重
//cnt為不同的y值的數量-1
for(int i=1;i<=tot;i++)//每點y記為在所有點由下到上排第幾
if(x1>=x0&&y1>=y0)//y1在上就x公升y公升
sort(b+1,b+1+tot,cmp1);
else//如查y1在下面就x降序,y公升序
sort(b+1,b+1+tot,cmp2);
int ans=0;
//最後掃一次自更新ans即可
for(int i=1;i<=tot;i++)
cout
}sample input
3 0 0 6 6
5 4
2 6
3 1sample output
2
選擇盡可能多的不相交區間
題目 有n個區間,ai,bi 統計不相交區間最多有多少個?貪心策略 將這n個區間按bi由小到大排序,然後從前向後遍歷,每當遇到不相交的區間就加入目標集合,遍歷完成後就找到了最多的不相交區間。正確性證明 參見 以下是hduoj2037的源 include include include define ...
選擇盡可能多的不相交區間
題目 有n個區間,ai,bi 統計不相交區間最多有多少個?貪心策略 將這n個區間按bi由小到大排序,然後從前向後遍歷,每當遇到不相交的區間就加入目標集合,遍歷完成後就找到了最多的不相交區間。正確性證明 參見 以下是hduoj2037的源 include include include define ...
static和const關鍵字盡可能多的作用
static關鍵字至少有下列n個作用 1 函式體內static變數的作用範圍為該函式體,不同於auto變數,該變數的記憶體只被分配一次,因此其值在下次呼叫時仍維持上次的值 2 在模組內的static全域性變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問 3 在模組內的static函式只可被這...