09 2014 档案
摘要:很经典的题目,愣是没做出来。。题意:给出一个序列,求一子序列,满足其GCD(子序列)* length(子序列)最大。题解: 类似单调队列的思想,每次将前面所得的最大公约数与当前数进行GCD,若GCD变小,则将原来的最大公约数替换成当前GCD,因为原来的已经不可能取到了。 实现时利用的是STL中的...
阅读全文
摘要:Treap树 核心是 利用随机数的二叉排序树的各种操作复杂度平均为O(lgn)Treap模板:#include #include #include #include #include #include #include #include #include #include #include #in...
阅读全文
摘要:第三次做此题。。不解释啦。不过变成用SBT来做啦!SBT好处在于能够保证树的高度为lgn,真真正正的平衡二叉树。因此删除,插入操作与普通二叉树几乎相同。#include #include #include #include #include #include #include #include #i...
阅读全文
摘要:往事不堪回首。。这个题目花了2天时间才A了。思路照搬SnowyJone大牛:http://www.cnblogs.com/w007878/p/3453023.html Orz。。此处可找到数据:http://tieba.baidu.com/p/1217076472真是虐心的两天,整个人都瘦了。。当然...
阅读全文
摘要:评测地点:http://www.lydsy.com/JudgeOnline/problem.php?id=1588简单题,splay题意: 按顺序给出一些数,找出距离当前数最近的数的差,将这些差求和即可。#include #include #include #include #include #i...
阅读全文
摘要:最后撸一发splay。之前用treap撸的,现在splay也找到感觉了,果然不同凡响,两者之间差别与精妙之处各有其精髓!真心赞一个!POJ平衡树的题目还是比较少,只能挑之前做过的捏一捏。但是收获很多,这一天做的题都是有一定普遍性的。#include #include #include #includ...
阅读全文
摘要:前几天用treap写了这一题,不过treap支持的操作不如splay的多,作为一个完美主义者,重新用splay写了这一题。splay大部分操作可以通过强大到无与伦比的数据结构splay-tree然后根据其中步骤写出来。一定要注意的一点:几乎所有操作的背后,都要splay(x, 0)一下。一开始我还以...
阅读全文
摘要:这是我综合poj1442 3481 2352的treap操作 得到treap完全版模板。(经测AC)结构体Tree{ int key; //键值 int size; //该子树总节点个数 int pri; //其随机值 int son[2]; //从nocow一份代码中学来的,0表示左儿子,...
阅读全文
摘要:当年经常遇到这种题,愣是没做出来,好像那时不会线段树,也不会平衡树。凭借一身蛮力来搞,倒是和那群朋友搞得开开心心。题意: y从小到大,若y相同,x从小到大,这样给出一些坐标,求每个点覆盖的点个数。题解: 每次只需计算小于等于当前x值得个数有多少即可。 可用线段树或平衡树做,现在平衡树treap...
阅读全文
摘要:裸treap。只需增加一个size记录其儿子个数便可找到第k大数。#include #include #include #include #include #include #include #include #include #include #include #include #define m...
阅读全文
摘要:这是利用treap写的二叉排序树,只要理解其中旋转能够改变树的左右子树平衡度,即高度之差,差不多就能掌握treap树的要领了。相对于其他高级BST,treap树实现应该算最简单了,利用的是随机树产生的理论的二叉排序树时间复杂度为O(nlgn)来实现,具体证明 算法导论 中有。推荐NOCOW中的讲解,...
阅读全文
摘要:A*算法求第k短路流程:1)计算h[],即当前点到t的估计值 若为有向图,建立反向图求出h[]。若为无向图,可直接求解h[]。可通过SPFA求解。2)A*搜索 每次找到新节点就直接加入队列,计算出估价函数f[]=g[]+h[],然后加入优先队列中。(此步不可优化,否则可能造成失解) 常用STL...
阅读全文
摘要:POJ 3253 Fence RepairSTL堆操作我想说,STL里堆是我目前见到最蛋疼的操作。#include #include #include #include #include #include #include #include #include #include #include #d...
阅读全文
摘要:题意:求解A+A^2+...+A^k题解:1)利用通和公式,原式=(A^k+1 - A)(A - O)^-1 时间复杂度O(n^3lgk)2)递归求解,A+A^2+...+A^k=(A+A^2+...+A^k/2)+A^k/2(A+A^2+...+A^k/2) 时间复杂度O(n^3lgk^2)逆矩阵...
阅读全文
摘要:博弈论相关题目很多,以下进行总结,并将在今后不定时更新。基础题:POJ 2234 裸Nim游戏View CodePOJ 2425 有向无环图+多个棋子,直接套用上面方法View CodePOJ 2960 Nim游戏变形View CodePOJ 2348 直接按照博弈递推一下即可View CodePO...
阅读全文
摘要:写这篇博客之前,花了许久时间来搞这个SG函数,倒是各路大神的论文看的多,却到底没几个看懂的。还好网上一些大牛博客还是性价比相当高的,多少理解了些,也自己通过做一些题加深了下了解。既然是博弈,经典的NIM游戏不得不提一下,这也是要不断提醒自己别忘了NIM游戏才是SG函数由来的核心关键! 1. 若...
阅读全文
摘要:典型的博弈题目题意: 两个人从1~n中轮流取数,每次取到x时,则x的任意整数幂均不能再被取,最后谁取不了就输。题解: 可以发现,对于该博弈游戏的子游戏是x的1~k次幂,进行上述规则下的博弈。 而子游戏的SG值只与个数有关,与x的值无关。而k最大只有30,故可以打表。 而游戏最终结果即所有子游...
阅读全文