随笔分类 - 数据结构
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1892 题目大意: 题目大意:有很多方格,每个方格对应的坐标为(I,J),刚开始时每个格子里有1本书,然后让你统计一片区域有多少本书,还可以增加书和减少,移动书。 解题思路: 直接二维数组数组模拟 注意
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2852 题目大意: 题意: 给出三种操作, 0 在容器中插入一个数。 1 在容器中删除一个数。 2 求出容器中大于a的第k大元素。 解题思路: 用树状数组维护每个值,插入数字是add(x, 1),删除时
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3015 题目大意: 有一些树,这些树的高度和位置给出。现在高度和位置都按从小到大排序,对应一个新的rank,任意两棵树的值为min(高度的rank) * abs(位置差的绝对值)。问所有任意两棵树的值的
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-1990 题目大意: 一群牛参加完牛的节日后都有了不同程度的耳聋,第i头牛听见别人的讲话,别人的音量必须大于v[i],当两头牛i,j交流的时候,交流的最小声音为max{v[i],v[j]}*他们之间的距离。现在有n头牛,求他们
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2513 题目大意: 给一些木棍,两端都有颜色,只有两根对应的端点颜色相同才能相接,问能不能把它们接成一根木棍 解题思路: 题意不难,典型的无向图判断是否存在欧拉通路或回路的问题。 1、欧拉通路或回路的判定条件是图联通,并且度
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目大意: Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 解题思路:
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1247 题目大意: 给出一些单词,以EOF结束,看其中哪一个单词可以由其他两个单词组成,将其输出 解题思路: 将所有单词存入字典树中,每个单词拆成两部分查询是不是字典树中的单词。 此处是查询是不是单词,
阅读全文
摘要:原理详见:https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 模板一: 输入字符串,查询是不是单词或者前缀 查询单词的时候,在插入时在最后一个节点的地方标记为单词,查询时返回最后节点是不是单词标记 统计前缀出现的次数: 由于字典树中字母是边
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2503 题目大意: 就像查找一本字典,根据输入的条目和要查询的单词,给出查询结果(每个单词长度不超过10) 解题思路: map容器可以直接过,不过为了练习hash,写了个hash也可以过
阅读全文
摘要:const int mod = 9973;//一般为靠近总数的素数 struct Hashtable { int x;//hash存的值 Hashtable * next; Hashtable() { next = 0; } }; Hashtable * Hash[mod]; void Hash_Insert(int x)//存x { ...
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2002 题目大意: 有一堆平面散点集,任取四个点,求能组成正方形的不同组合方式有多少。 相同的四个点,不同顺序构成的正方形视为同一正方形。 解题思路: 直接四个点四个点地枚举肯定超时的,不可取。 普遍的做法是:先枚举两个点(
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-1840 题目大意: 给出一个5元3次方程,输入其5个系数,求它的解的个数 其中系数 ai∈[-50,50] 自变量xi∈[-50,0)∪(0,50] 注意:xi不为0 解题思路: 五重循环肯定TLE,所以选择三重循环+两重循
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-3321 题目大意: 题目大意级是说,给你一颗树,最初每个节点上都有一个苹果,有两种操作:修改(即修改某一个节点,修改时这一个节点苹果从有到无,或从无到有)和查询(查询某一个节点他的子树上有多少个苹果)。 解题思路: 对树的每
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2155 题目大意: 给一个n*n的01矩阵,然后有两种操作(m次)C x1 y1 x2 y2是把这个小矩形内所有数字异或一遍,Q x y 是询问当前这个点的值是多少?n<=1000 m<=50000. 解题思路: 裸的二维树
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2029 题目大意: 有N棵树在一个n*m的田里,给出每颗树的坐标 用一个s*t的矩形去围,最多能围几棵树 思路: 用二维树状数组求区域和,也可以直接用二维前缀和求解 1 #include<iostream> 2 #inclu
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-3067 题目大意: 日本岛东海岸与西海岸分别有N和M个城市,现在修高速公路连接东西海岸的城市,求交点个数。 解题思路: 记每条告诉公路为(x,y), 即东岸的第x个城市与西岸的第y个城市修一条路。当两条路有交点时,满足(x1
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-3274 题目大意: 给定多头牛的属性,每头牛的属性由一个非负数表示,该数的二进制表示不会超过K位,它的二进制表示的每一位若为1则表示该牛有对应的第i种属性,若为0则表示没有该属性。 对于给定的牛的顺序,要求输出某一段子序列的
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2481 题目大意: if Si <= Sj and Ej <= Ei and Ei - Si > Ej - Sj, we say that cow i is stronger than cow j. 此处的含义就是线段[Sj
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-1195 题目大意: 直接维护二维树状数组 注意横纵坐标全部需要加1,因为树状数组从(1,1)开始
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2609 题目大意: 有n个有01组成的字符串,每个字符串都代表一个项链,那么该字符串就是一个环状的结构,求可以经过循环旋转,最后不同的串有多少个。。 解题思路: 将所有字符串用最小表示法表示,然后存入s
阅读全文

浙公网安备 33010602011771号