02 2016 档案
摘要:思路: 这题被坑的不轻。 首先花了一段时间想明白了思路是要找出现次数最多数字,以为这题就这样解决了,结果发现每个数字的最大长度是30,long long都装不下,因此就要用字符串来保存处理。然后在insert的时候进行一下计数就可以了 最关键的地方是struct内的构造函数中,在初始化next数组的
阅读全文
摘要:思路: AC了很爽。一开始看题的时候把要求的东西给搞反了,是用字母去找相应的数字出现次数。 只要用数字构建个Trie树,然后将每次输入进来的字母字符串给转换成数字,然后search一下就可以。 其中要注意end和id的灵活运用 AC代码:
阅读全文
摘要:思路: 好题,必须记一笔。 这题有两个之前没有接触过的字典树新变形。 第一个是insert的方式,不再只是单单的将一整个单词都插进去,而是从单词的第一个字母开始往后遍历,依次插入第i个字母到末尾的单词,这样做就可以满足题目中“substring”的要求,即将“substring”的问题转换为我们熟悉
阅读全文
摘要:思路: Trie树模板的小变形,在模板中有一个思维拓展的点要值得我们注意,就是每一个节点的e值,在本题中他们不再用来标记单词的结尾,而是用来计数,因为对于Trie树的某一个确定的位置,一个给定的单词只能走过一遍,因此这样记录可以确定一个位置被多少个单词给“经过”,然后找前缀的时候只要遍历到的最后一个
阅读全文
摘要:思路: 二分图判断+最大匹配模板 二分图判断的方法很好想,没有离散的基础凭空给你个图让你判断也很容易想到染色法,简单的介绍下就是用queue来做,标记一个点为x则他所有的邻点都为x',然后递归的执行下去。 接下来会面临一个比较有趣的问题,我们确定现在的图是二分图,然后我们要求它的最大匹配——这里涉及
阅读全文
摘要:思路: 首先如果想到了Kruskal算法,那么下一步我们可能马上会想:那我们就从头开始写这个算法吧。然后一写就很容易发现一个问题——如果按照正常的Kruskal算法来做,那么start到end的舒适度中的那个“最小边”就只能是所有边中最小的那个,而这是明显不符合逻辑的事情,所以我们就会接着想,如果不
阅读全文
摘要:Description Input Output Sample Input Sample Output
阅读全文

浙公网安备 33010602011771号