上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: From http://www.matrix67.com/blog/archives/276十个利用矩阵乘法解决的经典题目好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人,今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质。不要以为数学中的矩阵也是黑色屏... 阅读全文
posted @ 2015-01-28 15:15 Jeremy Wu 阅读(230) 评论(0) 推荐(0)
摘要: 从Min到Max范围内暴力一下即可。/*ID: wushuai2PROG: skidesignLANG: C++*///#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#include #include #include #i... 阅读全文
posted @ 2015-01-27 20:45 Jeremy Wu 阅读(517) 评论(0) 推荐(0)
摘要: 描述农夫约翰爱好在周末进行高能物理实验的结果却适得其反,导致N个虫洞在农场上(2 B . 贝茜会穿过B,A,+ . . . . 然后再次穿过B农夫约翰知道他的农场里每个虫洞的确切位置。他知道贝茜总是向 +x 方向走进来,虽然他不记得贝茜的当前位置。请帮助农夫约翰计算不同的虫洞配对... 阅读全文
posted @ 2015-01-27 20:06 Jeremy Wu 阅读(701) 评论(0) 推荐(0)
摘要: 感觉ZJU上有不少博弈的题目。这道题目还是比较好理解的,题目大概意思是:两人轮流乘一个2-9的数,从1开始乘,求谁的乘积先大于N。还是寻找必败点必胜点,不过在这个题目里转换成了寻找必败区间必胜区间的问题以输入1000为例,我们可以倒着来,每个人除2到9之间的一个数1000 | 999 ... 112... 阅读全文
posted @ 2015-01-27 16:34 Jeremy Wu 阅读(239) 评论(0) 推荐(0)
摘要: 这也是一道例题给定一个字符串,求至少出现 k 次的最长重复子串,这 k 个子串可以重叠。算法分析:这题的做法和上一题差不多,也是先二分答案,然后将后缀分成若干组。不同的是,这里要判断的是有没有一个组的后缀个数不小于 k。如果有,那么存在k 个相同的子串满足条件,否则不存在。这个做法的时间复杂度为 O... 阅读全文
posted @ 2015-01-26 11:12 Jeremy Wu 阅读(523) 评论(0) 推荐(0)
摘要: 这到题目的题意不太好理解= =看来还是英语太弱了实际上题目给了你M, S, C分别代表最多不超过M 块木板, S代表牛棚总数,C代表接下来有C个牛所在牛棚的标号然后求的是如何安排方案,可以使得总木板长度最小。是一道【贪心】的题目。首先得判断,如果M >= C,就直接输出C,表示最小长度为C然后,对输... 阅读全文
posted @ 2015-01-25 22:46 Jeremy Wu 阅读(213) 评论(0) 推荐(0)
摘要: 后缀数组的用处:快速求出两个后缀Suffix(i), Suffix(j)的最长公共前缀(LCP, Longest Common Perfix)后缀数组的应用先提出后缀数组的几种常用技巧:建议多找找与height数组的关联。将几个字符串贴在一起,用特殊符号间隔开:如aab与aaab,可合并成aab$a... 阅读全文
posted @ 2015-01-25 13:50 Jeremy Wu 阅读(182) 评论(0) 推荐(0)
摘要: 和上一题一样,不过这题只是要求最长回文子串的长度在此采用了非常好用的Manacher算法据说还是O(n) 的效率QAQ详细用法参考了上篇博客的参考资料,这两天有空学习一下~Source code://#pragma comment(linker, "/STACK:16777216") //for c... 阅读全文
posted @ 2015-01-23 23:44 Jeremy Wu 阅读(192) 评论(0) 推荐(0)
摘要: 最长回文子串 相关资料:1、暴力法2、动态规划3、中心扩展4、Manacher法http://blog.csdn.net/ywhorizen/article/details/6629268http://blog.csdn.net/kangroger/article/details/37742639在... 阅读全文
posted @ 2015-01-23 23:39 Jeremy Wu 阅读(114) 评论(0) 推荐(0)
摘要: 和刚才那道是一模一样不过求的是最小的,只要稍微修改一下就可以了~//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#include #include #include #include #include #include #... 阅读全文
posted @ 2015-01-22 18:38 Jeremy Wu 阅读(184) 评论(0) 推荐(0)
摘要: 题意:找出一点,距离所有所有点的最短距离最大二维平面内模拟退火即可,同样这题用最小圆覆盖也是可以的。Source Code://#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#include #include #includ... 阅读全文
posted @ 2015-01-22 18:31 Jeremy Wu 阅读(183) 评论(0) 推荐(0)
摘要: 参考了http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove 的模板对于每一种染色,都有一个等价群,例如旋转,翻转等。我们将每一种变换转换成一个置换群,通过置换群得到的都是等价的染色方案最终我们要求的是非等价的染色方案数。在Burn... 阅读全文
posted @ 2015-01-21 22:49 Jeremy Wu 阅读(305) 评论(0) 推荐(0)
摘要: 题目意思是,给你提供两个数字 a 和 ba 可以不断的往上加, 直到b 为其子串问的是 a 最小加几?显而易见,a 的数据范围给了10 ^100非常大,直接模拟肯定不行那么就用 b 减去 a 来找,也算是一种模拟的方法举个例子, a = 1299, b = 3333 330 3300 ... 阅读全文
posted @ 2015-01-21 22:39 Jeremy Wu 阅读(436) 评论(0) 推荐(0)
摘要: 这里有个讲解 string 用法非常详细的博文:https://www.byvoid.com/zhs/blog/cpp-string题目意思很简单啦,就是找回文使用string可以高速A过Source code:/*ID: wushuai2PROG: palsquareLANG: C++*///#p... 阅读全文
posted @ 2015-01-20 19:56 Jeremy Wu 阅读(206) 评论(0) 推荐(0)
摘要: 这道题目的题意就是使用题目中所给的Gate 函数,模拟出输入的结果当然我们分析的时候可以倒着来,就是拿输入去减每次Gate 函数都会有一个有效范围这道题目求的就是,找出一种模拟方法,使得最小的有效范围最大化。是一道【贪心】题参考了https://github.com/boleynsu/acmicpc... 阅读全文
posted @ 2015-01-20 16:17 Jeremy Wu 阅读(164) 评论(0) 推荐(0)
摘要: 具体参考http://blog.csdn.net/power721/article/details/6665750TODO//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#include #include #include... 阅读全文
posted @ 2015-01-19 23:00 Jeremy Wu 阅读(135) 评论(0) 推荐(0)
摘要: 这题WA了四次,后来发现不能用所谓的桶排来写虽然空间上是可以的,但是存在这样一个问题比如两组数据[15,20]和[21,30]在20 和 21这两个时刻之间没有milking,但是用桶排的方法写的话只能判断离散的量不能判断连续的量。所以这题应该要用【区间合并】的思想来写不错的题目~Souce cod... 阅读全文
posted @ 2015-01-11 21:51 Jeremy Wu 阅读(288) 评论(0) 推荐(0)
摘要: 题意还是很好理解的,根据题目给出描述条件然后求出这串QUEUE我的做法就是用两个数组 before[] 和 after[] 表示 ai 前面的前面的人的学号 和 ai 后面的后面的人的学号ex[] 表示 ai 这个人在输入的时候出现的次数,这个数组用于当人数为奇数的时候,寻找第1个人学号,只要遍历一... 阅读全文
posted @ 2014-12-27 22:28 Jeremy Wu 阅读(203) 评论(0) 推荐(0)
摘要: 根据Rex 的思路才知道可以这么写。题目意思还是很好理解的,就是找到当前雇员最近的任务。做法是,可以开辟一个 tim 变量,每次有雇员得到昕任务时候 ++tim然后取寻找最近的任务的时候写一个搜索就可以核心代码: while(num != -1){ ... 阅读全文
posted @ 2014-12-14 21:17 Jeremy Wu 阅读(139) 评论(0) 推荐(0)
摘要: 实验二:题目:语法分析目的:通过该实验掌握描述语法的文法和自顶向下分析法中的预测分析法。要求:对给定的文法建立预测分析表;利用预测分析法对实验一的结果进行语法分析,对不符合给定文法的表达式给出出错位置信息。内容:给定描述语法的文法为:E->E+T|TT->T*F|FF->i|(E)题目如上描述。用了... 阅读全文
posted @ 2014-12-10 16:58 Jeremy Wu 阅读(888) 评论(0) 推荐(0)
摘要: 虽然是一道还是算简单的DP,甚至不用滚动数组也能AC,数据量不算很大。对于N个数,每个数只存在两个状态,取 和 不取。容易得出状态转移方程:dp[i][j] = dp[i - 1][j ^ a[i]] + dp[i - 1][j];dp[i][j] 的意思是,对于数列 中前 i 个数字,使得 XOR... 阅读全文
posted @ 2014-12-04 16:44 Jeremy Wu 阅读(274) 评论(0) 推荐(0)
摘要: std::ios::sync_with_stdio(false);在main 函数中加上这么一句话。可以打消iostream的输入输出缓存,可以节省许多时间,使效率与scanf与printf相差无几。因为 cin,cout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低。 阅读全文
posted @ 2014-12-04 16:37 Jeremy Wu 阅读(591) 评论(0) 推荐(0)
摘要: 详细解题报告可以看这个PPT这题如果是直接开int 5000 * 5000 的空间肯定会MLE,优化方法是采用滚动数组。原LCS转移方程 :dp[i][j] = dp[i - 1][j] + dp[i][j -1]因为 dp[i][j] 只依赖于 dp[i - 1][j] 和 dp[i][j - ... 阅读全文
posted @ 2014-12-02 22:37 Jeremy Wu 阅读(239) 评论(0) 推荐(0)
摘要: 题目意思还是很好理解的,在一个数列中,找出不相交的两个子串使得其和最大。解题思路: 对于每个i来说,求出[0 ~ i - 1] 的最大子段和以及[i ~ n - 1]的最大子段和,在加起来,求最大的一个就行了。 [0 ~ i - 1]的最大子段和从左向右扫描,[i ~ n - 1] 的最大子段和... 阅读全文
posted @ 2014-12-02 22:07 Jeremy Wu 阅读(414) 评论(0) 推荐(0)
摘要: 经典的最长公共子序列问题。状态转移方程为 :if(x[i] == Y[j]) dp[i, j] = dp[i - 1, j - 1] +1else dp[i, j] = max(dp[i - 1], j, dp[i, j - 1]);设有字符串X和字符串Y,dp[i, j]表示的是X的前i个字符与Y... 阅读全文
posted @ 2014-12-02 21:45 Jeremy Wu 阅读(165) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页