HDU 5141

这个题 LIS  +  并查集的思想 + 链式前向星 

要求找s(i,j)使i j 能有最长的LIS  。。。

做法是枚举每一个j 即终点  算 起点 的可能

无力吐槽了  bc 的时候写错了一个地方 导致TLE  后来幡然醒悟了  

改了就a了 

+++++++++++++++++++++++++++++++++++++++++++

不想说什么了 直接上代码

+++++++++++++++++++++++++++++++++++++++++++

#include <cstdio>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <string>
#include <queue>
#include <map>
#include <stack>
#include <cstring>
#define CL(a,b) memset(a,b,sizeof(a))
#define ll __int64
#define TEST cout<<"TEST   ***"<<endl;
#define INF 0x7ffffff0
#define MOD 1000000007
using namespace std;typedef struct node
{int p,next;
}N;
N no[100010];
int head[100010],cv;int num[100010];
int fa[100010];
int pi[100010];
int so[100010],ct;
int n;void inithead()
{CL(head,-1);cv=0;
}void addnode(int s,int e)
{no[cv].p=e;no[cv].next=head[s];head[s]=cv++;
}void initfa()
{int i,j;for(i=0;i<=100000;i++)fa[i]=i;
}int finr(int x)
{if(fa[x]==x)return x;fa[x]=finr(fa[x]);return fa[x];
}void unio(int x,int y)
{int rx=finr(x);int ry=finr(y);fa[rx]=ry;
}int bin(int s,int e,int v)
{int m=(s+e)/2;if(so[m]>=v&&so[m-1]<v)return m;if(so[m]>v)return bin(s,m,v);return bin(m+1,e,v);
}int main()
{while(scanf("%d",&n)!=EOF){int i,j,a,p,v;initfa();inithead();so[0]=-1;ct=0;for(i=1;i<=n;i++){scanf("%d",&a);num[i]=a;if(a>so[ct]){ct++;so[ct]=a;addnode(ct,i);pi[i]=ct;}else{p=bin(0,ct,a);so[p]=a;addnode(p,i);pi[i]=p;}if(pi[i]!=1){p=head[pi[i]-1];while(p!=-1){v=no[p].p;if(num[v]<a){unio(i,v);break;}p=no[p].next;}}}ll rem=0,la=0,he;i=n;while(i>=1){la++;if(pi[i]==ct){he=finr(i);rem+=la*he;la=0;}i--;}printf("%I64d\n",rem);}return 0;
}

 

转载于:https://www.cnblogs.com/loloveping/p/4148820.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL存储过程相互调用

什么都不说了上代码&#xff1a; 方式一&#xff1a; 第一个存储过程&#xff1a;test1,参数如下&#xff1a;IN user_name VARCHAR(50),OUT uid bigint(20) BEGIN#Routine body goes here...DECLARE u_id BIGINT(20) DEFAULT 11;SELECT user_id INTO uid FROM tbl_useralias …

一个人动情之后的表现......

1 卖家能有什么坏心思呢&#xff08;via.城与橙与澄&#xff0c;侵删&#xff09;▼2 严重怀疑传了答案▼3 别说我还真没留意到&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 领导说“辛苦了”&#xff0c;你要怎么回答▼5 哦吼&#xff08;素材来源网络&#…

Android之推荐看的Android源码

推荐阅读的源码 AOSP项目这么庞大,就算是Framework部分也有够看上一阵子的,所以推荐从常用的看起,由浅及深,同时向横向和纵向深入阅读。 开始 Handler-Message-Looper Handler被称为“异步提交器”,是Android开发入门教程必定谈及的东西,这也是Activity等组件的工作机…

线性代数第五版吉尔伯特课后答_线性代数同济第五版第六章课后习题答案!

搜集 | 整理 | 测试 | 小愉免责声明&#xff1a;以下资源或软件均来自互联网&#xff0c;仅供学习和交流使用&#xff0c;如有侵权请联系删除&#xff0c;请勿用于商业和非法途径等&#xff0c;如有法律纠纷与本人无关&#xff01;本文未经允许&#xff0c;不得转载&#xff0…

2021,我的输入输出

前言2021年&#xff0c;我到底进行了哪些输入&#xff0c;又是如何输出的&#xff0c;借由这篇文章回顾一下。新技术.NET技术日新月异&#xff0c;今年我也尝试学习了其中一部分。BlazorBlazor允许我们使用C#而不是JavaScript构建交互式客户端Web应用程序&#xff0c;对于后端出…

iOS笔记之UIKit_UINavigationController

//设置导航条的样式 self.navigationController.navigationBar.barStyle UIBarStyleBlackTranslucent; //默认是白色 Bar 字体颜色黑色&#xff0c;如果样式设置黑色&#xff0c;对应的字体就是白色。 //定义导航条的时候使用 self.navigationController.navigationBar.trans…

字符串之找到字符串的最大无重复字符串子串

