摘要:
终于认真的学习了一下KMP 我觉得这篇文章最好懂http://kb.cnblogs.com/page/176818/ 首先,我们应该知道KMP是干什么的。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 1. 首先,字 阅读全文
摘要:
我们先仔细阅读题目,发现你最多能解锁的房间和移动的次数是一样的。这样,每次我们就可以解锁你要走过的k个房间,然后往前走 这样,我们会发现,从一个点开始,肯定是沿它往四个边界的距离的最小值(解锁完往前走就好了)走 由于第一次你要先走,所以先处理出每个点到S的距离,对于所有距离<=k的点,我们找到它到边 阅读全文
摘要:
普及难度我居然没AK。。。(其实我T3会,把点看成线段了,并且起点和终点没加特判) L(chess) 【题目描述】 BBS喜欢和LGH下棋,因为这样能增长他的LG技巧。今天他们又开始下棋。BBS想知道,以当前的局势,如果双方都以最优策略下棋,那么谁能获得胜利呢?毕竟如果这局会输,就可以马上用LFF清 阅读全文
摘要:
给出一个美丽串,叫你找到下一个比它字典序大的回文串 我们考虑贪心的从后往前替换每一个字母。即对于最后一位(设字母为a),我们把它替换成从a到p的每个字母,如果都不满足美丽串的条件,那么把前一位字母从‘a'替换到p。 问题来了,判断回文串需要O(n)的时间。 分析条件:没有回文串其实就是每个字符不与前 阅读全文
摘要:
单调栈解决的是以某个值为最小(最大)值的最大区间,实现方法是:求最小值(最大值)的最大区间,维护一个递增(递减)的栈,当遇到一个比栈顶小的值的时候开始弹栈,弹栈停止的位置到这个值的区间即为此值左边的最大区间;同时,当一个值被弹掉的时候也就意味着比它更小(更大)的值来了,也可以计算被弹掉的值得右边的最 阅读全文
摘要:
个人卫生综合征 每天BBS都要从家里经过城市中的一段路到学校刷五三。城市中一共有n个路口和m条双向道路,每条双向道路都连接着两个路口ai、bi且有一定的时间花费vi。BBS家编号为1,学校编号为n。今天,BBS由于个人卫生综合征导致他很迟才离开家,他想用膜法改变k条道路的长度使通过其的时间花费vi变 阅读全文
摘要:
1.积木大赛 (block.pas/c/cpp) 【问题描述】 为了庆祝国庆,厦门一中举办了一年一度的“积木大赛”。 在2013年NOIP大赛中,夏夏同学己经搭建了宽度为n的大厦,其中第i块高度为hi。今年比赛的内容是对其NOIP2013搭建大厦进行扩建,使用的材料也都是体积为1正方体积木。 今年搭 阅读全文
摘要:
我们分析题目给的条件:在最右边放一个骨牌我们可以把它转化成:破坏最后的k个骨牌我们枚举最后一个没被破坏的骨牌在哪,然后模拟把它碰倒,可以二分找到最靠右边的没被破坏的骨牌位置,答案加上被破坏的骨牌数量,再继续此操作这样时间复杂度O(n^2logn)。如何优化?我们用一个数组(d)记录下把第i个位置的骨 阅读全文
摘要:
文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过) 小P所在的班级要进行文理分科。他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位。每位同学必须从文科和理科中选择 一科。同学们在选择科目的时候会获得一个满意值。满意值按如下的方式 得到: 1.如果第i行第j列的同 阅读全文
摘要:
给出一张有n个点和m条双向边的图,要求求出1到n的次短路的长度。一条边可以多次通过。 输入格式: 第一行为两个整数n和m。接下来的m行每行三个整数ai,bi,vi,分别表示这条路连着的两个点和他的长度。 输出格式: 一个整数,表示次短路的长度。(次短路长度必须大于最短路,数据保证有解) 样例输入 样 阅读全文