`

【最长下降子序列+nlog(n)】北大 POJ 1548 Robots

阅读更多

 

/* THE PROGRAM IS MADE BY PYY */
/*----------------------------------------------------------------------------//
    Copyright (c) 2012 panyanyany All rights reserved.

    URL   : http://poj.org/problem?id=1548
    Name  : 1548 Robots

    Date  : Monday, July 9, 2012
    Time Stage : half an hour

    Result:
10405836	panyanyany
1548
Accepted	172K	0MS	C++
1775B	2012-07-09 13:02:39

Test Data :

Review :

//----------------------------------------------------------------------------*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <vector>

#include <algorithm>
#include <iostream>
#include <queue>
#include <set>
#include <string>

using namespace std ;

#define MEM(a, v)        memset (a, v, sizeof (a))    // a for address, v for value
#define max(x, y)        ((x) > (y) ? (x) : (y))
#define min(x, y)        ((x) < (y) ? (x) : (y))

#define INF     (0x3f3f3f3f)
#define MAXN	(24*25)

#define L(x)	((x)<<1)
#define R(x)	(((x)<<1)|1)
#define M(x, y)	(((x)+(y)) >> 1)

#define DB    //

struct NODE {
	int x, y;
};

bool cmp(const NODE &lhs, const NODE &rhs)
{
	if (lhs.x == rhs.x)
		return lhs.y < rhs.y;
	return lhs.x < rhs.x;
}

NODE a[MAXN];
int order[MAXN];

int LDesS(NODE a[], int n)
{
	int i, r, l, len, m;
	MEM(order, 0);
	sort(a, a+n, cmp);
	len = 1;
	for (i = 0; i < n; ++i)
	{
		l = 1;
		r = len;
		while (l <= r)
		{
			m = (l + r) >> 1;
			if (order[m] > a[i].y)
				l = m + 1;
			else
				r = m - 1;
		}

		if (order[l] < a[i].y)
			order[l] = a[i].y;
		len = max(len, l);
	}
	return len;
}

int main()
{
	int x, y, n;
	n = 0;
	while (scanf("%d %d", &x, &y) != EOF)
	{
		if (x == -1 && y == -1)
			break;

		if (x != 0 && y != 0)
		{
			a[n].x = x;
			a[n].y = y;
			++n;
		}
		else
		{
			printf("%d\n", LDesS(a, n));
			n = 0;
		}
	}
	return 0;
}
 
0
2
分享到:
评论

相关推荐

    .Net Core2.1+NLog+SqlServer+MySql使用实例

    《.Net Core 2.1+NLog+SqlServer+MySql集成应用详解》 在现代软件开发中,日志记录是一项至关重要的任务,它能够帮助开发者追踪应用程序的运行状态,定位和解决问题。本实例将深入探讨如何在.Net Core 2.1环境中,...

    .Net Core2.1+NLog

    .Net Core2.1+NLog+数据库连接 &lt;?xml version="1.0" encoding="utf-8" ?&gt; &lt;nlog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="true" internalLogLevel=...

    c#完整的windows服务+NLog日志+安装卸载

    3. NLog配置:项目应该包含一个NLog.config文件,定义了日志输出的目标、格式和级别。 4. 主程序入口:可能是一个名为Program.cs的文件,其中包含ServiceBase.Run方法,用于启动服务。 在实际开发中,开发者会根据...

    WPF MVVM双向绑定DEMO + NLOG DEMO

    同时,视图模型或业务逻辑部分的类可能会有NLog日志记录的示例,展示如何在程序运行过程中使用NLog记录信息。 **总结** 这个压缩包中的DEMO展示了如何在WPF应用中结合MVVM模式实现用户界面和数据的双向绑定,以及...

    一种O_n_nlog_2m_时间复杂度的排序算法.pdf

    在《一种O(n + nlog₂m)时间复杂度的排序算法》这篇论文中,作者提出了一种新颖的排序算法,该算法的时间复杂度为O(n + nlog₂m),其中m为原始输入数据序列中有序或逆序子序列的数量,范围为1到n²(1 ≤ m ≤ n²)...

    .net8 使用openObserve+NLog

    NLogTarget.OpenObserve,反编译NLogTarget.Seq

    Nlog同时输出到文件、控制台、RichTextBox.rar

    Nlog同时输出到文件、控制台、RichTextBox VS2010+.net4.0+NLog+NLog.Windows.Forms 博客地址: https://blog.csdn.net/lw112190/article/details/131915209

    nlog-targets-seq:一个将事件写入Seq的NLog目标。 适用于NLog 4.5+

    NLog.Targets.Seq 一个将事件写入的NLog目标。 该目标充分利用了NLog 4.5中的结构化日志支持,从而提供了无忧的筛选,搜索和分析功能。入门安装NLog之后,请从NuGet安装NLog.Targets.Seq软件包: dotnet add package...

    NLog.Extensions.Logging:用于.NET标准库和.NET Core应用程序的Microsoft.Extensions.Logging的NLog提供程序

    NLog.Extensions.Logging 用于提供程序; .NET Core。 ASP.NET Core用户应安装 。 注意:Microsoft尚未将其所有类都移植到.NET标准,因此并非每个目标/布局渲染器都可用。 请检查 入门 ASP.NET核心 .NET Core...

    C# Nlog 日志记录 学习

    本教程聚焦于使用C#与NLog进行日志管理,特别针对.NET Framework 4.0环境。NLog是一款强大的、可配置的日志记录库,适用于各种.NET应用程序。 首先,让我们深入了解NLog的基本概念。NLog提供了一个灵活的配置系统,...

    Nlog封装帮助方法类

    Nlog封装帮助方法类,方便调用

    NLog v4.7.11最新版Demo

    NLog是.NET开发中广泛使用的日志记录框架之一,它为开发者提供了强大的日志管理和输出功能。NLog v4.7.11是最新的稳定版本,这个版本在前一版本的基础上进行了一些优化和bug修复,确保了日志记录的稳定性和效率。...

    全局异常捕获&NLOG使用配置示例

    本示例主要关注WPF(Windows Presentation Foundation)应用中的全局异常捕获,以及如何结合NLog日志框架进行配置。 首先,我们来看全局异常捕获。在WPF应用中,我们可以利用Dispatcher.UnhandledException事件来...

    DotNetCore-Nlog

    标题 "DotNetCore-Nlog" 指涉的是在 .NET Core 应用程序中使用 NLog 进行日志记录的实践。NLog 是一个流行的、高度可配置的日志框架,它允许开发者将应用程序的日志输出到各种目标,如控制台、文件、数据库等。在 ...

    C#使用NLog记录日志的案例程序

    1、NLog日志配置灵活:NLog允许开发者通过配置文件(通常是NLog.config)来设定日志记录的行为,如日志级别、输出目标等,而无需修改代码。 配置更改可即时生效,无需重启应用。 2、多目标记录:支持将日志信息输出...

    基于Autofac的Nlog扩展

    NLog是一款广泛使用的日志记录框架,而Autofac则是一种流行的依赖注入(DI)容器。当这两者结合时,可以实现更加灵活和高效的日志管理。本文将详细探讨“基于Autofac的Nlog扩展”,如何实现Nlog的自动注入,以及如何...

    NLog123.rar

    在本文中,我们将深入探讨如何在C# WinForm应用程序中使用NLog进行日志记录,这对于初学者来说是一个非常实用的技能。Visual Studio 2019是我们的开发环境,NLog作为强大的日志框架,将帮助我们实现灵活且可扩展的...

    NLog上传DLL

    NLog是一个广泛使用的.NET日志框架,它提供了灵活的日志配置和多种日志目标,如文件、数据库、SMTP邮件等。本文将详细讲解如何在C#项目中添加和使用NLog的DLL及配置文件。 首先,我们需要理解“DLL”是什么。DLL...

    NLog记录日志、发邮件、写入数据库

    NLog是.NET平台上一款强大的日志记录框架,它允许开发者将应用程序中的日志信息记录到各种目标,如文件、数据库、电子邮件等。本主题将深入探讨如何使用NLog进行日志记录、发送邮件以及写入数据库,以实现高效且灵活...

    Nlog的使用测试

    NLog是.NET平台上一款强大的日志记录框架,广泛应用于C#项目中,为开发者提供了灵活的日志记录功能。本文将详细介绍NLog的使用方法以及如何配置文件,帮助你更好地理解和应用这一工具。 首先,让我们了解NLog的基本...

Global site tag (gtag.js) - Google Analytics