博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  DP__线性

摘要:题解 [ZJOI2010]基站选址 "题面" 解析 首先考虑一个暴力的DP, 设$f[i][k]$表示第$k$个基站设在第$i$个村庄,且不考虑后面的村庄的最小费用. 那么有$f[i][k]=\min(f[j][k 1]+cost(j,i))$,$j\in[1,i 1]$ 其中$cost(j,i)$ 阅读全文
posted @ 2019-11-04 16:32 Hastin 阅读(167) 评论(0) 推荐(0)
摘要:"题面" 解析 可以发现,发纪念品有三种方式: 1. 从左边走再原路返回. 2. 从右边走再原路返回. 3. 走一圈. 注意到,第三种走法最多只会走一次, 因为如果走了多次,那发放的物品数量就会 =$2k$, 那么一定有半边的数量 =$k$. 因此就可以转化为一次1/2操作加一次3操作(先发掉$k$ 阅读全文
posted @ 2019-08-27 08:18 Hastin 阅读(203) 评论(0) 推荐(0)
摘要:"题面" 解析 这题一眼DP啊. 然而想了半天毫无思路. 后来~~看题解后~~发现可以按边权的大小顺序DP. 将边权从小到大排序,对于权值相同的边分为一组. 设$f[i][0]$表示经过当前权值的边后到达$i$的最长路, $f[i][1]$表示经过之前的权值的边后到达$i$的最长路. 那么对于一条边 阅读全文
posted @ 2019-08-25 22:20 Hastin 阅读(159) 评论(0) 推荐(0)
摘要:先讲下题目意思 给定一个长度为$n$的序列$(1 \leq n \leq 100)$, 每次合并两个元素$i,i+1$,即将$i,i+1$变为一个新的元素,权值为$a[i] a[i+1]$($a$为权值), 求在$n 1$次合并后剩下的元素的权值为$t$$( 10000 \leq t \leq 10 阅读全文
posted @ 2019-04-04 07:58 Hastin 阅读(272) 评论(0) 推荐(0)
摘要:题目意思: 有两个字符串(长度$=l$,即最终能形成长度为$len$的子串,就将$ci$加入$s$, 并且注意,由于我们是倒着搜的,所以要用$ci+s$而不是$s+ci$. 当$l1$或$l2$小于$0$时,即搜不到了,就返回, 而当$l$等于$0$时就添加答案并返回. 最后排序后输出就行了. 具体 阅读全文
posted @ 2019-04-02 18:02 Hastin 阅读(229) 评论(0) 推荐(0)
摘要:题目意思: 给你一个长度为$n$($1 include include using namespace std; inline int read(){ int sum=0,f=1;char ch=getchar(); while(ch '9' || ch='0' && cha[j]) len=max 阅读全文
posted @ 2019-04-02 17:19 Hastin 阅读(235) 评论(0) 推荐(0)
摘要:最长上升子序列 LIS Description 给出一个 1 ∼ n (n ≤ 10^5) 的排列 P 求其最长上升子序列长度 Input 第一行一个正整数n,表示序列中整数个数; 第二行是空格隔开的n个整数组成的序列。 Output 最长上升子序列的长度 Sample Input 7 1 7 3 阅读全文
posted @ 2019-03-27 10:14 Hastin 阅读(166) 评论(0) 推荐(0)
摘要:矩阵 matrix Description 给出一个 n × m 的矩阵。请在其中选择至多 3 个互不相交的,大小恰为 k × k 的子矩阵,使得子矩阵的 权值和最大。 Input 第一行三个整数 n, m, k ( n, m ≤ 1500) 。 接下来 m 行,每行 n 个整数,描述矩阵。矩阵中的 阅读全文
posted @ 2019-03-26 16:12 Hastin 阅读(362) 评论(0) 推荐(0)
摘要:合并 union Description 给出一个 1 ∼ N 的序列 A ( A 1 , A 2 , ..., A N ) 。你每次可以将两个相邻的元素合并,合并后的元素权值即为 这两个元素的权值之和。求将 A 变为一个非降序列,最少需要多少步操作。 Input 输入的第一行一个整数 N ( N 阅读全文
posted @ 2019-03-26 11:58 Hastin 阅读(235) 评论(0) 推荐(0)
摘要:【Uva】硬币问题 Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多。给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值。 Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多。给 阅读全文
posted @ 2019-03-01 17:49 Hastin 阅读(359) 评论(0) 推荐(0)