hdu 2275 Kiki & Little Kiki 1

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2275 
题意:n个操作 
Push 入容器 
Pop弹出一个 满足<=该数的最大的数(若没有输出No Element!) 
用两个堆模拟。

 1 #include<functional>
 2 #include<algorithm>
 3 #include<iostream>
 4 #include<string>
 5 #include<cstdlib>
 6 #include<cstring>
 7 #include<cstdio>
 8 #include<vector>
 9 #include<queue>
10 using std::vector;
11 using std::greater;
12 using std::priority_queue;
13 priority_queue<int> que1;
14 priority_queue<int, vector<int>, greater<int> >que2;
15 void solve(){
16     int v;
17     char buf[10];
18     scanf("%s %d", buf, &v);
19     if (‘u‘ == buf[1]){
20         que2.push(v);
21     } else {
22         while(!que2.empty()){
23             int x = que2.top();
24             if (x <= v) que1.push(x), que2.pop();
25             else break;
26         }
27         if (que1.empty()) puts("No Element!");
28         else printf("%d\n", que1.top()), que1.pop();
29     }
30 }
31 int main(){
32 #ifdef LOCAL
33     freopen("in.txt", "r", stdin);
34     freopen("out.txt", "w+", stdout);
35 #endif
36     int n;
37     while (~scanf("%d", &n)){
38         while (n--) solve();
39         while (!que1.empty()) que1.pop();
40         while (!que2.empty()) que2.pop();
41         printf("\n");
42     }
43     return 0;
44 }

时间: 2024-08-07 05:06:12

hdu 2275 Kiki & Little Kiki 1的相关文章

HDU 2276 Kiki &amp; Little Kiki 2 (位运算+矩阵快速幂)

HDU 2276 Kiki & Little Kiki 2 (位运算+矩阵快速幂) ACM 题目地址:HDU 2276 Kiki & Little Kiki 2 题意: 一排灯,开关状态已知,每过一秒:第i个灯会根据刚才左边的那个灯的开关情况变化,如果左边是开的,它就会变化,如果是关的,就保持原来状态.问m秒后的状态. 第1个的左边是最后一个. 分析: 转移不好想啊... 变化是这样的: 原来 左边 变化 1 1 0 1 0 1 0 1 1 0 0 0 然后想到 (~原来)^(左边)=变化

HDU 2276 Kiki &amp; Little Kiki 2(矩阵快速幂)

Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2265    Accepted Submission(s): 1146 Problem Description There are n lights in a circle numbered from 1 to n. The left of li

NYOJ 300 &amp;&amp; hdu 2276 Kiki &amp; Little Kiki 2 (矩阵快速幂)

Kiki & Little Kiki 2 时间限制:5000 ms  |  内存限制:65535 KB 难度:4 描述 There are n lights in a circle numbered from 1 to n. The left of light 1 is light n, and the left of light k (1< k<= n) is the light k-1.At time of 0, some of them turn on, and others t

hdu 2276 Kiki &amp; Little Kiki 2矩阵快速幂

Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2300    Accepted Submission(s): 1175 Problem Description There are n lights in a circle numbered from 1 to n. The left of li

HDOJ Kiki &amp; Little Kiki 2 2276【位运算+矩阵快速幂】

Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2213    Accepted Submission(s): 1137 Problem Description There are n lights in a circle numbered from 1 to n. The left of li

[HDOJ2276]Kiki &amp; Little Kiki 2

Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2175    Accepted Submission(s): 1110 Problem Description There are n lights in a circle numbered from 1 to n. The left of lig

hdu 2275 Kiki &amp; Little Kiki 1 水题

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2275 这个题比较简单,所以就没有测试样例提供给大家,基本把题目的样例过了就可以了 题目大意 给你一串操作,"Push  x"为添加元素x : "Pop  x"为:在集合中找到一个不大于x的最大数,输出并删除,没有的话,输出"No Element!" 最后留一个空行 存储结构 multiset,一种允许有重复元素的set 思路 用set自带的upper_b

HDU——T 3579 Hello Kiki

http://acm.hdu.edu.cn/showproblem.php?pid=3579 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4208    Accepted Submission(s): 1617 Problem Description One day I was shopping in the supermarket.

HDU - 2276 Kiki &amp; Little Kiki 2 矩阵快速幂

题目大意:给出一个由0,1组成的字符串,每一秒的时候,如果该位字符左边是1的话,那么该字符就要变换(由0变1,或者由1变0,第一个的左边是最后一个),问M秒后这个字符串的状态 解题思路:用0,1矩阵来表示变化,具体的请看代码,现在没法给出矩阵,后面会补的 #include<cstdio> #include<cstring> const int N = 110; char str[N]; struct Matrix{ int mat[N][N]; }A, B, tmp; int n,