大意: 给出一个长度为n的序列a,现在要求构造一个序列b,满足: 若$a_i<a_{i+1}$则$b_i<b_{i+1}$ 若$a_i>a_{i+1}$则$b_i>b_{i+1}$ 若$a_i==a_{i+1}$则$b_i!=b_{i+1}$ 且b的元素都在1到5之间 思路: 直接dp,根据前一个的 ...
分类:
其他好文 时间:
2021-04-07 11:02:05
阅读次数:
0
原题链接 考察:区间dp 这题好像HDU 4283 可以往左或者往右走.但是这道题起始位置不确定,也就是说,i位置不一定是栈底. 非常详细的题解 思路: 因为题目完全不一样,所以必须换一个思路.以f[i][j]表示灭掉[i,j]所有灯消耗的功率.首先明确老张灭灯只要路过了就会灭,因此最后的位置要么是 ...
分类:
其他好文 时间:
2021-04-07 10:35:12
阅读次数:
0
题意:求无向图从起点到终点最多停留k次的最短路 设d[i][j]表示走了i步后到达点j的最小代价,看似最短路,实则dp,因为求解过程中i是递增的,不存在环,直接递推求解即可 什么?你说最短路也属于dp?那没事了 1 #include<bits/stdc++.h> 2 using namespace ...
分类:
其他好文 时间:
2021-04-07 10:31:17
阅读次数:
0
动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划不是某一种具体的算法,而是一种算法思想: 若要解一个给定问题,我们需要解其不同部分(即子问题),再 ...
分类:
其他好文 时间:
2021-04-06 15:07:31
阅读次数:
0
原题链接 考察:状压dp+dfs寻找路径 思路: 重复覆盖问题.参考愤怒的小鸟的思路,我们需要两两构造一个包含两个字符串a,b的DNA序列,然后要分a在前面与b在前面两种情况. 本蒟蒻一开始想的是定义结构体String,再定义结构体内部的st(二进制标记哪些串被标记),构造后的具体字符串s.每个状态 ...
分类:
其他好文 时间:
2021-04-06 14:25:16
阅读次数:
0
某人的房子着火了,他想从大火中带走价值总和尽量多的物品,每次他只能带走一个,分别给出挽救某物品需要的时间t,该物品开始燃烧的时间d(在d时间开始燃烧就不能再挽救该物品了),该物品的价值p。约束:n(1<=n<=100) ti(1<=ti<=20),di(1<=di<=2000),pi(1<=pi<=... ...
分类:
其他好文 时间:
2021-04-06 14:18:55
阅读次数:
0
仅供自己学习 思路: 这种题应该用动态规划,因为上到n台阶的方案需要分成不同种方案,即上一层和上两层的多种组合。 首先考虑上到最后一层,可以有上一层台阶到达最后一层,也可以有上两层台阶到达最后一层,那么总的方法就有 dp[n]=dp[n-1]+dp[n-2]种。 因为题目给的范围不为0,所以dp[0 ...
分类:
其他好文 时间:
2021-04-06 14:16:11
阅读次数:
0
原题链接https://codeforces.com/problemset/problem/4/D 题意:给你n个二元组和起始条件,求其最大二维上升子序列,并输出选择编号。 思路:按照一个维度排序,然后DP即可,注意细节。 代码如下 int n, w, h; struct node{ int w, ...
分类:
其他好文 时间:
2021-04-05 12:33:56
阅读次数:
0
题目描述 我们定义一个点$x$是整棵树的重心(总共有$n$个点)当且仅当删掉点x后所有连通块的大小都不超过$n/2$。我们定义一次操作为删掉一条边再加上一条边,必须满足操作后整个图还是一棵树。给你一棵$n$个点的树,求每个点能否在一次操作后成为重心。 输入 第一行一个整数$n$; 接下来$n-1$行 ...
分类:
其他好文 时间:
2021-04-05 12:25:59
阅读次数:
0
XXVII.CF573E Bear and Bowling 考虑暴力的DP。设 \(f_{i,j}\) 表示前 \(i\) 个元素中选择长度为 \(j\) 的子序列所能得到的最大收益。 考虑由 \(f_i\) 转移到 \(f_{i+1}\)。明显,一共有两种转移方式:\(f_{i,j}\righta ...
分类:
其他好文 时间:
2021-04-05 11:56:10
阅读次数:
0