贪心 ~~

使用优先队列

  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <cmath>
  4. #include <set>
  5. #include <stack>
  6. #include <vector>
  7. #include <sstream>
  8. #include <cstring>
  9. #include <string>
  10. #include <map>
  11. #include <queue>
  12. #include <algorithm>
  13. #include <iostream>
  14. #define FFI freopen("in.txt", "r", stdin)
  15. #define maxn 1010
  16. #define INF 0x3f3f3f3f
  17. #define inf 1000000000
  18. #define mod 1000000007
  19. #define ULL unsigned long long
  20. #define LL long long
  21. #define _setm(houge) memset(houge, INF, sizeof(houge))
  22. #define _setf(houge) memset(houge, -1, sizeof(houge))
  23. #define _clear(houge) memset(houge, 0, sizeof(houge))
  24. using namespace std;
  25.  
  26. const int N = (1<<20)+5;
  27. const int M = 30;
  28.  
  29. int n;
  30. priority_queue <int> Q;
  31.  
  32. int main () {
  33. // FFI;
  34. int t;
  35. scanf("%d", &t);
  36. while (t--) {
  37. scanf("%d", &n);
  38. for(int i = 0; i < n; ++ i) {
  39. int a;
  40. scanf("%d", &a);
  41. Q.push(a);
  42. }
  43. if(n == 1) {
  44. printf("%d\n", Q.top());
  45. Q.pop();
  46. continue;
  47. }
  48. int ans = 0;
  49. while(!Q.empty()) {
  50. int a = Q.top();
  51. Q.pop();
  52. int b = Q.top();
  53. Q.pop();
  54. if(Q.empty()) {
  55. ans += a+1;
  56. break;
  57. }
  58. ans += b;
  59. Q.push(a-b+1);
  60. }
  61. printf("%d\n", ans);
  62. }
  63. return 0;
  64. }

  

uva 11691的更多相关文章

  1. uva 1354 Mobile Computing ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5

  2. UVA 10564 Paths through the Hourglass[DP 打印]

    UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...

  3. UVA 11404 Palindromic Subsequence[DP LCS 打印]

    UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...

  4. UVA&&POJ离散概率与数学期望入门练习[4]

    POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...

  5. UVA计数方法练习[3]

    UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...

  6. UVA数学入门训练Round1[6]

    UVA - 11388 GCD LCM 题意:输入g和l,找到a和b,gcd(a,b)=g,lacm(a,b)=l,a<b且a最小 g不能整除l时无解,否则一定g,l最小 #include &l ...

  7. UVA - 1625 Color Length[序列DP 代价计算技巧]

    UVA - 1625 Color Length   白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束   和模拟赛那道环形DP很想,计算这 ...

  8. UVA - 10375 Choose and divide[唯一分解定理]

    UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS   Memory Limit: 65536K Total Subm ...

  9. UVA - 11584 Partitioning by Palindromes[序列DP]

    UVA - 11584 Partitioning by Palindromes We say a sequence of char- acters is a palindrome if it is t ...

随机推荐

  1. Sublime Text插件的离线安装-使用htmlprettify美化您的HTML代码

    Sublime Text是广大程序员喜欢的文本编辑器,Jerry觉得它最强大之处在于开放的架构,有丰富的插件为其提供各种各样额外的功能. 作为前端开发人员,经常需要从网上复制粘贴一些代码然后做修改,因 ...

  2. raid 0 1 5 10 总结的知识点

    raid 0 1 5 10 raid 发的别名条带 raid 0 读取性能最高需要磁盘2*N个(N>0)代表所有raid级别中的最高存储性能,其实原理就是把连续的数据分散到多个磁盘上存取,这样, ...

  3. H3C S5024P交换机 vlan实验

    H3C S5024P交换机第二次vlan实验 实验1 与交换机端口G0/1和G0/2相连的PC1与PC2属于VLAN 1,与G0/3和G0/4相连的PC3和PC4属于VLAN 2,PC1.PC2.PC ...

  4. type和isinstance区别

    type只能对类型做直接的判断,主要用于获取未知变量的类型. 在程序中几乎很少用到type. 而isinstance功能比type更强,可以对子类型做出推理判断. isinstance主要用于判断A是 ...

  5. Android(java)学习笔记178:多媒体之计算机图形表示方式

    1. 多媒体 很多媒体:文字(TextView,简单不讲),图片,声音,视频等等.   2. 图片 计算机如何表示图片的? (1)bmp 高质量保存    256色位图:图片中的每个像素点可以有256 ...

  6. HashSet LinkedHashSet TreeSet 分析

    1.HashSet分析 hashset 底层是hash表,就是hashMap,是无序的,唯一的.也就是说,它的底层其实就是一个HashMap  key 值的组成值.所以具有唯一性. public Ha ...

  7. 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.net.BindException: Address already in use: JVM_Bind

    在使用SpringMVC测试的时候, 遇到了这样一个问题, 说的是端口已经被使用了. 代理抛出异常错误: java.rmi.server.ExportException: Port already i ...

  8. HDU6199 gems gems gems (DP)

    题意:有n颗石子 两个人轮流拿 如果上一个人拿了x颗 这个人就可以拿x或x+1颗 问先手能获得与后手的价值差最大是多少 题解:看起来是博弈 其实是DP dp[i][j][0/1]表示当前该0/1拿 拿 ...

  9. android 图片

    1,setCompoundDrawables(Drawable left, Drawable top,Drawable right, Drawable bottom) 设置图片出现在textView, ...

  10. Node.js快速生成26个字母

    const buf1 = Buffer.allocUnsafe(26); for (let i = 0; i < 26; i++) { // 97 是 'a' 的十进制 ASCII 值. buf ...