随笔分类 - 生活-OI
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1012树状数组原来我只懂得sum和add的操作,今天才知道可以有求区间最值的操作,我学习了一下写了个,1a了。区间最值其实和区间求和差不多,就是将sum数组的含义转移到max,然后通过特定的区间更新ma...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3224无力吐槽,无力吐槽,无力吐槽.......bzoj竟然不能用time(0)我竟然不造!!re成一片。。。。。(不管re没re,我也在我程序中找到了很多bug,,,一一修复了。。我的treap写的真...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1192看到题我就好像想起以前小学升学考数学的最后一题,将一条金块分割最少的部分,使得每一天都能够支付给店主人任意的钱,这个方法很简单,就是将金块分割成1、 2、 4、 8、 。。。 2^k 使得 2^k...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1269这题RE2次啊,好不爽啊,我一直以为是splay的问题,其实是数组开小了。。。。。。(我老犯这种低级错啊喂。。和1507一样是模板题,指针版的速度依旧不行,,,,太慢了。#include #inc...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1507当练splay模板了,发现wjmzbmr的splay写得异常简介,学习了。orzzzzzzzzzzz!!!!!!这个版本很好写的,比数组的好写多了。但是异常的慢啊T_T这个版本的splay,会修改...
阅读全文
摘要:对于概念去看白书或者论文吧(《后缀数组——处理字符串的有力工具》by:罗穗骞)这里放上模板,一些解释在注释里。#include #include #define for1(i,a,n) for(i=a;i=(n);--i)#define for4(i,a,n) for(i=a;i>(n);--i)#...
阅读全文
摘要:复杂度:查找O(n),维护O(n)概要:应用了kmp的自匹配思想,在trie建图时维护一个fali指针,指向上一个匹配的点,这点是用bfs做到。匹配串的时候同样没匹配到就和kmp一样返回。应用:单串匹配多模板,维护多模板里边的信息。技巧及注意:插入和trie一样,然后是bfs。在bfs的过程中,注意...
阅读全文
摘要:复杂度:O(len(a)+len(b))技巧及注意:在匹配的时候记住先要自身匹配然后再匹配即可,同时边界问题不能忽略,处理好点吧。#include #include using namespace std;const int N=10000;char a[N], b[N];int p[N];int ...
阅读全文
摘要:割点用类似tarjan的算法求出最早遍历的祖先然后维护即可。注意要特判root,这点很重要。然后如果要求分割的分量,那么就是这个节点对他的子树是割点的数目+1。sigh。。root要特判。。例题:【POJ】1523 SPF(割点)#include #include #include #include...
阅读全文
摘要:将前两天学的二分图写个博文吧。。二分图的概念就不讲了,这里只说算法及要注意的地方PS:有些是在日记上写的,所以不管逻辑啥的,我搬上来了。。匈牙利算法(最大匹配带最小覆盖输出方案):#include #include using namespace std;#define FOR(i,a,n) for...
阅读全文
摘要:upd:原来很sb,搞拓扑不用bfs用嘛dfs。。之前很傻,,感觉看不到拓扑是啥东西。。脑子太烂了吧。。。今晚上瞄了一眼就懂了。。我就放代码上来就行了。。注释也不打了,,因为太简单了。#include #include using namespace std;#define CC(i) memset...
阅读全文
摘要:用zkw模板跑了一下,简直吓尿。。。我的spfa模板跑需要3s,zkw模板才要0.1s。。。。。。。。。。差距太大了。。zkw模板还没来得及学,所以将spfa的模板搬上来吧。。最小费用最大流,就是每次用最短路算法找出增广路,增广即可。spfa未优化版本:#include #include #incl...
阅读全文
摘要:前几天就想写了的,一直没写,今天就写完吧。因为在做这些上下界的题的时候,遇到了很多问题,在大神的帮助下还是一一解决了的。(英文没学好诶喂,,在sgu和poj各种wa。。)主要是没看题,求上下界已经理解了的。。分3种上下界网络流问题:(在本文只说做法和一些相关的东西,证明和推导请看后面写出的参考)无源...
阅读全文
摘要:在这里我只放我的模板和一些我个人的“理解”。。最大流测试题:usaco草地排水EK:时间复杂度:O(VE^2)代码复杂度:最易代码:#include #include #include using namespace std;#define CLR(a) memset(a, 0, sizeof(a)...
阅读全文
摘要:PS:本篇博文均采用宏#define FOR(i, a, n) for(i = a; i using namespace std;#define FOR(i, a, n) for(i = a; i 0) path[ans--] = pos; //先加入进去,因为没有记录最后的接入路径 while(...
阅读全文
摘要:题目链接:https://vijos.org/p/1218算法:环形DP+划分型DP环形DP的思路很简单,将1~n中每一个节点当成起点进行划分型DP即可,关于划分型DP前面论文有介绍~查找tag把~sxbk!sxbk。。。此题那么水卡了我3个小时。。。变态。。。到头来发现是初始化。!!!!!!!但我...
阅读全文
摘要:题目链接:https://vijos.org/p/1792算法:DP看到这题真的一点不会。。。只能爆搜一下。。但太太慢了。。看了题解后,听说是分组背包??不知道。。好吧,,还是百度了下题解,渐渐明了。。我们用f(i, j)来表示前i种花摆j盆的最大方案数,可以推得f(i, j) = sum{ f(i...
阅读全文
摘要:题目链接:https://vijos.org/p/1431算法:贪心描述恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。...
阅读全文
摘要:题目链接:http://www.wikioi.com/problem/1029/算法:数学本题有个2小技巧。一棵二叉树的前序遍历a1a2a3...ai和后序遍历b1b2b3...bi有一种关系:当只有一棵子树的根 在a序列下标为i, 在b序列下标为b有 a[i-1] == b[j+1]这是因为当根只...
阅读全文
摘要:关于背包DP的文章很多,谷歌百度搜《背包九讲》即可。本文章只放模版。文章统一v代表体积,w代表价值,f代表dp数组,V代表总体积,W代表总价值,均采用滚动数组。答案一般都为f[V]。01背包:void zop(int v, int w) { for(int i = V; i >= v; --i) ...
阅读全文

浙公网安备 33010602011771号