摘要: 怎么想 模拟样例数据之后猜想:从1开始走,记着最低价格,往后一直走,不断更新差价。 但这样碰到环就麻烦了。 所以考虑缩点,DAG图能省去一些麻烦。 阿龙要低价买入,高价卖出,而每条路可以反复地走, 那么在一个强连通分量中,阿龙一定可以在该强连通分量中售价最低处买入,最高处卖出。 可以从1所在的强连通 阅读全文
posted @ 2019-11-13 21:51 Neptune0 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 一.能量项链 https://www.luogu.org/problem/P1063 (这道题和紫书里的最优矩阵链乘很像) ①分析样例: 4 2 3 5 10 我们把它写成4个乘法表达式: 2*3 3*5 5*10 10*2 合并它需要3次乘法: 10*2*3 3*5 5*10 能量+60 10*2 阅读全文
posted @ 2019-11-12 20:48 Neptune0 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 读完题目我们大概就可以想到一种暴力解法了 #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int N=1e6+5; int sum[N],d,r[N],s,t,n,m; int main 阅读全文
posted @ 2019-11-12 18:52 Neptune0 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题干中说”最短距离尽可能长”,那么我们想到二分答案。 那么这道题的答案有没有一个可行的范围呢,该区间是否符合单调性呢? 来看范围: 显然对于初始的数据,从0到n+1的相邻石头的距离,我们可以找到一个初始的dismin,这个可以作为left, 显然right=length(移除所有石头)。 来看单调性 阅读全文
posted @ 2019-11-12 09:50 Neptune0 阅读(126) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<algorithm> using namespace std; const int N=500005; int n,m,s,cnt,num; 阅读全文
posted @ 2019-11-10 22:36 Neptune0 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题目给了一个矩阵,要求一来一回点权和最大,而且走过的点不能再走 最开始我是这么想的: 顺着来一遍,记录路径,清空路径上的好感度,再反着来一遍。 结果出错了,为什么? 因为这样做能保证第一条路一定点权和最大,但不能确保一来一回的点权和最大(样例都过不掉) 所以我们把求两条严格不相交路径看成两个人同时从 阅读全文
posted @ 2019-11-07 20:32 Neptune0 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 此题与LCS非常相似。 因为是两个串的比对,所以我们很容易想到用f【i】【j】来表示a串的前i个碱基和b串的前j个碱基配出的最大相似度(每一个碱基都配对一个碱基,或者配空碱基), 那么这个状态的前驱就有三种: ①f【i】【j-1】+(b【j】与空碱基的相似度) ②f【i-1】【j】+(a【i】与空碱 阅读全文
posted @ 2019-11-06 16:27 Neptune0 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 这道题是紫书里的,以下的主代码也来自紫书,但笔者会在这里做一些补充说明。 本题中把单向流逝的时间作为拓补序,用时刻和位置作为状态参数, dp【i】【j】表示在i车站,j时刻时还需等待的最少时间(其实通常我们把表示阶段的放在前面) 边界是这个:dp[n][tm]=0; for(int i=1;i<n; 阅读全文
posted @ 2019-10-30 21:16 Neptune0 阅读(159) 评论(0) 推荐(0) 编辑
摘要: OpenJudge - 1001:嵌套矩形问题http://cdsdzx.openjudge.cn/practice/1001/ 这是紫书里嵌套矩形问题的简化版 注意要将d数组初始化为0,如果初始化为1的话,在记忆化上会出错。 代码如下(核心代码来自紫书) #include<iostream> #i 阅读全文
posted @ 2019-10-28 21:29 Neptune0 阅读(130) 评论(0) 推荐(0) 编辑
摘要: P1030 求先序排列 - 洛谷 | 计算机科学教育新生态https://www.luogu.org/problem/P1030 输入 #1复制 BADC BDCA 输出 #1复制 ABCD 题目如上,对于这道题,我们可以利用树的递归性质来求解 已知后序序列和中序序列,我们可以逐次找根,输出根节点的 阅读全文
posted @ 2019-09-16 19:00 Neptune0 阅读(209) 评论(0) 推荐(1) 编辑