2018-03-10 STL

優(yōu)先隊(duì)列
結(jié)構(gòu)體優(yōu)先隊(duì)列

// 這里是小的優(yōu)先,默認(rèn)是大的優(yōu)先
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,n;
priority_queue<int,vector<int>,greater<int> >q;
int  main(){

q.push(3);
q.push(2);
int x=q.top();
cout<<x<<endl;
return 0;
}


// 對(duì)結(jié)構(gòu)題進(jìn)行優(yōu)先隊(duì)列 需要重載運(yùn)算符
#include<cstdio>
#include<queue>
using namespace std;
struct node
{
    int x,y;
    bool operator < (const node & a) const
    {
        return x<a.x;
    }
}k;
priority_queue <node> q;
int main()
{
    k.x=10,k.y=100; q.push(k);
    k.x=12,k.y=60; q.push(k);
    k.x=14,k.y=40; q.push(k);
    k.x=6,k.y=80; q.push(k);
    k.x=8,k.y=20; q.push(k);
    while(!q.empty())
    {
        node m=q.top(); q.pop();
        printf("(%d,%d) ",m.x,m.y);
    }
}

set

// [天梯](https://www.patest.cn/contests/gplt/L2-014)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int  main(){
int n;
set<int>s;
cin>>n;
int t;
s.insert(0);
for(int i=0;i<n;i++){
    cin>>t;
    if(*s.rbegin()>t){
        s.erase(s.upper_bound(t));
    }
    s.insert(t);
}
cout<<s.size()-1<<endl;
return 0;
}

map

//  定義的三元組 用 map 判讀是否 重復(fù)出現(xiàn)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define N 25004
int k;
ll aa[N];

int c=0;


ll  gcd(ll a,ll b)
{
    return b==0?a:gcd(b,a%b);
}

    class Key
    {
    public:
        Key();
        Key(ll a,ll b,ll c);
        ll x,y,z;
        ~Key();

        bool operator <(const Key& key) const;
    };
    bool Key::operator <(const Key &key)  const
    {        if(this->x<key.x||this->x==key.x&&this->y<key.y||this->x==key.x&&this->y==key.y&&this->z<key.z)
            return true;
        else
            return false;
    }
    Key::Key()
    {
    }
    Key::Key(ll a,ll b,ll c)
    {
        x=a;y=b;z=c;
    }
    Key::~Key()
    {
    }
    map<Key,int>ma;
int main()
{
    cin>>k;
    ll x,y,z;
    cin>>x>>y>>z;
    ll a,c,b;

       for(int i=1;i<k;i++)
       {
          cin>>a>>b>>c;
          a=a-x;
          b-=y;c-=z;
          if(a!=0&&b!=0&&c!=0)
          {
         ll tem=gcd(a,b);
         tem=gcd(tem,c);
         a/=tem;b/=tem;c/=tem;
          }
         Key node;
         node.x=a;node.y=b;node.z=c;
       //  cout<<"dsaf "<<node.x<<" "<<node.y<<" "<<node.z<<endl;
         ma[node]=1;
          Key node2;
         node2.x=-a;node2.y=-b;node2.z=-c;
       //   cout<<node2.x<<" "<<node2.y<<" "<<node2.z<<endl;
         ma[node2]=1;
       }
     //  cout<<ma.size()<<endl;
      cout<<(ma.size()+1)/2<<endl;



    return 0;
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • STL部分 1.STL為什么廣泛被使用 C++ STL 之所以得到廣泛的贊譽(yù),也被很多人使用,不只是提供了像vec...
    杰倫哎呦哎呦閱讀 4,456評(píng)論 0 9
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評(píng)論 19 139
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 30,214評(píng)論 8 265
  • 很喜歡聽(tīng)著B(niǎo)illboard冥想 很喜歡很喜歡 想寫(xiě)首關(guān)于Billboard的詩(shī) 但小明說(shuō)詩(shī)中出現(xiàn)英文很奇怪 于是...
    留子堯閱讀 255評(píng)論 0 1
  • 【是美國(guó)情人,還是美國(guó)女主人?】 「你們有沒(méi)有這種感覺(jué),在你開(kāi)車旅行時(shí),永遠(yuǎn)都到達(dá)不了目的地,也希望永遠(yuǎn)不結(jié)束?」...
    rivert閱讀 1,678評(píng)論 3 15

友情鏈接更多精彩內(nèi)容