麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Luogu P1090、1334、2664+隊列

2019-11-10 20:37:48
字體:
來源:轉載
供稿:網友

我的天啊,這三題code都一樣尷尬尷尬尷尬

題目大意

給你一些數,每次可以選取兩個相加成為一個,新數即為得分。所有數加成一個后,求最小得分。

分析

其實就是每次選兩個最小的數相加再放回數列中。

如果用sort效率極低(每次都要sort,時間復雜度為O(n^2*logn))

那么,我們的隊列出(當當當當)

Code

#include<iostream>#include<cstdio>#include<queue>using namespace std;long long int i,m,n,j,k;PRiority_queue<long long int>a;int main(){	cin>>n;	for(i=1;i<=n;i++){		scanf("%d",&k);		a.push(-k);	}	for(i=1;i<n;i++){		int x,y;		x=-a.top();		a.pop();		y=-a.top();		a.pop();		m+=x+y;		a.push(-x-y);	}	cout<<m;	return 0;}

隊列

其實上面的代碼用到了優先隊列

隊列

先進先出(First In First Out,FIFO)表。STL中為queue。

queue可以在頭部彈出、尾部壓入。

queue<data>a定義一個data形的隊列
queue<data>a(b)隊列a為隊列b的副本
a.push(x)在隊列尾部壓入x
a.pop()彈出隊列頂部的元素
a.top()訪問隊首元素
其他懶得寫這些就夠了

優先隊列

優先隊列與隊列的區別就是優先隊列隊首元素是最大的。

普通的優先隊列為大根堆,若要轉化成小根堆只需元素取相反數即可。

priority_queue<data>a定義一個data形的隊列
priority_queue<data>a(b)隊列a為隊列b的副本
a.push(x)在隊列尾部壓入x
a.pop()彈出隊列頂部的元素
a.top()訪問隊首元素
其他也懶得寫這些也就夠了


上一篇:簡單爬蟲

下一篇:ICS lab 總結匯總

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 草莓福利社区在线 | 国产精品久久久久国产精品三级 | 国产精品18久久久久久久久 | 久久艹精品视频 | 午夜免费网 | 国产va在线观看 | 国产精品视频中文字幕 | 性欧美视频在线观看 | 亚洲午夜天堂吃瓜在线 | 国产精品久久久久久久娇妻 | 日韩三级伦理在线观看 | 亚洲成人免费电影 | 亚洲精中文字幕二区三区 | 成人免费观看49www在线观看 | 久久久综合视频 | 国产一级aaa全黄毛片 | 亚洲操比视频 | 日韩字幕在线观看 | 日韩视频―中文字幕 | 欧美a级一区二区 | 国产免费区 | 午夜av男人的天堂 | fc2国产成人免费视频 | 久久精品成人免费国产片桃视频 | 毛片在线视频观看 | 久久亚洲精品国产一区 | 国产日韩久久久久69影院 | 精品国产91久久久久久久妲己 | 欧美性生活久久 | 欧美成年人视频在线观看 | 美国黄色小视频 | 国产在线精品一区二区三区不卡 | 日韩在线播放第一页 | 欧美人与牲禽动交精品一区 | 久久在线免费视频 | 爱性久久久久久久 | 国产毛片视频 | 国产精品久久久久久久娇妻 | 综合97| 在线播放免费播放av片 | 国产成视频在线观看 |