C/C++
文章平均质量分 78
The_sam
这个作者很懒,什么都没留下…
展开
-
ACM 粗心永远AC不了系列——UVa 213 Message Decoding(World Finals1991,字符串) |二维数组的妙用
每天进步一点点,早日脱离水坑原创 2017-03-13 13:55:21 · 579 阅读 · 0 评论 -
ACM 粗心永远AC不了系列——UVA 512 - Spreadsheet Tracking 追踪电子表格中的单元格 |变换思想的另一种思路
此题在算法竞赛入门经典第二版中85页有详解,我先自己想了一下思路,然后看书上的思路,发现书上第二中方法的思路非常的巧妙,在不看代码的情况下自己实现了,特此标记。题目详细在最下方,这里先总结我的一点小小的心得。此题模拟Excel的变换,最首先想到的思路是用一个二维数组来模拟该操作,只不过这样子会使整个算法效率很地底下,但是较为容易想到。另一种思路,变换类型的题,但凡他是要求结果不论过程的原创 2017-03-13 16:41:45 · 647 阅读 · 0 评论 -
动态规划入门==》转换为DAG问题——钢条切割
问题描述: 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi。那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大。如一个Pi如下:1.数据结构表示DAG,我们可以把它想象成DAG,每个长度想象成一个点,i>j 则i可以指向j,代价为上图(i-j)对应数值,结果就是求最长路径。2.问题小化,即求出前原创 2017-04-06 18:38:41 · 801 阅读 · 0 评论 -
算法导论——16.1-5动态规划解决活动选择带值问题
原活动问题是用贪心算法解得,实质是就是不重合区间择多问题。新的问题变形后,每个区间的都带上的值,求如何选择才能得到不重合区间且值最大。想了想只能用dp来解决,下面附我的解题思路+代码 1.用act[max][3]记录所有活动的状态(开始时间|结束时间|价值) act[n-1][0]表示第n个活动的开始时间,act[n-1][1]]表示第n个活动的结束原创 2017-03-28 20:54:01 · 2279 阅读 · 0 评论