UVA 11020 Efficient Solutions+multiset的應用
題目連結:點選進入
首先來講,很容易看到我們其實只要維護優勢人群的集合;如果加入一個新的人,我們首先看一下優勢人群中是否有人會讓這個人失去優勢,如果沒有,則將這個人插入集合中,但要注意到這個人的插入可能會讓其它的人失去優勢。所以要求這個集合要能支援快速查詢和修改操作;而multiset恰好能能滿足這個需要。
程式碼如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<set>
using namespace std;
struct Point
{
int a,b;
///Set中的元素按x進行排序
bool operator <(const Point& rhs) const
{
return a<rhs.a||(a==rhs.a&&b<rhs.b);
}
};
multiset<Point>S;
multiset<Point>::iterator it;
int main()
{
//freopen("in.txt","r",stdin);
int T;
scanf("%d",&T);
for(int Case=1;Case<=T;Case++)
{
if(Case!=1)
printf("\n");
printf("Case #%d:\n",Case);
int n,a,b;
scanf("%d",&n);
S.clear();
while(n--)
{
scanf("%d%d",&a,&b);
Point P=(Point){a,b};
it = S.lower_bound(P); ///在紅黑樹中查詢第一個小於P的元素
if(it==S.begin()|| (--it)->b >=b ) ///如果P也具有優勢
{
S.insert(P);
it = S.upper_bound(P); ///it以後的元素都會被影響
while(it!=S.end()&&it->b >=b) S.erase(it++); ///刪除掉失去優勢的人
}
printf("%d\n",S.size());
}
}
return 0;
}
相關文章
- UVA1587
- 素數 UVA 406
- solution-uva1594
- UVA11624-Fire!
- Memory-Efficient Adaptive OptimizationAPT
- UVA11624 Fire!【BFS】
- Uva232 Crossword AnswersROS
- uva11292-Dragon of LoowaterGo
- 紫書UVa1592
- 紫書UVa297
- Deep Hashing Network for Efficient Similarity RetrievalMILA
- UVA557 Burger 題解
- UVA 11572 Unique snowflakes (滑窗)
- uva10935卡片遊戲遊戲
- Efficient DevSecOps Workflows with a Little Help from AIdevAI
- UVA 10498 Happiness!(線性規劃)APP
- 題解:UVA124 Following Orders
- Unlearn What You Want to Forget Efficient Unlearning for LLMs
- 習題5-2(uva-1594)
- 習題3-7(uva-1368)
- 題解:UVA13185 DPA Numbers I
- Efficient and Straggler-Resistant Homomorphic Encryption for Heterogeneous Federated Learning
- SEA-RAFT: Simple, Efficient, Accurate RAFT for Optical FlowRaft
- UVA-11504 - Dominos(有向圖的強連通分量)
- UVa11054 Gergovia的酒交易(數學歸納法)Go
- UVA1379——Slim Span (最小生成樹)
- UVA 1220 Party at Hali-Bula (樹形DP)
- UVA 11080 - Place the Guards(二分圖判定)
- 題解:UVA117 The Postal Worker Rings Once
- 救濟金髮放( The Dole Queue, UVa 133)
- golang RPC 應用(1) :net/rpc的應用GolangRPC
- SAP BTP MTA 應用的應用場景
- 棧的應用
- 反射的應用反射
- python的應用Python
- 2.3 應用程式容器中的應用程式概述
- UVA12421 (Jiandan) Mua (I) - Lexical Analyzer題解
- Restormer Efficient Transformer for High-Resolution Image Restoration——2022CVPRRESTORM