题目大意:有n个装满水的湖,m天。每天可能下雨也可能晴天,只要下雨就会把湖填满,若已满,则发洪水。有一台只能在晴天使用的抽水机,每次抽水只能抽一个湖,并且全部抽光。问是否存在一种使得不发洪水的抽水方案。

题目分析:贪心。贪心策略:对于每个下雨天 i ,让在这天之前的并且在第a[i]个湖上一次水满之后的一个晴天抽走第a[i]个湖中水。

代码如下:

# include<iostream>
# include<cstdio>
# include<set>
# include<cstring>
# include<algorithm>
using namespace std;set<int>day;
int ans[1000005],lst[1000005],n,m;void solve()
{memset(lst,0,sizeof(lst));memset(ans,0,sizeof(ans));int a,flag=1;day.clear();for(int i=0;i<m;++i){scanf("%d",&a);if(!flag)   continue;if(!a)day.insert(i);else{ans[i]=-1;set<int>::iterator it=day.lower_bound(lst[a]);if(it==day.end())flag=0;else{ans[*it]=a;lst[a]=i;day.erase(it);}}}if(!flag)printf("NO\n");else{printf("YES\n");for(int i=0;i<m;++i)if(ans[i]>=0)printf("%d ",ans[i]);printf("\n");}
}int main()
{int T;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);solve();}return 0;
}

  

转载于:https://www.cnblogs.com/20143605--pcx/p/4885530.html

UVA-1623 Enter The Dragon (贪心)相关推荐

  1. uva 1623——Enter The Dragon

    题意:有n个装满水的湖,可以预知将来m天下雨情况,每次下满一个湖,或者不下,不下雨的时候可以让某个湖变干,问是否存在一种方案使得每次下雨之前湖总是干的. 思路:贪心.什么时候下雨,就什么时候在下雨之前 ...

  2. UVa 11292 勇者斗恶龙(The Dragon of Loowater)

    首先先看一下这道题的英文原版... 好吧,没看懂... 大体意思就是: 有一条n个头的恶龙,现在有m个骑士可以雇佣去杀死他,一个能力值为x的勇士可以砍掉直径不超过x的头,而且需要支付x个金币.如何雇佣 ...

  3. UVa 1149 Bin Packing 【贪心】

    题意:给定n个物品的重量l[i],背包的容量为w,同时要求每个背包最多装两个物品,求至少要多少个背包才能装下所有的物品 和之前做的独木舟上的旅行一样,注意一下格式就好了 1 #include<i ...

  4. UVA - 12260 Free Goodies(dp+贪心)

    题目 有n(n<=1e3)个糖果,Petra和Jan轮流取 第i个糖果有pi,ji两个权值,谁取了就会得到其对应的权值 Petra会选pi最大的,相同情况下会选ji最小的 Jan会选让自己最后总 ...

  5. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  6. 《算法竞赛入门经典(第2版)》——学习记录

    前言:   这里主要记录本人在学习紫书过程中充分理解过的题目的AC代码,便于以后回顾时查找代码和思路,毕竟看别人的真的有点难懂.此外,本书甚至是本书之外的相关知识学习也可能在此留下记录.   作为一只 ...

  7. [XMAN2018排位赛]Dragon Quest [MRCTF2020]VirtualTree

    文章目录 [XMAN2018排位赛]Dragon Quest 拖入ida v5 = start_quest((std::string *)v7); sanitize_input(v6); 核心代码1 ...

  8. 06年及以前韩国星际职业联赛及选手资料

    一.缩写: MBC系列: MBC = MBC Game 韩国2大职业联赛主办机构之一 MSL = MBC StarLeague (MBC顶级星际联赛) MML = MBC Minor League ( ...

  9. angr-example(解CTF题目)

    0x0 废话 emmm,总之就是官方给的examples啦.持续更新... 链接:https://docs.angr.io/examples 0x1 defcamp_r100 angr在CTF中最常见 ...

最新文章

  1. c++ ofstream使用方法
  2. NETCF平台下利用XmlSerializer对于复杂类型序列化的探索(三)
  3. zpl代码可以编译的特殊字符_国际C语言混乱代码大赛(IOCCC)代码解析
  4. P3100-[USACO14JAN]建造滑雪场【贪心,dp】
  5. Taro button点击切换选中状态
  6. iOS开发之──传感器使用 (转载)
  7. 软件详细设计文档模板
  8. JLU数据结构第六次上机实验解题报告
  9. 课程设计 计算机公共基础,基于Moodle的大学计算机公共基础课程设计
  10. Windows系统经典高级技巧分享
  11. 计算机显卡驱动不匹配,显卡驱动与系统不兼容?尤其是老电脑
  12. 程序员交接文档格式(自己整理,仅供参考,付md文档)
  13. android串口wifi模块,一文深度了解串口WiFi模块的应用场景
  14. html 超链接下载文件问题 如何修改文件名称
  15. NC7WZ14P6X绝对最大额定参数
  16. 米家扫地机器人尘盒怎么取_米家扫地机器人怎么清理灰尘盒_米家扫地机器人怎么倒出垃圾...
  17. 电脑编程从哪里开始学习_我想学习编程,但我不知道从哪里开始
  18. 大话设计模式(Java代码)
  19. CDH安装指南——酒仙网技术
  20. VBA,单元格处理,数据复制,格式设置,折线图,图表属性设置

热门文章

  1. DOM操作 append prependTo after before
  2. MYSQL查询优化:show profile
  3. 变态的儿童国学教育与孔子真正的教育之道
  4. C# 文本操作类 Trim() 和Replace()的用法小例子
  5. 打开指定大小的新窗体
  6. 获取存储过程返回值及代码中获取返回值(转)
  7. GDB的工作原理及skyeye远程调试
  8. YARN的服务库和事件库
  9. (227)FPGA学习基础
  10. (138)System Verilog覆盖率目标设置