题目: 字符串之找到字符串的最大无重复字符子串 举例: str = "adcd" return 4 str = "aabcd" I know this str is adc so return 3 要求: 时间复杂度为O(N) 代码实现: package com.chenyu.string.cn;public class MaxUnique {public static v…

hive日期函数

今天select from_unixtime(unix_timestamp(),yyyy-MM-dd HH:mm:ss) UNIX时间戳转日期函数: from_unixtime 语法: from_unixtime(bigint unixtime[, string format]) 返回值: string 说明: 转化UNIX时间戳&#xff08;从1970-01-01 00:00:00 UTC到指定时间的秒数&#xff09;到…

sql长整型_SQL 性能优化梳理

先简单梳理下Mysql的基本概念&#xff0c;然后分创建时和查询时这两个阶段的优化展开。1 基本概念简述1.1 逻辑架构第一层&#xff1a;客户端通过连接服务&#xff0c;将要执行的sql指令传输过来第二层&#xff1a;服务器解析并优化sql&#xff0c;生成最终的执行计划并执行第三…

网络的东西南北

前一陣子連續出差, 加上許多的內部會議, 搞的差點想去撞牆把自己搞昏之後就可以休息一下. 但是家中還有嗷嗷待哺的嬰兒需要爸爸幫他洗屁屁, 所以只有咬牙繼續撐下去. 不過這兩個月來, 不過在公司內部還是外部, 我都收到一樣類似的老問題那就是&#xff1a;&#xff08;認識我的…

K8s 中使用 cert-manager 申请免费 Https 证书

K8s 中使用 cert-manager 申请免费 Https 证书Intro最近在尝试将自己的应用从自己用 kind 部署的一个 k8s 集群迁移到 Azure 的 AKS 上&#xff0c;其中一个问题就是 https 证书&#xff0c;原来的 k8s 集群是放在 nginx 后端的并没有直接管理 https 证书&#xff0c;https 证书…

为什么要学数学?因为它真的没用啊!

全世界只有3.14 % 的人关注了爆炸吧知识数学之用无用之用有一天&#xff0c;表妹过来问了我两个问题&#xff1a;数学有什么用&#xff1f;那些深奥的公式对于普通人有什么意义&#xff1f;相信大多数人都有这个疑问&#xff0c;但总是找不到一个标准答案。问老师&#xff0c;他…

UI设计教程-界面设计构图

九宫格构图&#xff0c;圆心点放射形构图&#xff0c;三角形构图&#xff0c;SF字形构图。 1.九宫格网格构图 这种版式主要运用在分类为主的一级页面&#xff0c;起到功能分类的作用。 通常在界面设计中&#xff0c;我们会利用网格在界面进行布局&#xff0c;根据水平方向和垂直…

Android之最好理解的Binder机制

转载&#xff1a;http://weishu.me/2016/01/12/binder-index-for-newer/ Binder学习指南 发表于 2016-01-12 | 92条评论 | 34011次阅读毫不夸张地说&#xff0c;Binder是Android系统中最重要的特性之一&#xff1b;正如其名“粘合剂”所喻&#xff0c;它是系统间各个组件…

gridview实现分页

前台代码&#xff1a; <asp:GridView ID"GridView1" runat"server" AllowPaging"True" AutoGenerateColumns"False" DataKeyNames"ScoreID" DataSourceID"SqlDataSource1" onpageinde…

sql年月日24小时制_24小时制的「无码」真人秀,令人叫绝

几年前&#xff0c;我们总说互联网给世界带来了巨大的变化。到了现在&#xff0c;没想到自媒体的发展居然也能改变生活。但大家知道吗&#xff0c;其实早在20年前&#xff0c;美国那边就曾因“直播”掀起过不小的风浪——还是尺度挺大的那种。以至于毒师看过以后&#xff0c;整…

HangFire循环作业中作业因执行时间太长未完成新作业开启导致重复数据的问题...

背景HangFire有个很奇怪的现象&#xff0c;就是即使你设置的循环作业是一天一次&#xff0c;但是每次作业执行很长时间&#xff0c;我们假设是1小时&#xff0c;那么差不多在开始执行之后的30分钟之后&#xff0c;如果还在执行job,系统就会自动帮你重新开启了新的job执行。也就…

virtual多态 你不知道的事情

<1>如果父子类虚函数都有默认参数&#xff0c;这种情况下根据指针类型来调用对应函数<2>构造过程中&#xff0c;虚表还没有建立&#xff0c;此时在构造或析构函数中调用虚函数为静态调用<3>const类型函数和非const类型函数不构成覆盖(多态)<4>返回类型…

linux之查看文件大小、文件夹的大小和分区磁盘速度

1 查看文件大小 查看文件大小的命令 ls -l filename 比如: 注意这个 1243870 是 单位是B 2 查看文件夹的大小 查看文件夹的大小,也就是查看文件夹下所有文件的大小总和 先进入这个目录: cd FoldeName 命令如下: du -sh 3 查看分区磁盘速度 命令如下: