摘要: 霍夫曼编码,这个是把霍夫曼树也建好了的!必须把输入改为char才能ac,好坑......http://soj.sysu.edu.cn/show_problem.php?pid=1002&cid=1740 1 #include 2 #include 3 #include 4 #include ... 阅读全文
posted @ 2015-04-02 13:52 dominjune 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 矩阵快速幂,1001. Fibonacci 2求斐波那契第n项!毕竟数据量太大!http://soj.sysu.edu.cn/show_problem.php?pid=1001&cid=1740 1 #include 2 #include 3 4 using namespace std; 5 ... 阅读全文
posted @ 2015-04-02 13:45 dominjune 阅读(120) 评论(0) 推荐(0) 编辑
摘要: http://soj.sysu.edu.cn/1001没想到sicily的1001就那么难,动态规划,好像也不是很难想,不过得考虑清楚各种情况,很坑,好像一共是3种,还有一个注意的是,输入是合法的,如果只输入30,那就没有一种解码方法了,这样的输入是不会出现的;还有,出现05这样的,也不能算是E..... 阅读全文
posted @ 2015-04-02 13:40 dominjune 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 本来还觉得01背包是动态规划中比较基础的部分,没想到现在看了一下觉得好难...这题就是01Knapsack问题,我参考了一下Hawstein的blog,先来举一些例子吧:让我假设现在的背包的容量是C=10;物品编号: 1 2 3物品重量: 5 6 4物品价值:20 10 12用v[i]表示物品价值,... 阅读全文
posted @ 2015-04-01 14:28 dominjune 阅读(2366) 评论(1) 推荐(1) 编辑
摘要: 最近在学习动态规划,那这题当然是动态规划了(不好意思剧透了)......刚开始做动态规划,想详细地分析一下,以便理解更深刻! 首先读题,题目意思是要求从两个集合s1,s2选出N个数对,他们的距离(差的绝对值)的和最小;因为s1集合小于s2集合,所以就是从s1中选出全部n个数字,从s2中也选出n... 阅读全文
posted @ 2015-03-31 23:19 dominjune 阅读(540) 评论(1) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1021 1 //直接从那些可以被3整除的n值找规律 2 #include 3 #include 4 5 using namespace std; 6 7 int main() 8 { 9 int ... 阅读全文
posted @ 2015-03-29 16:34 dominjune 阅读(122) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1061找规律,当然快速幂也可以! 1 /*找规律: 2 例如对7来说,7的n次方是有规律的: 3 7 9 3 1 | 7 9 3 1..... 4 所以看n%4是第几位,个位数就做几次乘方就行了! 5 */... 阅读全文
posted @ 2015-03-29 16:22 dominjune 阅读(141) 评论(0) 推荐(0) 编辑
摘要: http://soj.sysu.edu.cn/show_problem.php?pid=1000&cid=1762这题的n达到了1000000,n^2的最长递增子序列做法肯定超时,于是有一种二分的算法,与此题完美地结合起来!达到nlogn的时间复杂度! 1 /* 2 最长递增子序列+二分查找 3 ... 阅读全文
posted @ 2015-03-29 11:53 dominjune 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 直接用递归做了一下,超时了,可能要再加上记忆化搜索?不会...然后再用动态规划就过了...http://soj.sysu.edu.cn/show_problem.php?pid=1002&cid=1762 1 //直接递归,tle 2 #include 3 #include 4 #include... 阅读全文
posted @ 2015-03-29 09:42 dominjune 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 算法是midpoint drawing algorithm,谁想的我也不知道...画线:按l,用鼠标点两个点;画圆:按o,用鼠标点一个圆心拉成一个圆;画多边形:按p,就跟画线差不多,最后右键闭合;清屏:按c;重画:按c后按r,redraw,需要用链表保存每个图形;ps:在vs下运行. 1 又修改了... 阅读全文
posted @ 2015-03-28 21:33 dominjune 阅读(1400) 评论(1) 推荐(0) 编辑