摘要: Give a tree with n vertices,each edge has a length(positive integer less than 1001).Define dist(u,v)=The min distance between node u and v. Give an in 阅读全文
posted @ 2017-03-20 22:48 阿波罗2003 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目都是图片,就不给了,就给链接好了 由于bzoj比较慢,就先给[vjudge传送门] 有兴趣的可以去逛bzoj[bzoj传送门] 题目大意 有n个数a[1],a[2],...,a[n],它们开始都是0,现在有两种操作 1)C l r k,给a[k]赋值为(a[l], a[r]) 2)Q l r,找 阅读全文
posted @ 2017-03-20 22:03 阿波罗2003 阅读(339) 评论(0) 推荐(0) 编辑
摘要: Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak. Given a n × n matrix A and a positive integer k, find the sum  阅读全文
posted @ 2017-03-18 21:27 阿波罗2003 阅读(360) 评论(0) 推荐(0) 编辑
摘要: Input The first line of input gives the number of cases, T. T test cases follow, each on a separate line. Each test case contains one positive integer 阅读全文
posted @ 2017-03-18 20:11 阿波罗2003 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 背景 守望者-warden,长期在暗夜精灵的的首都艾萨琳内担任视察监狱的任务,监狱是成长条行的,守望者warden拥有一个技能名叫“闪烁”,这个技能可以把她传送到后面的监狱内查看,她比较懒,一般不查看完所有的监狱,只是从入口进入,然后再从出口出来就算完成任务了。 描述 头脑并不发达的warden最近 阅读全文
posted @ 2017-03-17 21:38 阿波罗2003 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 题目描述 Description 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低。但普通的数独对他们来说都过于简单了,于是他们向Z 博士请教,Z 博士拿出了他最近发明的“靶形数独”,作为这两个孩子比试的题目。靶形数独的方格同普通数独一样,在 9 格宽 阅读全文
posted @ 2017-03-04 15:06 阿波罗2003 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 过河 题目描述 Description 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示 阅读全文
posted @ 2017-03-03 21:02 阿波罗2003 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 不是有很多可以说的,记住不能边算边取min Code 记下每个数字所需的火柴数,然后去搜索吧,或者找出上界,枚举两个加数,再判断是否可行。 Code 从下面传上来,等于从上面传下去,原问题就等于从左上角找两条互不相交的路径,简单地是写个dp,f[x0][y0][x1][y1]或者f[dis][x0] 阅读全文
posted @ 2017-02-25 17:17 阿波罗2003 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 很经典的一道状压dp(似乎叫做旅行商问题),用f[i][s]表示在到达点i,已经经过的城市用二进制表示为s,于是方程就很简单了: f[i][s] = min { f[j][s ^ (1 << j)] + dis[j][i]| s & (1 << j) != 0} 然后用记忆化搜索即可,注意方向,因为 阅读全文
posted @ 2017-02-25 15:44 阿波罗2003 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 第一题比较简单,用exist数组判断是否在循环队列中,就可实现线性算法。 Code 因为当卡牌的选择数是固定的情况下,跳的长度也就知道了,于是就可以用四种卡牌来做状态,得到了dp方程: 为了防止过多的无用的状态,所以就用记忆化搜索(其实直接4个for也没什么问题) Code 这道题相当于是安排罪犯, 阅读全文
posted @ 2017-02-18 17:02 阿波罗2003 阅读(216) 评论(1) 推荐(0) 编辑
摘要: It is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-emp 阅读全文
posted @ 2017-02-08 21:10 阿波罗2003 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Polar bears Menshykov and Uslada from the zoo of St. Petersburg and elephant Horace from the zoo of Kiev got hold of lots of wooden cubes somewhere. T 阅读全文
posted @ 2017-02-08 20:39 阿波罗2003 阅读(278) 评论(0) 推荐(0) 编辑
摘要: L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。由 阅读全文
posted @ 2017-01-29 22:20 阿波罗2003 阅读(267) 评论(0) 推荐(0) 编辑
摘要: P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一 阅读全文
posted @ 2017-01-29 21:29 阿波罗2003 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等 Input 输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组成的字符串S 两组case之间由空行隔开(该空行不用处理) 阅读全文
posted @ 2017-01-29 20:50 阿波罗2003 阅读(154) 评论(0) 推荐(0) 编辑
摘要: A DNA sequence consists of four letters, A, C, G, and T. The GC-ratio of a DNA sequence is the number of Cs and Gs of the sequence divided by the leng 阅读全文
posted @ 2017-01-26 22:36 阿波罗2003 阅读(859) 评论(0) 推荐(0) 编辑
摘要: 莫队算法(由莫涛发明的)是一种离线的暴力算法(至少我这么认为)。使用莫队算法的条件是,知道一个区间[l, r]的结果,那么也可以快速知道[l + 1, r],[l - 1, r], [l, r - 1], [l, r + 1]这四个区间的结果。于是可以想到,直接通过这样转移来解决一些问题。当然有些出 阅读全文
posted @ 2017-01-25 22:20 阿波罗2003 阅读(775) 评论(0) 推荐(0) 编辑
摘要: You are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a ne 阅读全文
posted @ 2017-01-24 21:50 阿波罗2003 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 很简单的一道最短路问题。分情况处理赛道的打开和关闭。 Code 阅读全文
posted @ 2017-01-23 21:54 阿波罗2003 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 树链剖分可以算是一种数据结构(一大堆数组,按照这个意思,主席树就是一大堆线段树)。将一棵树分割成许多条连续的树链,方便完成一下问题: 前两个内容可以用其他方式解决,但是下面两种操作倍增、st表,dfs序就很难解决(解决当然可以解决,只是耗时长点而已)。下面开始步入正题。 树链剖分的主要目的是分割树, 阅读全文
posted @ 2017-01-23 21:35 阿波罗2003 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 第一题就LCA即可。不过推荐用Tarjan(最快,常数很小)。然后Tarjan的时候顺便就出一个dist[i],表示i节点到根节点的距离。求出了LCA,那么两点间的距离就为dist[u] + dist[v] - 2 * dist[lca]。 Code 1 #include<iostream> 2 # 阅读全文
posted @ 2017-01-22 21:57 阿波罗2003 阅读(197) 评论(1) 推荐(0) 编辑
摘要: 1#树上倍增 以前写的博客:http://www.cnblogs.com/yyf0309/p/5972701.html 预处理时间复杂度O(nlog2n),查询O(log2n),也不算难写。 2#st表(RMQ) 首先对一棵树进行dfs,得到欧拉序列,记录下每个节点的第一次出现位置。 (先序遍历这棵 阅读全文
posted @ 2017-01-22 21:37 阿波罗2003 阅读(390) 评论(0) 推荐(1) 编辑
摘要: 替罪羊树是不通过旋转而是重构来维护节点平衡的一种平衡树。当某一棵子树的节点总数超过其父节点的一定时,就进行重构操作。 目录 节点定义 重构操作 插入操作 删除操作 其他各种操作 完整代码&总结 目录 节点定义 为了判断是否需要重构,所以需要加入cover(实际节点个数)域。这次直接加入可重操作,所以 阅读全文
posted @ 2017-01-18 22:07 阿波罗2003 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 因为只用两种颜色,所以相邻的省市的颜色一定相反,然后dfs/bfs就可以了。注意图可能不会联通。 Code 随便跑一遍最短路,注意加上抄书的时间。(包括结束的点) Code 首先用bfs把联通块求出来。然后给每个联通块附一个编号,接着按这个编号排序。(分出了所有联通块) 弄出来然后就可以考虑dp。用 阅读全文
posted @ 2017-01-17 17:53 阿波罗2003 阅读(337) 评论(1) 推荐(0) 编辑
摘要: 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意 阅读全文
posted @ 2017-01-17 08:14 阿波罗2003 阅读(289) 评论(0) 推荐(0) 编辑