摘要:
2017-09-15 21:05:41 writer:pprp 给出一个序列问能否去掉k的数之后使得整个序列不是递增也不是递减的 先求出LIS,然后倒序求出最长递减子序列长度,然后判断去k的数后长度是否都大于所求长度 代码如下: #include <bits/stdc++.h> using name 阅读全文
摘要:
2017-09-13 21:54:52 writer:pprp 图论全部都忘记了,重新学一下吧,之前学的实在是太烂了 测试数据如下: 7 12//顶点个数, 路径个数3 11 41 22 42 54 34 54 64 73 65 76 73//起始点 代码如下: 阅读全文
摘要:
2017-09-13 19:22:01 writer:pprp 题意很简单,就是通过矩阵快速幂进行运算,得到斐波那契数列靠后的位数 . 这是原理,实现部分就是矩阵的快速幂,也就是二分来做 矩阵快速幂可以用来解决线性递推方程,难点在于矩阵的构造 代码如下: 阅读全文
摘要:
2017-09-12 21:03:46 writer:pprp 看到了几个很好的博客: 记录一下:http://www.matrix67.com/blog/archives/276 http://blog.csdn.net/xingyeyongheng/article/details/9731683 阅读全文
摘要:
2017-09-12 19:50:58 writer:pprp 最近刚开始接触拓扑排序,拓扑排序适用于:无圈图的顶点的一种排序, 用来解决有优先级别的排序问题,比如课程先修后修,排名等。 主要实现:用矩阵来储存图,用indegree数组记录每个顶点的入度, 从入度为0的开始,每次删除该入度为0的点, 阅读全文
摘要:
2017-09-10 16:51:03 writer:pprp 严格递增的LIS模板 非递减LIS 阅读全文
摘要:
2017-09-09 16:41:28 writer:pprp 题意很好理解就不说了,实现比较清晰,选择邻接表来做 但是我用的是链表来实现的,所以导致出现了很多问题,最后卡的最长时间的一个问题是 应该从1开始而不是从0开始,读题应该自习一点; 题目如下: Bananas are the favour 阅读全文
摘要:
2017-09-07 22:02:01 writer:pprp 简单的水题,但是需要对最初的部分进行处理,防止溢出 阅读全文
摘要:
2017-09-07 21:46:53 writer:pprp 写一下水题,调节一下心情~ 阅读全文
摘要:
2017-09-07 21:18:49 writer:pprp 第一次作业: 第一道:百钱白鸡问题 第二道:分析复杂度的问题,没有弄好 第二道题: 课后作业2: 三个学生对同一问题写的算法,测试结果如下: Case1: n=10的运行时间为 student1: 1 student2: 1/100 s 阅读全文
摘要:
2017-09-07 19:30:22 writer:pprp 比较顺利,最近生活出现了各种问题, 发生了很多矛盾,我要耐下心来,最重要的不是努力不努力,而是选择 希望我能处理好人际关系还有学业上的压力。 阅读全文
摘要:
2017-09-06 21:32:22 writer:pprp 可以作为一个模板 阅读全文
摘要:
2017-09-06 20:35:59 writer:pprp 本来以为这是一道水题,写了一个递归就赶紧交上去了, 结果超时了,看看数据范围100000000,肯定把栈给爆了 想用记忆化的方法,但是虽然快一点,但是开不到那么大的数组 然后去看了看讨论版,大佬找到一个循环节 这样的题,mod了一个7, 阅读全文
摘要:
2017-09-06 19:50:12 writer:pprp 阅读全文
摘要:
2017-09-05 22:26:02 writer:pprp 参考:http://www.cnblogs.com/yan-boy/archive/2012/11/29/2795294.html 这位大佬写的很简单易懂 关键代码如下: 具体代码: 阅读全文
摘要:
2017-09-05 21:33:33 writer:pprp 昨天开始就上课了,没有整天整天的时间去编代码了,充分抓住每天晚上的时间吧, 今天下午预习了一下线性代数中矩阵最基本的运算,今晚就打算实现一下基本的功能 矩阵加法,矩阵减法,矩阵乘法,矩阵转置 代码如下: 阅读全文
摘要:
2017-09-03 19:03:06 writer:pprp 状态定义: dp[i][j] = x 代表的是 用前i 中硬币构造 j 美分的方法数目; 初始化: dp[0][0] = 1 状态转移: dp[i][j] = dp[i-1][j] + dp[i-1][j-val[i]] 代码如下: 阅读全文
摘要:
2017-09-03 17:01:36 writer:pprp 这是一道多重背包裸题 - 记得是从右向左进行,还有几点需要注意啊,都在代码中表示出来了 代码如下: 阅读全文
摘要:
2017-09-03 16:16:38 writer:pprp 完全背包问题:从左向右进行扫描,用一维阵列进行分析 代码如下: 阅读全文
摘要:
2017-09-03 15:42:20 writer:pprp 01背包裸题,直接用一维阵列的做法就可以了 阅读全文
摘要:
2017-09-03 11:39:16 writer:pprp 以很简单的一个动态规划问题为引入: 从左上角到右下角走过的路径和最大,问你最大为多少? 1、可以想到普通的dp 状态转移为: dp[i][j] = max(dp[i-1][j],dp[i][j-1]) + arr[i][j]; 2、采用 阅读全文
摘要:
转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K–0.50K;中短代码:0.51K–1.00K;中等代码量:1.01K–2.00K 阅读全文
摘要:
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、 1032、1037、1040 阅读全文
摘要:
2017-09-02 19:49:59 writer:pprp 题意说明: 比较简单的题,一开始被吓到了,后来才发现,其实可以用很简单的方法就可以解决; 就是在这样的房间中如果在i 和 j 中之后的10分钟内就不可以经过别的路线的桌子,给你几组数据问你最短时间搬完这些桌子; 分析: 其实不是很难,不 阅读全文
摘要:
2017-09-02 17:28:44 writer:pprp 那个裸题练练手,讲解在之前的博客中提到了 代码如下: 第二种不用dp的解法: 代码如下: 阅读全文
摘要:
2017-09-02 17:07:42 writer:pprp 通过这个题温习了一下刚学的LCS 代码如下: 阅读全文
摘要:
2017-09-02 15:06:57 writer:pprp 状态表示: f(n,m)表示s1[0..n]和s2[0..m]从0开始计数,最终结果是f(N-1,M-1)考虑四种情况: 1/ s1[n] == s2[m] : f(n,m) = f(n-1,m-1)+1; 2/ s1[n]是LCS的一 阅读全文
摘要:
2017-09-02 10:34:21 writer:pprp 最长上升子序列,具体分析看代码:O(n^2)的做法,dp的思想 分析:每次读一个进行扫描,如果当前读入的这个要比之前的大, 说明有可能加一,所以对当前读入这个之前的元素进行扫描, 扫描到的值加上当前这个值跟该出的值进行比对,确定更大的值 阅读全文