//dp+dfs+贪心 //记一个全局变量 #include<iostream> using namespace std ; const int N=55; int n; int ans; int q[N]; int up[N],down[N];//表示上升子序列结尾和下降子序列结尾 void df ...
//贪心加dp #include<iostream> using namespace std ; const int N=1010; int n; int q[N]; int f[N]; int g[N];//存每个序列末尾的数字 int main() { while(cin>>q[n]) n++; ...
这题显然跟 "区间覆盖" 是一样的,而且值域在 $1000000$ 以内,不用离散化,直接贪心求解即可。 具体地:设 $nxt[i]$ 为从值域 $i$ 出发,能到达最远的右端点。 一段段地跳,直到跳到终点 $T$ 或者跳不动了。 $Tips$:注意这里是点覆盖,而区间覆盖是边覆盖,要注意跳的细节。 ...
原文链接 www.cnblogs.com/zhouzhendong/p/UOJ339.html 前言 好久没更博客了,前来更一发。 题解 首先,我们考虑一个子问题:给定根,求出最小中序遍历。 如果根节点有一个儿子,那么,我们需要比较根节点和 儿子的最小中序遍历的第一个元素,选择较优的一方放在前面。 ...
分类:
其他好文 时间:
2019-11-29 10:53:42
阅读次数:
101
题目链接:https://vjudge.net/contest/344930#problem/G 题目大意:给你字符串,如果他包含至少两个长度大于等于3的回文,并且这些回文不能嵌套(例如aaa嵌套在aaaa,waw嵌套在awawa),如果这个字符串这么牛逼的话,就输出他。 题目思路:其实这道题有一个 ...
分类:
其他好文 时间:
2019-11-29 00:31:00
阅读次数:
129
"欢迎来看看呀" "题目链接" 这道题代码虽然简单,但是状态转移方程还是比较难想的 首先我们可以贪心地发现一个性质,要使修理完的路花费最小,每条路必然都会是原来已经存在的高度,不然就会造成损失 接下来该怎么处理呢?考虑利用上面的性质来设计一个状态 先将输入的数据离散化一下,$b[i]$表示第$i$高 ...
分类:
其他好文 时间:
2019-11-26 23:14:09
阅读次数:
145
B. Box Permutation p is a sequence of integers p=[p1,p2,…,pn], consisting of n distinct (unique) positive integers between 1 and n, inclusive. For exa ...
分类:
其他好文 时间:
2019-11-25 00:18:54
阅读次数:
91
D2. Optimal Subsequences (Hard Version) This is the harder version of the problem. In this version, 1≤n,m≤2?105. You can hack this problem if you lock ...
分类:
其他好文 时间:
2019-11-25 00:14:02
阅读次数:
72
听书上说有贪心 + 数据结构的做法,研究了一下。 朴素贪心 考虑把所有线段按照右端点 $b$ 从小到大排序,依次考虑每一条线段的要求: 如果已经满足要求则跳过 否则尽量选择靠后的数(因为之后的线段的右端点都在这条线段的右边,这样容错更高) 所以,我们可以建一个数组,$d[i]$ 表示 $i$ 数字是 ...
# 该题的标签为 1.堆 2. 贪心算法 目前还不知道用堆怎么解,本文只介绍贪新算法 1. 使用贪心解法比较简单。但是看了好多解释都说得不是很明白。 2. 本文对其进行个人的解释: 建立两个HashMap: 2.1 numCounts: 用来统计nums数据中出现的个数 2.2 numNeededC ...
分类:
编程语言 时间:
2019-11-24 17:49:46
阅读次数:
91