Constructing Roads In JGShining's Kingdom

2023-11-15

点击打开链接

Problem Description
JGShining's kingdom consists of 2n(n is no more than 500,000) small cities which are located in two parallel lines.Half of these cities are rich in resource (we call them rich cities) while the others are short of resource (we call them poor cities). Each poor city is short of exactly one kind of resource and also each rich city is rich in exactly one kind of resource. You may assume no two poor cities are short of one same kind of resource and no two rich cities are rich in one same kind of resource.With the development of industry, poor cities wanna import resource from rich ones. The roads existed are so small that they're unable to ensure the heavy trucks, so new roads should be built. The poor cities strongly BS each other, so are the rich ones. Poor cities don't wanna build a road with other poor ones, and rich ones also can't abide sharing an end of road with other rich ones. Because of economic benefit, any rich city will be willing to export resource to any poor one.Rich citis marked from 1 to n are located in Line I and poor ones marked from 1 to n are located in Line II.The location of Rich City 1 is on the left of all other cities, Rich City 2 is on the left of all other cities excluding Rich City 1, Rich City 3 is on the right of Rich City 1 and Rich City 2 but on the left of all other cities ... And so as the poor ones.But as you know, two crossed roads may cause a lot of traffic accident so JGShining has established a law to forbid constructing crossed roads.For example, the roads in Figure I are forbidden.
In order to build as many roads as possible, the young and handsome king of the kingdom - JGShining needs your help, please help him. ^_^
 
Input
Each test case will begin with a line containing an integer n(1 ≤ n ≤ 500,000). Then n lines follow. Each line contains two integers p and r which represents that Poor City p needs to import resources from Rich City r. Process to the end of file.
 
Output
For each test case, output the result in the form of sample.You should tell JGShining what's the maximal number of road(s) can be built.
 
Sample Input
  
  
2 1 2 2 1 3 1 2 2 3 3 1
 

Sample Output
   
   
Case 1: My king, at most 1 road can be built. Case 2: My king, at most 2 roads can be built.

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
算法的时间复杂度O(nlogn);
用二分维护单调上升的子序列;注意英文的单复数形式;

#include<stdio.h>
#define NN 500010
int g[NN],dp[NN];
int main()
{
	int i,j,k,m,n,a,b,c,w=0;
	while(scanf("%d",&m)!=EOF)
	{
		for(i=1;i<=m;i++)
		{
			scanf("%d%d",&a,&b);
			g[a]=b;
		}
		dp[1]=g[1];
		int len=1;
		for(i=2;i<=m;i++)
		{
			a=0;b=len;
			while(a<=b)
			{
				c=(a+b)/2;
				if(g[i]>dp[c])
				a=c+1;
				else
				b=c-1;
			}
			dp[a]=g[i];
			if(a>len)
			len++;
		}
		w++;
		if(len>1)
		printf("Case %d:\nMy king, at most %d roads can be built.\n\n",w,len);
		else
		printf("Case %d:\nMy king, at most %d road can be built.\n\n",w,len);
	}
	return 0;
}




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Constructing Roads In JGShining's Kingdom 的相关文章

  • 将数字转换为整数列表[重复]

    这个问题在这里已经有答案了 我该如何写magic下面的函数 gt gt gt num 123 gt gt gt lst magic num gt gt gt gt gt gt print lst type lst 1 2 3
  • Java 中如何导入?

    例如 import org apache nutch plugin Extension 虽然使用了很多次 我不太清楚本质上做了什么 EDIT Is org apache nutch plugin本质上是 4 个目录或少于 4 个目录 例如名
  • 如何在Python 3.7中打开图像? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 如何在 Python 3 7 中打开图像 我试过 1 导入图片 Image open 文件名 jpg
  • 负整数的Python表示

    gt gt gt x 4 gt gt gt print b format x x 4 100 gt gt gt mask 0xFFFFFFFF gt gt gt print b format x mask x mask 4294967292
  • Python 导入优先级:包还是模块?

    我不清楚如何正确命名这个问题 Case 1 假设我有以下目录结构 foo bar init py bar py 如果我有 from foo import bar 我怎么知道哪个酒吧 bar py or bar init py 正在导入 有没
  • 使用 xamarin 和 c# 更改 android 上的cultureinfo

    我调用自定义方法来动态地将当前文化信息切换为法语 fr 像这样 但在调用该方法后 我的 Android 应用程序仍然使用默认区域性 en 但在调试模式下 区域性似乎没问题 我的文件夹没问题 我两者都有 并且字符串值已配置 文件夹 resou
  • Excel VBA 通过简单除法引发溢出错误

    Excel 2013 VBA 这段代码 Sub test On Error GoTo Err Dim p As Double p 362 100 2005 Exit Sub Err If Err Description lt gt And
  • jQuery 的 .each() 方法是并行还是顺序运行其语句?

    在我的 HTML 页面中 我有 4 个列表项和以下 jQuery 代码 li hide each function this delay 500 fadeIn 1000 我假设 each 函数内的语句将为第一个列表项运行 完成后为第二个列表
  • 如何在 ECMAScript 6 中导入 JSON 文件?

    如何访问 ECMAScript 6 中的 JSON 文件 以下不起作用 import config from config json 如果我尝试导入 JavaScript 文件 这可以正常工作 https www stefanjudis c
  • 将 String 转换为 byte,然后转换为 int

    我发现了很多关于这个主题的问题 但我无法解决我的问题 用户将输入一个名字String我需要将其转换为List
  • Access 2007 不会从 XML 文件导入所有元素数据

    我需要将此 XML 数据导入 Access 中以进行进一步处理 我在这里只复制了一小部分数据
  • 从 Silverlight 中的文件夹加载资源“.resx”

    我有一个多语言应用程序 客户想要按照他的意愿编辑 Resources resx 文件 我创建了 silverlight 项目并添加了一些文件 资源 resx 资源 en US resx1 资源 uk UA resx2 他们都有构建操作 嵌入
  • Eclipse:在类路径上查找资源

    eclipse 有没有办法在类路径中搜索任意资源文件名 或模式 我知道我可以使用 Navigate gt Open Type 这将扫描类路径中的类 或 Navigate gt Open Resource 它将搜索任何资源类型 但仅在我的项目
  • 如果我的编译器不支持 C 或 C++ 中的 128 位整数加法和减法?

    我正在为 128 位数字的长流编写一个压缩器 我想将数字存储为差异 仅存储数字之间的差异而不是数字本身 因为我可以将差异打包在更少的字节中 因为它们更小 然而 为了压缩 我需要减去这些 128 位值 为了解压缩 我需要添加这些值 我的编译器
  • 添加自签名证书而不提示用户是/否

    使用一些批处理文件 我想在 Java 密钥库中添加不受信任的自签名证书 命令是 JAVA HOME bin keytool import v trustcacerts alias server alias file server cer k
  • Arduino 上的串行消息到整数

    我希望我的 Arduino 通过串行通信接收一个整数 你能帮我解决这个问题吗 它应该是这样的形式 int value strtoint Serial read 有多种方法可以读取整数Serial 很大程度上取决于数据发送时的编码方式 Ser
  • 将 Python 脚本导入另一个脚本?

    我正在阅读 Zed Shaw 的 艰难学习 Python 正在学习第 26 课 在本课中 我们必须修复一些代码 这些代码从另一个脚本调用函数 他说我们不必导入它们来通过测试 但我很好奇我们将如何做到这一点 课程链接 http learnpy
  • 从 colab 中的驱动器中的 python 脚本导入 python 模块

    我目前正在 Google Colab 上开展一个使用 Tensorflow API 的机器学习项目 我创建了一个文件夹并将其上传到谷歌驱动器上以在谷歌Colab上运行 我成功安装了谷歌驱动器并可以运行脚本 但是当我尝试从同一文件夹中的脚本导
  • 我如何使用 cout << myclass

    myclass是我写的一个C 类 当我写的时候 myclass x cout lt lt x 我该如何输出10 or 20 2 就像一个integer or a float value 通常通过重载operator lt lt 对于你的班级
  • 以编程方式在java的resources/source文件夹中创建文件?

    我有两个资源文件夹 src 这是我的 java 文件 资源 这是我的资源文件 图像 properties 组织在文件夹 包 中 有没有办法以编程方式在该资源文件夹中添加另一个 properties 文件 我尝试过这样的事情 public s

