正题

纪中题目链接:https://jzoj.net/senior/#main/show/3487


题目大意

有两个东西
一个是表示可以选择这个东西,然后加x的价值。
一个是在这个操作之前不可以超过x个东西。
求最大价值


解题思路

我们考虑每个不能超过的操作,我们留下价值最大的。我们可以用这个思路,先将能装的装了,然后到达第二个操作就留下价值最大的。
我们可以用一个小根堆来计算,然后每个东西最多被丢一次,所以时间复杂度:O(nlog n)O(nlogn)O(nlog\ n)


code

#include<cstdio>
#include<algorithm>
#define N 200010
using namespace std;
int cnt,x,num,a[N],ans;
void up(int x)//维护堆
{while(x>1&&a[x/2]>a[x]){swap(a[x/2],a[x]);x/=2;}
}
void down(int x)//维护堆
{int y;while(x*2<=num&&a[x*2]<a[x]||x*2+1<=num&&a[x*2+1]<a[x]){y=x*2;if(y<num&&a[y]>a[y+1]) y++;swap(a[x],a[y]);x=y;}
}
int main()
{scanf("%d",&cnt);for(int i=1;i<=cnt;i++){char ch=getchar();while (ch!='c'&&ch!='e') ch=getchar();scanf("%d",&x);if(ch=='c'){a[++num]=x;ans+=x;up(num);}//能装就装else if(i!=cnt){while(num>=x){ans-=a[1];swap(a[1],a[num]);num--;down(1);}//丢到允许}}printf("%d",ans);
}

nssl1142,jzoj3487-剑与魔法【堆,贪心】相关推荐

  1. JZOJsenior3487.【NOIP2013模拟联考11】剑与魔法(dragons)

    problem Description 万老师听说某大国很流行穿越,于是他就想写一个关于穿越的剧本. 闲话休提.话说老师穿越到了某一个剑与魔法的大陆.因为如此这般,所以老师从维娜艾那里得到了预言.老师 ...

  2. 【Cocos游戏】Top4!日本最火MMOPRG《剑与魔法的境界》

    比起<智龙迷城>.<最终幻想>等耳熟能详的超级大作,由Aiming与Marvelous AQL联合打造的Cocos游戏<剑与魔法的境界:往昔的女神>显得相当低调.但 ...

  3. |Tyvj|NOIP2004|堆|贪心|P1066 合并果子

    http://tyvj.cn/p/1066 贪心地先把所有果子放进小根堆,然后取出两个最小值相加后再放进去,在此期间ans+=两个最小值的和,直到只剩1个元素停止 #include<cstdio ...

  4. P7990-[USACO21DEC]Closest Cow Wins S【堆,贪心】

    正题 题目链接:https://www.luogu.com.cn/problem/P7990 题目大意 数轴上有kkk个点是草地,每个草地有不同收益,mmm个点是地方的点,现在你要放置nnn个我方的点 ...

  5. P4989-二进制之谜【堆,贪心】

    正题 题目链接:https://www.luogu.org/problemnew/show/P4989 题目大意 一个二进制数两两配对,要求 配对的数不能交叉(用同一个区间但不包含) 0在前1在后 要 ...

  6. jzoj1082-合并果子【堆,贪心】

    题目 有n堆大小不同的果子堆,每次合并两堆消耗它们两堆的重量之和,求把它们全部合并的最小消耗 输入 输入包括两行,第一行是一个整数n(1<=n<=10000),表示果子的种类数.第二行包含 ...

  7. 【牛客 - 551E】CSL 的魔法(贪心,思维,STLmap,分块)

    题干: 链接:https://ac.nowcoder.com/acm/contest/551/E 来源:牛客网 有两个长度为 n 的序列,a0,a1,-,an−1a0,a1,-,an−1和 b0,b1 ...

  8. 【洛谷】【堆+贪心】P1484 种树

    [题目描述:] cyrcyr今天在种树,他在一条直线上挖了n个坑.这n个坑都可以种树,但为了保证每一棵树都有充足的养料,cyrcyr不会在相邻的两个坑中种树.而且由于cyrcyr的树种不够,他至多会种 ...

  9. [堆+贪心] CF596C. Wilbur and Points

    CF596C. Wilbur and Points 题意: 太难懂了.有一个平面点集,对集合中任意一点(x,y),满足以原点和(x,y)构成的矩形边上和内部的所有点也都在集合里. 现在要给点标号,为了 ...

最新文章

  1. git reset 怎么还原_git reset --hard 操作后的数据恢复
  2. Checkly如何借助Terraform实现零宕机部署
  3. 树复制替换id_程序员的进阶课-架构师之路(12)-2-3-4树
  4. 世界是一台超级计算机,这个世界其实是一个超级计算机
  5. Nginx服务器版本升级需求分析
  6. mysql linux centos7_MySQL在Linux centos7环境下安装教程详解(图)
  7. SVN 自动部署到开发环境
  8. mysql 传统数据恢复_mysql 数据恢复实例
  9. 如何使用xp_cmdshell扩展过程
  10. HDU2548 两军交锋【数学计算+水题】
  11. Dynamsoft WebAssembly条形码SDK预览
  12. .net 访问共享文件夹
  13. idea用token登陆github_Vue 页面权限控制和登陆验证
  14. 小白入门之HTML--第四章 CSS样式深入
  15. android root后手机文件管理器,手机root后用什么文件管理器
  16. 在FME中的使用正则表达式之向前看向后看(前瞻后顾)
  17. VS2019 KEY
  18. AutoJs学习-实现悬浮窗动画和滑动
  19. Kafka Shell Lag
  20. 手工释放cache内存

热门文章

  1. php如何将页面嵌入在另一盒子里,如何将一个盒子在显示在浏览器的正中间_html/css_WEB-ITnose...
  2. java 进程同步代码_java 实现进程间的同步(源代码)
  3. linux定时关机命令_win10电脑定时关机命令
  4. php大马源码 手机网页,php大马源码:【百家号】脸书百科,分析 PHP大马-php_mof SHELL Web程序...
  5. 能源36号文解读_IDC报告预测:今年中国新能源汽车销量将达116万辆,未来五年复合增长率36%_详细解读_最新资讯_热点事件...
  6. [剑指offer]面试题3:二维数组中的查找
  7. C++ class实现链栈(完整代码)
  8. 应用服务器——jetty架构分析
  9. K. Easy Sigma(类欧几里得)
  10. #138. 类欧几里得算法