10 2014 档案

摘要:作者:jostree 转载请注明出处http://www.cnblogs.com/jostree/p/4052721.html题目链接:leetcode Maximal Rectangle 单调栈该题目是 leetcode Largest Rectangle in Histogram的二维版本,首先... 阅读全文
posted @ 2014-10-26 20:54 jostree 阅读(494) 评论(0) 推荐(0)
摘要:作者:jostree 转载请注明出处http://www.cnblogs.com/jostree/p/4052343.html题目链接leetcode Largest Rectangle in Histogram 单调栈对于每一个长条都向前找包含这个长条的最大面积使可行的,但是时间复杂度是O(n^2... 阅读全文
posted @ 2014-10-26 17:05 jostree 阅读(600) 评论(0) 推荐(0)
摘要:作者:jostree 转载请注明出处http://www.cnblogs.com/jostree/p/4051776.html题目链接:leetcode Surrounded Regions对于每个边缘的'O'进行广度优先遍历,把他和与其相连接的'O'修改成'M'。这些被修改的点会保持自己的'O',... 阅读全文
posted @ 2014-10-26 11:17 jostree 阅读(178) 评论(0) 推荐(0)
摘要:作者:jostree转载请注明出处http://www.cnblogs.com/jostree/p/4051286.html稳定匹配问题:有N男N女,每个人对于异性都一个排名,先需要得到一种稳定的匹配,即不会出现一个匹配中的人与另一个匹配中的异性对对方的排名均高于目前配对的人的排名。shapley算... 阅读全文
posted @ 2014-10-26 01:29 jostree 阅读(1062) 评论(0) 推荐(0)
摘要:作者:jostree转载请注明出处http://www.cnblogs.com/jostree/p/4051169.html题目链接:leetcode Permutations II 无重全排列题目要求对有重复的数组进行无重全排列。为了保证不重复,类似于全排列算法使用dfs,将第一个数字与后面第一次... 阅读全文
posted @ 2014-10-26 01:08 jostree 阅读(257) 评论(0) 推荐(0)
摘要:作者:jostree转载请注明出处http://www.cnblogs.com/jostree/p/4051169.html题目链接:leetcode Insert Interval使用模拟的方法,把需要插入的区间和每一个给定的区间进行比较,有三种情况:1.给定区间的起点小于要插入区间的终点,并且区... 阅读全文
posted @ 2014-10-25 23:30 jostree 阅读(414) 评论(0) 推荐(1)
摘要:作者:jostree转载请注明出处http://www.cnblogs.com/jostree/p/4051082.html题目链接:leetcode Edit Distance最短编辑距离,简单dp,dp[i,j]表示到str1的第i个字符和str2的第j个字符止的最短编辑距离。dp[i,j] =... 阅读全文
posted @ 2014-10-25 22:31 jostree 阅读(165) 评论(0) 推荐(0)
摘要:作者:jostree 转载请注明出处http://www.cnblogs.com/jostree/p/4046399.html使用分治算法,首先选择随机选择轴值pivot,并使的序列中比pivot小的数在pivot左边,比pivot大的数在pivot右边,即快速排序算法中的partition的过程,... 阅读全文
posted @ 2014-10-23 17:37 jostree 阅读(1453) 评论(0) 推荐(0)
摘要:作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4046189.html 首先随机选择一个轴,并调整数组内各个数字,使得比轴值大的数在轴的右边,比轴小的数在抽的左边。然后在递归的对左边和右边进行快速排序。 在调整的过程中,可以使用交替填坑的算法 阅读全文
posted @ 2014-10-23 17:14 jostree 阅读(584) 评论(0) 推荐(0)
摘要:作者:jostree 转载请注明出处http://www.cnblogs.com/jostree/p/4030057.html零、操作快捷键:对于的块,按下ctrl+j即可快速跳转。一、环境快捷键 1.F5 2.在insert状态下输入大写E开头的快捷串,例如EFL=flushleft,EEQ=... 阅读全文
posted @ 2014-10-17 00:35 jostree 阅读(2101) 评论(0) 推荐(0)
摘要:作者:jostree 转载请注明出处http://www.cnblogs.com/jostree/p/4030019.html算法导论第二章的归并排序,注意在merge步骤时,要开辟临时数组保存两个数组排序候的结果,然后在把临时数组逐个导入待排序数组中。代码如下: 1 #include 2 #in... 阅读全文
posted @ 2014-10-16 23:58 jostree 阅读(145) 评论(0) 推荐(0)
摘要:作者:jostree 转载请说明出处http://www.cnblogs.com/jostree/p/4020792.html题目链接:zoj 3829 Known Notation使用贪心+模拟。由于没有数字之间没有空格,因此该题有如下性质:1.如果该字符串全部为数字,则无需操作,直接输出0。2.... 阅读全文
posted @ 2014-10-12 17:26 jostree 阅读(784) 评论(0) 推荐(2)
摘要:题目链接:zoj 3471 Most Powerful作者:jostree 转载请说明出处很经典的状态dp,使用i的二进制位表示粒子的状态,0表示存在,1表示不存在。dp[i]表示在状态i的情况下能够释放的最大的能量,注意自身不能够发生碰撞。例如4个粒子的状态1100表示第0个和第1个粒子不存在,第... 阅读全文
posted @ 2014-10-06 19:21 jostree 阅读(221) 评论(0) 推荐(0)
摘要:题目链接:hdu 2824 The Euler function计算欧拉函数,欧拉函数$\phi(x)$等于不超过$x$且与$x$互质的整数的个数。这里有两种求解方法:方法一:显然欧拉函数有如下三个性质:1、$\phi(x=p) = p-1$,当$x$是质数时,$k\in[1,p-1]$的$p-1$... 阅读全文
posted @ 2014-10-06 16:53 jostree 阅读(161) 评论(0) 推荐(0)
摘要:原题链接:hdu 1576 A/B同样是用扩展的欧几里得算法。A = 9973k+n = xB,从而转化为:xB-9973k=n求解x即可。具体扩展欧几里得算法请参考:hdu 2669 Romantic代码如下: 1 #include 2 #include 3 #include 4 #incl... 阅读全文
posted @ 2014-10-06 14:35 jostree 阅读(262) 评论(0) 推荐(0)
摘要:原题链接:hdu 2669 Romantic使用扩展的欧几里得算法。对于初始的两个整数$x_1,y_1$,我们一定可以计算出$ax_1+by_1 = gcd(a,b)$,递推下一步,我们可以得到公式:\begin{equation} ax_1+by_1 = gcd(a,b) = gcd(b,a\%b... 阅读全文
posted @ 2014-10-06 11:43 jostree 阅读(361) 评论(0) 推荐(0)
摘要:题目链接:hdu 4267 A Simple Problem with Integers类似于题目:hdu 1556 Color the ball的技巧实现树状数组的段更新点查询。由于该题对于段的更新并不是连续的,从而可以构造多个树状数组。因为$k \in [1,10] $,从而可以把更新划分为如下... 阅读全文
posted @ 2014-10-02 22:58 jostree 阅读(173) 评论(0) 推荐(0)
摘要:题目链接:hdu 1394 Minimum Inversion Number该题是求最小逆序对的扩展。可以使用树状数组来实现。对于$n$个数的序列$A$,其第$i$个数($i\in [0,n)$)的逆序数$r_i$可以表示为它的角标$i$减去在它之前且不大于它的数的个数。例如对序列A = {1,3,... 阅读全文
posted @ 2014-10-02 22:44 jostree 阅读(168) 评论(0) 推荐(0)
摘要:首先对每行进行排序,并对与前两行有$A = a_1 \leq a_2 \leq \cdots \leq a_k$和$B = b_1 \leq b_2 \leq \cdots \leq b_k$。首先把所有的$b_i , i\in [1,k]$与$a_1$进行求和,并加入优先队列中。其中最小的必然是$... 阅读全文
posted @ 2014-10-01 22:19 jostree 阅读(157) 评论(0) 推荐(0)
摘要:题目链接:hdu 1754 I Hate It线段树模板题。该题是对点进行更新,对区间进行查询,在初始化时为了方便把n扩充为了2的整数次幂。并且注意线段树应该开辟4倍于n的数组来存储。注意对于输入字符'Q','U',一定不能用char c;scanf("%c",&c);来接收,这样会接收到上次输入的... 阅读全文
posted @ 2014-10-01 22:07 jostree 阅读(192) 评论(0) 推荐(0)
摘要:题目链接:hdu 1556 Color the ball可以使用线段树来做,但是使用树状数组会更加简洁,对于第i个点被涂的次数$s$,为$s=\sum_{k=1}^{i}x_k$,因此对于区间$[a,b]$的涂色,对于下标$a$增加1,对于下标$b+1$减少1,这样就可以保证对于$i\in [a,b... 阅读全文
posted @ 2014-10-01 22:00 jostree 阅读(210) 评论(0) 推荐(0)
摘要:题目链接:hdu 1166 敌兵布阵标准的树状数组模板题,需要注意的是树状数组的初始节点的编号为1。 1 #define MAX_N 1000007 2 #include 3 #include 4 #include 5 #include 6 using namespace std... 阅读全文
posted @ 2014-10-01 21:47 jostree 阅读(172) 评论(0) 推荐(0)