hdu-5748 Bellovin(LIS)】的更多相关文章

题目链接:https://vjudge.net/contest/148584#problem/A 题目大意: 解题思路:题目要求为:输出与已知序列的每一个元素的f(i)(f(i)的定义如题)相同的字典序最小的序列.稍微思考便知,其实就是叫我们求出原序列的f(i),这个很容易做到,只要在最长上升子序列的模板题上稍微做一些改动,记录下原序列每一个元素的f(i)即可.具体实现见代码. #include <bits/stdc++.h> using namespace std; ; int rise[N…
hdu 5748 Peter有一个序列a1,a2,...,ana_1,a_2,...,a_na​1​​,a​2​​,...,a​n​​. 定义F(a1,a2,...,an)=(f1,f2,...,fn)F(a_1,a_2,...,a_n)=(f_1,f_2,...,f_n)F(a​1​​,a​2​​,...,a​n​​)=(f​1​​,f​2​​,...,f​n​​), 其中fif_if​i​​是以aia_ia​i​​结尾的最长上升子序列的长度. Peter想要找到另一个序列b1,b2,...,…
Bellovin Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 302    Accepted Submission(s): 148 Problem Description Peter has a sequence a1,a2,...,an and he define a function on the sequence -- F(…
Bellovin Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted Submission(s): Problem Description Peter has a sequence a1,a2,...,an and he define a function on the sequence -- F(a1,a2,...,an)=(f1,f2,...,fn), whe…
http://acm.hdu.edu.cn/showproblem.php?pid=3564 题意 给出1~n的插入顺序,要求每次插入之后的LIS 分析 首先用线段树还原出最终序列.因为插入的顺序是按1-n的顺序插入的,我们还原位置后,直接对位置进行求LIS,即为当前数的LIS.这里根据数据是从小到大插入的性质,用了比较巧妙的解法.先把每个数的位置保存起来,从小到大遍历,二分查找当前数据的位置处在已求出的LIS中的位置,比较长度后更新,再加入这个数据的位置,因为数据是从小到大的. #includ…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1423 好坑啊..还有公共串为0时的特殊判断,还有格式错误..看Discuss看知道除了最后一组测试数据之外都需要空行.. 其余的会LCS打印路径就行了. 法一: ///公共最长上升子序列 #include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #include…
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1361    Accepted Submission(s): 492 Problem Description There is a sequence firstly empty. We begin to add number from 1 to N to the sequence, and…
Bellovin Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 858    Accepted Submission(s): 395 Problem Description Peter has a sequence a1,a2,...,an and he define a function on the sequence -- F(…
Removed Interval Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1703    Accepted Submission(s): 558 Problem Description Given a sequence of numbers A=a1,a2,…,aN , a subsequence b1,b2,…,bk of A…
题意: 给定一个空序列 插入n个数(依次插入 1.2.3.4··n) 以下n个数表示i插在哪个位置. 每插入一个数后输出这个序列的lis 然后... 由于每次插入的数都是当前序列最大的数 所以不会影响后面的数的dp值 那么这个位置的dp值就是插入位置的前面最大dp值+1 然后输出这个序列最大的dp值. == 思路: splay. .. Q:为何这题须要用splay,不是简单的线段树吗 A: 由于我智商不够想不出线段树怎么写.. #include <cstdio> #include <io…
题目链接: Bellovin Time Limit: 6000/3000 MS (Java/Others)     Memory Limit: 131072/131072 K (Java/Others) Problem Description Peter has a sequence a1,a2,...,an and he define a function on the sequence -- F(a1,a2,...,an)=(f1,f2,...,fn), where fi is the le…
题意:给你一个序列,让你找长度最长的字典序最小和最大的单峰序列,单峰序列就是满足先增后降的序列. 思路:先正着求一遍LIS,再反着求一遍LIS,然后用单调栈来模拟. 求字典序最小的话,首先找到第一个顶峰,然后往前找递减的序列中下标较小的,往后就依次找,这样能保证字典序最小. 最大的话找到最后一个顶峰,往前是依次找,往后是找LIS中下标大的. #include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f ; int d[N…
Description Peter has a sequence  and he define a function on the sequence -- , where  is the length of the longest increasing subsequence ending with . Peter would like to find another sequence  in such a manner that  equals to . Among all the possi…
序列变换 Problem Description 我们有一个数列A1,A2-An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无论是修改前还是修改后,每个元素都必须是整数. 请输出最少需要修改多少个元素. Input 第一行输入一个T(1≤T≤10)T (1 \leq T \leq 10)T(1≤T≤10),表示有多少组数据 每一组数据: 第一行输入一个N(1≤N≤105)N (1 \leq N \leq 10^5)N(1≤N≤105),表示数列的长度 第二行输入N个数A1,A2,.…
hdu 1024:基础dp题 hdu 1029:主元素问题,很快的解法,计数器 hdu 1069:LIS hdu 1074:数位dp,数位dp基础 hdu 1257:简单LIS,要仔细分析为什么是求最长上升子序列(这些的单独拦截是必须的) hdu 1160:寻找最长上升子序列并把它输出 (尚存为何需要排序的疑问)//已知!!!类似于矩阵嵌套问题,只是要求出一条最长路径,选择谁先谁后题目并没有明确规定,因此要创造最好条件使得找到的路径(LIS)最长 hdu 1087: LIS,其中对于dp数组的初…
FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 14980    Accepted Submission(s): 6618 Special Judge Problem Description FatMouse believes that the fatter a mouse is, the faster…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5087 题目大意:求次大LIS的长度.注意两个长度相同的LIS大小比较,下标和大的LIS较大. 解题思路: 结构体记录当前点的最大长fir,次长sec. 对于f[i].fir的转移,其实就是裸的LIS. 只不过当f[j].fir+1>=f[i].fir的时候也要转移,这时候尽管两个LIS长度相等,但是大小不一样. 对于f[i].sec的转移,首先它的初始值是0,在a[i]>a[j]条件下: ①首先…
---恢复内容开始--- Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13003    Accepted Submission(s): 6843 Problem Description A group of researchers are designing an experiment to te…
Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23467    Accepted Submission(s): 6710 Problem Description JGShining's kingdom consists of 2n(n is no mo…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5489 给你n个数,要删去其中连续的L个,问你删去之后的LIS最大是多少? 我们先预处理出以i下标为开头的LIS,存到数组中. 然后可以枚举长为L的区间,每次移动,左边增加一个,右边删除一个. 最长上升子序列长度 = 窗口右边以右边第一个元素开头的最长上升子序列 + 窗口左边最大元素小于窗口右边第一个元素的最长上升子序列. 比如 1 2 [4 3] 2 3 5  ,  LIS = 3 + 1 = 4…
XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2422    Accepted Submission(s): 990 Problem Description #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then careful…
Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30163    Accepted Submission(s): 13507 Problem Description Nowadays, a kind of chess game called “Super Jumping!…
HDU - 1160 给一些老鼠的体重和速度 要求对老鼠进行重排列,并找出一个最长的子序列,体重严格递增,速度严格递减 并输出一种方案 原题等于定义一个偏序关系 $(a,b)<(c.d)$ 当且仅当 $a<c,b>d$ 然后找出最长链 ...我们就按照他说的重新排个序,然后找LIS吧,不过还需要去路径还原 数据量可以用$O(n^2)$的算法 不过我这里用来$O(nlogn)$的算法加上一个路径还原 嗯,其实是在一个单调栈上乱搞的二分罢了.... 最后要回溯一下并且记录答案才行 #incl…
目录 题目链接 题解 代码 题目链接 HDU 4352 XHXJ's LIS 题解 对于lis求的过程 对一个数列,都可以用nlogn的方法来的到它的一个可行lis 对这个logn的方法求解lis时用的数组进行装压 预处理的到这个的转移 数位dp转移的时候直接得到下一位的lis状态 代码 #include<set> #include<cstdio> #include<cstring> #include<algorithm> #define gc getcha…
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now. The game can be played by two or more than two players. It consi…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully reading the ent…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully r…
题目链接: acm.hdu.edu.cn/showproblem.php?pid=1025 Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 28755    Accepted Submission(s): 8149 Problem Description…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1950 Bridging signals Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3711    Accepted Submission(s): 2337 Problem Description 'Oh no, they've don…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1257 最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 53635    Accepted Submission(s): 21019 Problem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但…