摘要:
点解:题目链接 两种办法,1是使用容器set做 2必须知道这个结论, 突然感觉数论很强大啊,,,, /*//set容器处理 出一次加进去,再出现删掉,这个最后留下的就是那个只出现基数次的#include #include using namespace std;int main(){ sets; int n; while(cin>>n) { int x; for(int i = 0; i >x; if(s.find(x) == s.end()) s.insert(x); ... 阅读全文
摘要:
题目:nyoj——138/***哈希求解。。。采用链表保存插入时,可以去除重复查找 找到该组,然后在改组的查找当这个组不存在时或是没有找到时是 NO 其他是YES1e6+1 时间最短*/#include #include #include #define N 1000001;typedef struct numb{ int a; numb *next;}numb;numb *head[1000005];void insert(int x){ int ans = x % N; if(head[ans] == NULL) { head[ans] = (... 阅读全文
摘要:
该文转载来自:点击此处进行跳转!文章的第一部分首先分析了各种基本的搜索及其各自的特点。第二部分在基本搜索方法的基础上提出 一些更高级的搜索,提高搜索的效率。第三部分将搜索和动态规划结合,高效地解决实际问题,体现搜索的广泛应用性。第四部分总结全文。第一部分 基本的搜索算法一、回溯算法回溯算法是所有搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”思想作为其控制结构,其相当于采用了先根遍历的方法来构造解答树,可用于找解或所有解以及最优解。评价:回溯算法对空间的消耗较少,当其与分枝定界法一起使用时,对于所求解在解答树中层较深的问题 有较好的效果。但应避免在后继节点可能与前继节点相同的问题中使 阅读全文