![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 77
hiding_nya
这个作者很懒,什么都没留下…
展开
-
URAL 1855 区间更新线段树
//-K^2 + K(R-L-1) - R(L-1),即a*K^2+b*K+c。而对于每个查询,K的值都是不变的,变的只是系数a、b、c。//我们用三棵线段树分别去维护区//间内seg[K]*K^2,seg[K]*K,seg[K]的和,乘以每次询问对应的系数,就知道总费用,除以次数,就是答案了。#include#include#include#include#include#in转载 2015-05-14 00:14:44 · 273 阅读 · 0 评论 -
HDU 1075 字典树
///尼玛这真的是模板咩、、、///字符串处理还是要多练习的。。。////题意:给你字符串以及它的映射,提问任意一个映射它真实的字符串是什么//注意所求的字符串只是某个字符串的前缀情况~~#include#include#include#include#includeusing namespace std;typedef struct Trie_node{ i转载 2015-05-14 00:01:38 · 234 阅读 · 0 评论 -
HDU 1394 线段树
#include#include#include#include#include#define maxn 10000using namespace std;struct node{ int l,r,val;}tree[maxn*3];void build(int left,int right,int root){ tree[root].l=left;转载 2015-05-14 00:03:12 · 144 阅读 · 0 评论 -
HDU 1251 字典树
///trie树 hdu 1251///套了别人的模板秒过//题目:// 给一个单词字典A={str[0], str[1], ...},再给定一系列的单词B = {s[0], s[1], s[2], ...}, 求字典A中以s[i]为前缀的单词有多少。////解法:// Tire tree, 先建字典数,然后再查询每个给定的单词。#include#include转载 2015-05-14 00:03:48 · 177 阅读 · 0 评论 -
POJ 2823 单调队列
////poj2823(单调队列)//给定一个大小已知的数组以及一个大小已知的滑动窗口,窗口每个时刻向后移动一位,求出每个时刻窗口中数字的最大值和最小值。//这个题是单调队列的入门题。//求最大值:建立一个单调递减队列,元素从左到右依次入队,入队之前必须从队列尾部开始删除那些比当前入队元素小或者相等的元素,//直到遇到一个比当前入队元素大的元素,//或者队列为空为止。若此时队列的大小超转载 2015-05-14 00:10:47 · 451 阅读 · 0 评论 -
POJ 3468 线段树
//题意:一个数列,每次操作可以是将某区间数字都加上一个相同的整数,也可以是询问一个区间中所有数字的和。//(这里区间指的是数列中连续的若干个数)对每次询问给出结果。//这么水的题都写挫了也是够了//总之还是线段树写的不够好呀。。快学学。。。//5点需要注意#include#include#include#define ll __int64#define maxn 5000转载 2015-05-14 00:12:25 · 195 阅读 · 0 评论 -
POJ 1840 HASH
//poj 1840_eqs//为什么我觉得最重要的思想在于折半枚举!!!对于大数据降低复杂度。//hash////大致题意://给出一个5元3次方程,输入其5个系数,求它的解的个数//其中系数 ai∈[-50,50] 自变量xi∈[-50,0)∪(0,50]//注意:// 若x1 =a, x2=b ,x3=c ,x4=d,x5=e时,与 x1=b, x2=a ,x3=c ,x转载 2015-05-14 00:23:11 · 206 阅读 · 0 评论 -
POJ 2406 KMP
//poj 2406 求字符串的最小循环节,输出重复次数#include#include#include#include#include#define maxn 5000000using namespace std;int next[maxn];char s[maxn];//研究getnext函数的原理。暂时理解不出来。void getnext(){ in转载 2015-05-14 00:07:53 · 211 阅读 · 0 评论 -
POJ 3461 KMP
//给你两个字符串p和s,求出p在s中出现的次数。////next数组的长度为小串的长度;//但是是在大串里运行。//过了我也不知道为什么。。。//找kmp原理。#include#include#include#include#include#define maxn 5000000using namespace std;char p[maxn];char s[max转载 2015-05-14 00:10:43 · 150 阅读 · 0 评论 -
ZOJ 3299 线段树
//题意:有n排板砖,m个木板,边界的l和r的n列板砖从天上掉下来,然后有m个边界的a,b的高度为h的木板去接那些板砖,一排板砖中的部分板砖如果掉到木板上就停止下落,//剩下的继续下落,问最后每块木板上有多少块板砖。////开结构体去存储线段树中节点的信息MLE了。。////按木板的高度,从低到高,去更新线段树节点对应的木板的编号。////板砖落下时,将对应区间的覆盖次数加一。//转载 2015-05-14 00:16:19 · 788 阅读 · 0 评论 -
HDU 4455 线段树
//hdu 4455 貌似是dp吧,写完还要改名字;//////10^6 数,10^4查询//防止tle////维护一个最后位置,维护一个距离,扫一遍,来处理;//防止mle#include#include#include#include#include#define maxn 1001010#define ll __int64using namespace std转载 2015-05-14 00:05:09 · 233 阅读 · 0 评论 -
POJ 3321 树状数组
#include #include #include #define MAXN 100005#define mem(a) memset(a, 0, sizeof(a))using namespace std;int TreeArray[MAXN], Left[MAXN], Right[MAXN], Fork[MAXN];typedef vector Ve;vectorEdge(M转载 2015-05-14 00:11:40 · 257 阅读 · 0 评论 -
HDU 5269 字典树
ZYB喜欢研究Xor,现在他得到了一个长度为n的数组A。于是他想知道:对于所有数对(i,j)(i∈[1,n],j∈[1,n]),lowbit(AixorAj)之和为多少.由于答案可能过大,你需要输出答案对998244353取模后的值定义lowbit(x)=2k,其中k是最小的满足(x and 2k)>0的数特别地:lowbit(0)=0输入描述一共T(T≤10)组数据,对于每组数据原创 2015-06-19 23:14:52 · 423 阅读 · 1 评论