国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

1057. Stack (30)

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

http://blog.csdn.net/x_iya/article/details/8943264 使用樹狀數組,上面是樹狀數組的介紹 有一個很大的坑是用cout的時候超時,改成PRintf就ok了,做題感覺輸入輸出還是用printf和scanf最快,最穩

#include<iostream>#include<string>#include<vector>#include<algorithm>#pragma warning(disable:4996)using namespace std;int c[100001] = {0};int lowbit(int n){ return n&(-n);}int GetSum(int index){ int sum=0; while (index != 0) { sum += c[index]; index -= lowbit(index); } return sum;}void Add(int value, int index){ while (index < 100000) { c[index] += value; index += lowbit(index); }}int Getmid(int size){ int index = (1 + size) / 2; int low = 1, high = 100000,mid; while (low < high) { mid = (low + high) / 2; if (GetSum(mid) < index) low = mid + 1; else high = mid; } return low;}int main(){ vector<int> sort_vec; std::ios::sync_with_stdio(false);// cout << unitbuf;// freopen("0.txt", "w", stdout); vector<int> vec; int N; cin >> N; for (int t = 0;t < N;t++) { string str; cin >> str; switch (str[1]) { case 'o': { if (vec.empty()) printf("Invalid/n" ); else { int temp = vec.back(); printf("%d/n", temp); Add(-1, temp); vec.pop_back(); } } break; case 'e': { if (vec.empty()) printf("Invalid/n"); else printf("%d/n", Getmid(vec.size())); } break; case 'u': { int x; cin >> x; vec.push_back(x); Add(1, x); } break; } }}
上一篇:RMQ算法

下一篇:歷屆試題 核桃的數量

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒲江县| 济宁市| 咸丰县| 泗洪县| 册亨县| 虎林市| 黄骅市| 吕梁市| 玛曲县| 巢湖市| 龙游县| 潼南县| 托克托县| 绥阳县| 广安市| 阿拉善左旗| 麻阳| 克山县| 五莲县| 丰都县| 茌平县| 大石桥市| 邯郸县| 敦化市| 台南市| 三原县| 绥江县| 冀州市| 柘城县| 固安县| 双牌县| 班戈县| 东至县| 邹城市| 逊克县| 万全县| 昌吉市| 岐山县| 监利县| 古浪县| 文昌市|