上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 53 下一页
摘要: AC自动机+trie图优化 很明显就是要一个串不能匹配到任何一个病毒,那么我们就建一个AC自动机 不能匹配的话也就是一个节点不能是单词结束节点,fail指针也不能是结束节点 然后就卡壳了。。。zz 我们把自动机建成trie图,也就是不存在的节点直接指向原来fail指针,然后我们只要在这个图上找有没有 阅读全文
posted @ 2017-07-26 22:06 19992147 阅读(237) 评论(1) 推荐(1) 编辑
摘要: 树链剖分+离线 思路很好 看见这种题肯定知道不能直接求,就得在lca上搞事情 将询问拆成两个,排序,然后离线不断从i=1-n到根的路径上全部+1,每次询问就询问从z到根的路径和 我们想一想,就可以知道z和i,将i到根的路径全部+1,那么lca的深度就是z到根的权值和,而且这个权值和满足可加性,那么我 阅读全文
posted @ 2017-07-26 18:13 19992147 阅读(103) 评论(0) 推荐(0) 编辑
摘要: dfs序 dfs序真神奇 dfs求出入栈时刻和出栈时刻,然后在in和out分别打上1和-1就能统计路径和了。 其实这里dfs序能够让我们求一个点处于哪些节点的子树内,而一个节点只处于从自己到跟路径的节点的。 这里的dfs序有些像括号序列,如果一个点不在另一个点的子树内,那么也就不在另一个点的括号内, 阅读全文
posted @ 2017-07-26 14:51 19992147 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 线段树 这题真是无聊 把式子拆开,然后可知维护xi,yi,xi^2,xi*yi,重点在于标记下传,当我们进行2号操作时,直接累加进答案和标记即可,进行3号操作时,update时先把自己这层赋值成要改变的值,再清空这层2号标记,每次pushdown把这层的下一层的标记清空,因为下一层被覆盖了,push 阅读全文
posted @ 2017-07-23 08:13 19992147 阅读(126) 评论(0) 推荐(0) 编辑
摘要: ac自动机+bit 很早以前就做过这道题了,再做一遍。 构建ac自动机的话就是模拟一下就可以了,然后就是如何统计答案。 这里巧妙地利用了fail树的性质,fail树是指当前在trie上从根到这个节点的路径,也就是某个单词的前缀,这个单词的前缀的后缀能够匹配上另一个单词的前缀,于是就把fail指针连向 阅读全文
posted @ 2017-07-22 18:24 19992147 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 期望dp 首先如果k=n的话,那么我们从后往前,只要看到两者的灯就关上,因为如果当前一个灯没关上,那么之后不可能关上,一个灯只能由自己倍数控制,所以这样我们就计算出了需要操作的次数,如果这个次数<=k,直接把这个步数乘上阶乘就可以了。 考虑期望的部分,设f[i]为当前状态下还需要操作i次结束的期望步 阅读全文
posted @ 2017-07-22 16:05 19992147 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 状压dp 预处理每个状态的初始值,枚举子集就行了 #include<bits/stdc++.h> using namespace std; const int N = 18, inf = 1000000010; int W, n; int t[N], w[N], sumw[1 << N], sumt 阅读全文
posted @ 2017-07-22 12:03 19992147 阅读(151) 评论(0) 推荐(0) 编辑
摘要: cdq分治+dp 看见三维偏序是cdq,互相包含是最长上升子序列 这个代码是错的 交了两份代码,发现手动出数据是不一样的。。。 不调了 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 5 阅读全文
posted @ 2017-07-19 19:23 19992147 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 决策单调性+整体二分 这里就是j<k且kj劣于j,j不会再选,所以我们整体二分 pos是因为从L->R中这个是最优点,所以对于mid+1->r选pos之前肯定不优,l->mid-1不会选>pos,因为每个位置都小于mid,并且pos->mid-1这段区间的决策点没有pos优,因为当前f[i]的i小于 阅读全文
posted @ 2017-07-18 21:18 19992147 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 扫描线 想法挺妙 搞了很长很长时间。。。 http://www.cppblog.com/superlong/archive/2010/08/06/122427.html #include<bits/stdc++.h> using namespace std; typedef long long ll 阅读全文
posted @ 2017-07-18 18:38 19992147 阅读(147) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 53 下一页