#算法 BFS广度优先搜索

以一个最短路问题来说DFS,那就是到了一个路口,每个选择都先去尝试,走不通就返回,那BFS就是从记忆中找出一个点,把它周围的没被遍历过的点都加入记忆里。再结合队列的数据结构代替“记忆”,那就是BFS了。

BFS因为运用队列,可以用while循环+empty函数的方法使用。

代码

阅读全文 »

#题解 P1308 [NOIP2011 普及组] 统计单词数

读题

题目描述

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。

现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。

阅读全文 »

#题解 P2118 [NOIP2014 普及组] 比例简化

好久没更新了,今天写篇题解,题目是P2118 [NOIP2014 普及组] 比例简化

看题

题目描述

在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果。例如,对某一观点表示支持的有14981498 人,反对的有 902902人,那么赞同与反对的比例可以简单的记为1498:9021498:902

阅读全文 »

#题解 P1190 接水问题

题目

题目描述

学校里有一个水房,水房里一共装有mm个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1 1

现在有n n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 11n n 编号,ii 号同学的接水量为 wiw_i。接水开始时,11 m m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j j 完成其接水量要求wj w_j后,下一名排队等候接水的同学 kk马上接替 jj 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即jj 同学第 xx 秒结束时完成接水,则k k 同学第 x+1x+1 秒立刻开始接水。若当前接水人数 nn’不足 mm,则只有 nn’个龙头供水,其它 mnm-n’个龙头关闭。

阅读全文 »

#题解 [USACO1.3]混合牛奶 Mixing Milk

题目

题目描述

由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。

Marry 乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是不同的。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天 Marry 乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。

阅读全文 »