bzoj 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛【dp+树状数组+hash】
最长上升子序列。虽然数据可以直接n方但是另写了个nlogn的
转移:f[i]=max(f[j]+1)(a[j]<a[i])
O(n^2)
#include<iostream>
#include<cstdio>
using namespace std;
const int N=5005;
int n,a[N],f[N],ans;
int read()
{
    int r=0,f=1;
    char p=getchar();
    while(p>'9'||p<'0')
    {
        if(p=='-')
            f=-1;
        p=getchar();
    }
    while(p>='0'&&p<='9')
    {
        r=r*10+p-48;
        p=getchar();
    }
    return r*f;
}
int main()
{
	n=read();
	for(int i=1;i<=n;i++)
		a[i]=read();
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<i;j++)
			if(a[j]<a[i]&&f[j]+1>f[i])
				f[i]=f[j]+1;
		ans=max(ans,f[i]);
	}
	printf("%d\n",ans);
	return 0;
}
O(nlogn)树状数组+hash
#include<iostream>
#include<cstdio>
#include<map>
#include<algorithm>
using namespace std;
const int N=5005;
int n,a[N],f[N],ans,g[N],t[N];
map<int,int>mp;
int read()
{
    int r=0,f=1;
    char p=getchar();
    while(p>'9'||p<'0')
    {
        if(p=='-')
            f=-1;
        p=getchar();
    }
    while(p>='0'&&p<='9')
    {
        r=r*10+p-48;
        p=getchar();
    }
    return r*f;
}
inline int lb(int x)
{
	return x&(-x);
}
void update(int x,int v)
{
	for(int i=x;i<=n;i+=lb(i))
		t[i]=max(t[i],v);
}
int ques(int x)
{
	int re=0;
	for(int i=x;i>=1;i-=lb(i))
		re=max(re,t[i]);
	return re;
}
int main()
{
	n=read();
	for(int i=1;i<=n;i++)
		a[i]=g[i]=read();
	sort(g+1,g+1+n);
	for(int i=1;i<=n;i++)
		mp[g[i]]=i;
	for(int i=1;i<=n;i++)
		a[i]=mp[a[i]];
	for(int i=1;i<=n;i++)
	{
		f[i]=ques(a[i]-1)+1;
		update(a[i],f[i]);
		ans=max(ans,f[i]);
	}
	printf("%d\n",ans);
	return 0;
}
bzoj 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛【dp+树状数组+hash】的更多相关文章
- BZOJ 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛( LIS )
		裸的LIS ----------------------------------------------------------------- #include<cstdio> #incl ... 
- 【BZOJ】1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛(lis)
		http://www.lydsy.com/JudgeOnline/problem.php?id=1669 水题太严重 #include <cstdio> #include <cstr ... 
- BZOJ1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛
		1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 665 Solved: 419 ... 
- 【动态规划】bzoj1669 [Usaco2006 Oct]Hungry Cows饥饿的奶牛
		#include<cstdio> #include<algorithm> using namespace std; int n,a[5001],b[5001],en; int ... 
- 「BZOJ1669」D	饥饿的牛 [Usaco2006 Oct] Hungry Cows 牛客假日团队赛5   (LIS,离散化树状数组)
		链接:https://ac.nowcoder.com/acm/contest/984/D 来源:牛客网 饥饿的牛 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ... 
- BZOJ.4553.[HEOI2016&TJOI2016]序列(DP 树状数组套线段树/二维线段树(MLE) 动态开点)
		题目链接:BZOJ 洛谷 \(O(n^2)\)DP很好写,对于当前的i从之前满足条件的j中选一个最大值,\(dp[i]=d[j]+1\) for(int j=1; j<i; ++j) if(a[ ... 
- BZOJ 4361 isn | DP 树状数组
		链接 BZOJ 4361 题面 给出一个长度为n的序列A(A1,A2...AN).如果序列A不是非降的,你必须从中删去一个数, 这一操作,直到A非降为止.求有多少种不同的操作方案,答案模10^9+7. ... 
- bzoj:1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏
		Description 奶牛们又在玩一种无聊的数字游戏.输得很郁闷的贝茜想请你写个程序来帮她在开局时预测结果.在游戏的开始,每头牛都会得到一个数N(1<=N<=1,000,000).此时奶 ... 
- bzoj 1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏【模拟】
		模拟 #include<iostream> #include<cstdio> using namespace std; int n,ans; int main() { scan ... 
随机推荐
- 最详细的JavaWeb开发基础之java环境搭建(Mac版)
			阅读文本大概需要 5 分钟. 我之前分享过在 Windows 下面配置 Java 环境,这次给大家带来的是 Mac 下面安装配置 Java 环境.首先 Mac 系统已经带有默认的 Java,但是由于使 ... 
- javascript倒计时代码及倒计时弹窗
			在前端开发中,难免会用到倒计时.如做的双十一活动,在距活动开始的半个月前需要做些宣传工作,需要告知用户优惠活动什么时候开始.这个时候就要用到倒计时,如在整站的某个页面提醒用户活动什么时候开始等.而在活 ... 
- CodeForces 221D Little Elephant and Array
			Little Elephant and Array Time Limit: 4000ms Memory Limit: 262144KB This problem will be judged on C ... 
- Leetcode 179.最大数
			最大数 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 impo ... 
- 在win10配置环境变量
			从win7升级成win10后找不到在哪配置环境变量...手动再见ヾ( ̄▽ ̄)Bye~,废话不多说,下面开始图文模式: 1)打开文件资源管理器,点左上角的"计算机" 
- PyUV: Python高性能网络库
			libUV的python版本 https://github.com/saghul/pyuv 
- hdu3592(差分约束)  (线性)
			题意:一些牛按序号排成一条直线,有两种要求,A和B距离不得超过X,还有一种是A和B距离不得少于Y,问1和N可能的最大距离. 和poj那题一样,就是多了多组数据. #include<cstring ... 
- UVA 1025_A Spy in the Metro
			[题意](小紫书)一个人从站台1出发,乘车要在时刻T到达站台n,为使在站台等车时间最短,她可以选择乘坐两个方向的列车,并在客车停靠站的时候换车. [分析]每次停站下车时,她都有三种选择,1.原地不动 ... 
- Webstrom打开太慢
			让webstrom将安装包目录屏蔽,settings-搜索file types-在ignore file and folders加入node_modules目录,操作方式如下: 
- 2017-10-02-afternoon
			T1 最大值(max) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度 ... 
