摘要:
dp方程很简单: f[i] = min{ f[i-j] } + stone[i] 但是数据10^9太大了,超时超空间,这样只能过30% 来自:http://blog.csdn.net/w19960702123/article/details/40478187 当我们看到10^9与100块石头,和s, 阅读全文
posted @ 2016-07-08 17:38
FuTaimeng
阅读(345)
评论(0)
推荐(0)
摘要:
这道题目相当于是让我们把a,b对齐,即a中第i大的数与b中第i大的数下标相同一看到交换次数,很容易让人想到归并排序我的做法是这样的就样例而言:a:1 3 4 2b:1 7 2 4读进来之后先处理a,b 把a,b按大小离散成1..n离散之后a:1 3 4 2 b:1 4 2 3那么我们现在的问题就变成 阅读全文
posted @ 2016-07-08 12:13
FuTaimeng
阅读(151)
评论(0)
推荐(0)
摘要:
定义:A是包含n个元素的有序序列{a1,a2 … an},若ai > aj 且 i < j ,则称 (ai , aj)是A的一个逆序对。求逆序对是指求出A中存在逆序对的数量。 这个算法是归并排序的演化,仅需加上一行,就可以求逆序对个数。 简单的概括是:在把两个子序列合并时(两个子序列已经有序),如果 阅读全文
posted @ 2016-07-08 12:12
FuTaimeng
阅读(745)
评论(1)
推荐(0)
摘要:
首先,预处理三个数组。 pre[x]表示在此之前颜色为x的客栈有多少个。 f[x]表示在此之前的客栈中,某个点c,c的颜色为x,并且从c点到已经读入的点之间有费用小于p的客栈,这样的c点的个数 last[x]表示上一个颜色为x的客栈出现在哪 那么接下来的事情就很显然了。 首先读进去一个客栈,如果这个 阅读全文
posted @ 2016-07-08 09:59
FuTaimeng
阅读(240)
评论(0)
推荐(0)
摘要:
题目大意是求一个最长的抖动的子序列 题解中有一个大神写下了这样的代码: a、b分别表示当前最长的末尾是上升的、下降的子序列的长度,根据每次当前节点x和上一个y的关系更新a、b 好聪明... 感觉我经常把题想难... 阅读全文
posted @ 2016-07-08 09:09
FuTaimeng
阅读(110)
评论(0)
推荐(0)

浙公网安备 33010602011771号