摘要:
1、解题思路:深度搜索,位运算。2、注意事项:题目理解为只要之前经过了Ci城市都可以取值Pi,注意Pi<=Ri用于判断;用位运算标示第i个城市是否访问过;递归中注意控制阀值为1、2、3都可以,但是1可以AC是因为数据不强,当取阀值为5的时候,提交将会超时。3、实现方法:[代码] 阅读全文
摘要:
1、解题思路:经典深度搜索。2、注意事项:输入单个字符scanf、cin.get();DFS中搜索比较位置的判断;正搜超时,反搜0ms。3、实现方法[代码] 阅读全文
摘要:
1、解题思路:经典广度搜索。2、注意事项:设置标记数组避免重复访问。3、实现方法:[代码] 阅读全文
摘要:
1、解题思路:经典深度搜索。2、注意事项:骑士跳转的顺序(注意字母编撰顺序),DFS中递归注意控制入口的数目。3、实现方法:[代码] 阅读全文
摘要:
1、解题思路:字典树,并查集,欧拉通路。2、注意事项:字典树的插入;并查集与DFS的结合;欧拉回路的判断。3、实现方法:[代码] 阅读全文
摘要:
1、解题思路:并查集。2、注意事项:借用father[]、rank[]两个数组记录的小技巧。3、实现方法:[代码] 阅读全文
摘要:
1、题目类型:字符串、字典树、排序查找。2、解题思路:找寻字符串的字串。3、注意事项:trie树Insert()时后继数组的更新,注意考虑对比当前数据和字典中数据长、短、相等这三种情况,注意控制静态开辟结构体数组的长度。4、实现方法:(trie树:Memory: 26108K、Time: 641MS)[代码]5、实现方法:(排序查找:Memory: 836K、Time: 391MS)[代码] 阅读全文
摘要:
1、解题思路:哈夫曼树。2、注意事项:STL中优先队列容器(priority_queue)的应用,定义__int64位ans。3、实现方法:[代码] 阅读全文
摘要:
1、题目类型:哈希表、位运算。2、解题思路:题意,N个数,它们用K位的二进制表示,寻找最长的区间使其各个进制位上的和都没有发生变化的情况。步骤,(1)将所有N个数转化为K位的二进制形式,并比较与初始位置的差值存储在arr[i]中;(2)Hash编码arr[i],Hash编码公式为:tmp=((tmp<<2)+(v[i]>>4))^(v[i]<<10) ;(3)判... 阅读全文
摘要:
1、解题思路:哈希表。2、注意事项:哈希函数,利用冲突处理。3、实现方法:[代码] 阅读全文
摘要:
1、解题思路:树状数组,归并排序。2、注意事项:树状数组的更新,归并排序的递归;注意用长整型保存结果。3、实现方法:(树状数组:Memory: 11016K、Time: 797MS)[代码]4、实现方法:(Mergesort: Memory: 3692K、Time: 391MS)[代码] 阅读全文
摘要:
1、解题思路:简单题。2、注意事项:algorithm中sort()的调用。3、实现方法:[代码] 阅读全文
摘要:
1、题目类型:字符串、暴力法、KMP算法。2、解题思路:寻找最长的公共子串,STL中string部分方法的应用。3、注意事项:string.h中库函数的调用,KMP匹配。4、实现方法:(暴力法)[代码]4、实现方法:(KMP)[代码] 阅读全文
摘要:
1、题目类型:字符串、暴力法、trie树。2、解题思路:(1)记录字符串字典;(2)每输入一个字符串,查找字典中是否存在;(3)如果不存在,依次寻找其是否可以通过字典中字符串替换、添加、删除单个字符获得。3、注意事项:string.h库函数的使用:trie树的指针的判断,TNode结构体的设计。4、实现方法:(暴力法)[代码]5、实现方法:(trie树)[代码] 阅读全文
摘要:
1、解题思路:基本数据结构stack。2、注意事项:出栈必须先入栈、Num的越界。3、实现方法:[代码] 阅读全文