随机推荐

  • 网站云服务器资料本地备份,云服务器上备份本地数据

    云服务器上备份本地数据 内容精选 换一换 云服务器备份 CSBS Cloud Server Backup Service 提供对弹性云服务器 Elastic Cloud Server 和裸金属服务器 Bare Metal Server 的备
  • MySQL的主从模式搭建

    一 安装 MySQL 1 在虚拟机中先装两台 centos7 2 然后分别在两台 cnetos7 中安装 mysql 并配置好 mysql 的相关权限等 3 使用MySQL数据库连接工具 SQLyog 或者 Navicat 测试数据库的连接
  • 谷歌浏览器安卓版_安卓android版Chrome浏览器设置教程

    Google Chrome是一款由Google公司开发的网页浏览器 该浏览器基于其他开源软件撰写 包括WebKit 目标是提升稳定性 速度和安全性 并创造出简单且有效率的使用者界面 软件的名称是来自于称作Chrome的网络浏览器GUI 图形
  • Android集成常见问题

    本文介绍了Android SDK集成过程中可能出现的问题和解决方法 调用实人认证SDK 进入认证页面一直显示转圈加载 查看logcat日志 如果出现ErrorCode 202 则说明签名图片文件 yw 1222 0670 jpg 存在问题
  • 2021-02-28

    simulink控制器封装库 控制器封装库 一 封装库的安装和LADRC模块的使用
  • activiti7-2-流程定义、实例、任务查询、任务处理、压缩部署、定义查询、定义删除、定义资源查询、历史信息查询

    我是一个目录 1 流程定义 1 1 绘制流程图 1 2 简单介绍API和原理机制 1 2 1 API 1 2 2 原理机制 1 3 流程定义部署测试类 1 4 分析影响的表 2 流程实例 2 1 启动流程实例 2 2 分析影响的表 3 任务
  • windows 2003 传真服务器高级配置与管理

    这里我和大家一起来了解一下传真服务器的高级配置与管理 在上一博文中我说了 我们要实现电子邮件的通知和传真服务的控制台管理已经日志分析的功能 首先介绍的是windows 2003自带的传真服务器提供了SMTP支持传真到达通知的功能和传真发送成
  • 备战2024秋招面试题-最左匹配原则、索引失效情况、算法(最长回文子串)

    前言 textcolor Green 前言 前言 快秋招了 那么这个专栏就专门来记录一下 同时呢整理一下常见面试题 部分题目来自自己的面试题 部分题目来自网络整理 给我冲 学习目标 面试题 算法题 完成 学习目标 最左匹配原则 索引失效情况
  • 在微信小程序里面使用npm

    在微信小程序里面使用npm 从小程序基础库版本 2 2 1 或以上 及开发者工具 1 02 1808300 或以上开始 小程序支持使用 npm 安装第三方包 为了扩展微信小程序的功能 现在允许微信小程序使用npm 来扩展我们的功能 使用很简
  • 计算机三级网络技术备考复习资料

    以前用到的资料 偶尔翻翻还挺有用 记录之 第一章 计算机基础 分析 考试形式 选择题和填空题 6个的选择题和2个填空题共10分 都是基本概念 1 计算机的四特点 有信息处理的特性 有广泛适应的特性 有灵活选择的特性 有正确应用的特性 此条不
  • vue 测试环境 生产环境 线上环境 环境配置

    var env config dev name dev api url location protocol 10 0 0 230 80 api server url location protocol narcissus ih2ome cn
  • cpp 5.7

    5 7 include
  • 谈谈 Docker Volume 之权限管理(一)

    Volume数据卷是Docker的一个重要概念 数据卷是可供一个或多个容器使用的特殊目录 可以为容器应用存储提供有价值的特性 持久化数据与容器的生命周期解耦 在容器删除之后数据卷中的内容可以保持 Docker 1 9之后引进的named v
  • 1056 Mice and Rice (25 分)

    题目 题解 模拟 看懂题 自己实现就OK了 代码 include
  • pytorch构造可迭代的Dataset——IterableDataset(pytorch Data学习二)

    如果是可以一次性加载进内存的数据 上一篇博客 pytorch 构造读取数据的工具类 Dataset 与 DataLoader pytorch Data学习一 已经足以应付了 但是很多时候数据集较大 比如6个T 的数据 没办法直接加载 因此这
  • 如何理解时钟周期及公式CPU执行时间 = CPU时钟周期数/主频

    因为用OneNote制作的 公式复制不过来太麻烦 直接截图了 下面看一下时钟周期的定义 CPU时钟周期 通常为节拍脉冲或T周期 即主频的倒数 它是CPU中最小的时间单位 每个动作至少需要一个时钟周期 其实就是把前面的式子中的秒这个单位忽略掉
  • Python3 安装 MySQL-python错误解决

    目的 解决 python3 利用 pip 安装 MySQL python 问题 参考错误信息 apps svr python3 bin pip3 install MySQL python Collecting MySQL python Us
  • shuqian

    h1 Bookmarks h1 dl p p dt h3 h3 dt dl
  • 【Nexus】安装配置与使用

    1 为什么使用Nexus 如果没有私服 我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地 而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的负载和浪费了外网带宽 如果网速慢的话 还会影响
  • Constructing Roads In JGShining's Kingdom

    点击打开链接 Problem Description JGShining s kingdom consists of 2n n is no more than 500 000 small cities which are located i