20170529-2枚举算法专题练习

题解: http://www.cnblogs.com/ljc20020730/p/6918360.html

青岛二中日期

序号

题目名称

输入文件名

输出文件名

时限

内存

算法

难度

分类

081113

1

最大矩形

rectangle.in

rectangle.out

1s

256MB

枚举

1

02枚举

081031

2

回文

palin.in

palin.out

1s

256MB

枚举、优化

1

02枚举

081008

3

问题的设置

problemsetter.in

problemsetter.out

1s

256MB

排序+枚举

1

02枚举

081031

4

矩形着色

rectangles.in

rectangles.out

1s

256MB

枚举

2

02枚举

1.OneMoreRectangle一个矩形

【题目描述】

在一个平面上有一些矩形。矩形的边都与坐标轴平行。矩形允许相交、重叠。你的任务是,在平面上再放入一个边与坐标轴平行的矩形,且覆盖尽量多的已有矩形。

我们用四个整数来表示一个矩形,x1,y1,x2,y2,分别表示矩形的横纵坐标最小值、横纵坐标最大值。若矩形a的坐标为x1,y1,x2,y2,矩形A的坐标为X1,Y1,X2,Y2,则a能被A覆盖当且仅当X1<=x1<x2<=X2,且Y1<=y1<y2<=Y2。

【输入文件】第一行有三个整数n,X,Y,分别表示已有矩形个数、你要放入的矩形的边长(也就是X=X2-X1,Y=y2-y1)。你放入的矩形的大小必须同规定大小相同,位置由你决定。

接下来n行,每行4个整数x1,y1,x2,y2,表示已知矩形的坐标。

【输出文件】只有一个整数,表示你最多可以覆盖几个已有矩形。

【输入样例】

3 2 2

1 1 2 2

2 2 3 3

3 3 4 4

【输出样例】2

【数据规模和约定】

n<=50;

所有给定坐标的绝对值不超过109

所有给定坐标保证x1<x2,y1<y2;

X和Y是不超过109的正整数。

2.Palindromes回文

【题目描述】一个回文串指的是,左右翻转后同原串相同的串。

给定一个数k(2<=k<=30000)和一个非空字符串S,S的长度不超过30000且只含小写字母。请你求出,S中有多少个不同的长度为k的回文子串。一个串的子串指的是它的连续的一部分。

本题中,两个长度为k的子串不同,当且仅当它们的起始位置不同。

【输入文件】第一行整数k。

第二行串S。

【输出文件】一个整数,表示不同的回文串个数。

【输入样例】

5

ababab

【输出样例】2

3.ProblemSetter(问题的设置)

【题目描述】

你要为一场比赛出题。从已有的题目中,你要选择三道不同的题:一道简单题、一道中等题,以及一道难题。每道题目都有一个整数的难度值。值越大,题目越难。假设E表示你选择的简单题的难度,M表示中等题难度,H表示难题难度,则必须保证E<=M<=H。你希望难度差尽量接近,也就是说,假设D1=M-E,D2=H-M,则|D1-D2|应该最小。如果有多种方案,选择其中E最小的。如果仍有多种方案,选择其中H最大的。如果还有多种方案,选择其中M最小的。

【输入文件】第一行一个整数n,表示题目数量。第二行n个整数,表示每道题的难度。

【输出文件】输出一行三个整数表示选择的题目难度。按照简单-中等-困难的顺序输出。中间用一个空格隔开。行尾不要有空格。

【输入样例】

5

1 2 3 4 5

【输出样例】

1 3 5

【样例说明】

此时,D1=D2=2。

【数据规模和约定】

3<=n<=50

难度是不超过1000的正整数。

4.ColoringRectangles着色的矩形

【题目描述】

在平面中给定N个与坐标轴平行的矩形,第i个矩形的左下角坐标是(x1[i],y1[i]),右上角坐标是(x2[i],y2[i])。

你的任务是从中选择K个矩形,使得所选矩形可视面积最大。如果一些矩形有重叠,那么重叠部分只有编号最大的矩形才可视。换句话说,编号大的矩形“盖”在编号小的矩形之上。请你输出选择的K个矩形的编号。如果有多种方法,输出字典序最小的一组。

【输入文件】

第一行两个整数N,K。

第二行N个整数,表示x1[0]..x1[N-1]。

第三行N个整数,表示y1[0]..y1[N-1]。

第四行N个整数,表示x2[0]..x2[N-1]。

第五行N个整数,表示y2[0]..y2[N-1]。

【输出文件】

一行K个非负整数,表示选择的矩形的编号。编号之间用一个空格隔开。

【输入样例】

3 2

1 3 2

1 2 5

5 7 9

3 4 7

【输出样例】

1 2

【样例说明】

选择矩形0,1,面积为6+8=14

选择矩形0,2,面积为6+14=20

选择矩形1,2,面积为8+14=22。

【数据规模和约定】

1<=N<=50

-10000<=所有坐标<=10000

对于任意i,x1[i]<x2[i],y1[i]<y2[i]

【枚举Day1】20170529-2枚举算法专题练习 题目的更多相关文章

  1. 【枚举Day1】20170529-2枚举算法专题练习 题解

    题目: http://www.cnblogs.com/ljc20020730/p/6918328.html 评测器:cena 评测记录: 1.OneMoreRectangle 一个矩形 ●如果任意枚举 ...

  2. POJ 1815 - Friendship - [拆点最大流求最小点割集][暴力枚举求升序割点] - [Dinic算法模板 - 邻接矩阵型]

    妖怪题目,做到现在:2017/8/19 - 1:41…… 不过想想还是值得的,至少邻接矩阵型的Dinic算法模板get√ 题目链接:http://poj.org/problem?id=1815 Tim ...

  3. NOIp 图论算法专题总结 (1):最短路、最小生成树、最近公共祖先

    系列索引: NOIp 图论算法专题总结 (1) NOIp 图论算法专题总结 (2) NOIp 图论算法专题总结 (3) 最短路 Floyd 基本思路:枚举所有点与点的中点,如果从中点走最短,更新两点间 ...

  4. 【转载】[C#]枚举操作(从枚举中获取Description,根据Description获取枚举,将枚举转换为ArrayList)工具类

    关键代码: using System; using System.Collections; using System.Collections.Generic; using System.Compone ...

  5. [asp.net mvc 奇淫巧技] 03 - 枚举特性扩展解决枚举命名问题和支持HtmlHelper

    一.需求 我们在开发中经常会遇到一些枚举,而且这些枚举类型可能会在表单中的下拉中,或者单选按钮中会用到等. 这样用是没问题的,但是用过的人都知道一个问题,就是枚举的命名问题,当然有很多人枚举直接中文命 ...

  6. JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法

    JAVA进阶之旅(一)--增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法 学完我们的java之旅,其实收获还是很多的,但是依然还有很 ...

  7. 枚举进行位运算 枚举组合z

    枚举进行位运算--枚举组合 public enum MyEnum { MyEnum1 = , //0x1 MyEnum2 = << , //0x2 MyEnum3 = << , ...

  8. [算法专题] LinkedList

    前段时间在看一本01年出的旧书<effective Tcp/Ip programming>,这个算法专题中断了几天,现在继续写下去. Introduction 对于单向链表(singly ...

  9. 在C#中对枚举进行位运算--枚举组合

    由于枚举的基础类型类型为基本的数值类型,支持位运算,因此可以使用一个值表示多个枚举的组合,在定义枚举时需要指定枚举数为2的幂指数方便进行位运算,即枚举数为1,2,4,8…,或1,1<<1, ...

随机推荐

  1. ubuntu14.04上设置默认python命令是执行python3而不是Python2

    update-alternatives --install /usr/bin/python python /usr/bin/python2 100 update-alternatives --inst ...

  2. map的综合例子

    #include<iostream> #include<string> #include<map> #include<fstream> #include ...

  3. 20155302《网络对抗》Exp7 网络欺诈防范

    20155302<网络对抗>Exp7 网络欺诈防范 实验内容 (1)简单应用SET工具建立冒名网站 (1分) (2)ettercap DNS spoof (1分) (3)结合应用两种技术, ...

  4. 20155320 Exp7 网络欺诈防范

    20155320 Exp7 网络欺诈防范 [基础问题回答] (1)通常在什么场景下容易受到DNS spoof攻击 乱点链接或者连公共场合的免费WiFi也容易受到攻击,尤其是那种不需要输入密码直接就可以 ...

  5. js实现60秒倒计时效果(使用了jQuery)

    今天碰到要实现一个类似那种短信验证码60秒倒计时的需求,好久不写js,有点手生.把代码记录下,方便后续查阅. 这里我用了jQuey,毕竟写起来简洁点.下面直接看效果和代码. 一.效果          ...

  6. PYQT5实现控制台显示功能

    首先,写一个信号,用来发射标准输出作为信号 class EmittingStream(QtCore.QObject): textWritten = QtCore.pyqtSignal(str) #定义 ...

  7. Java技术——String类为什么是不可变的

    0. 前言   如果一个对象,在它创建完成之后不能再改变它的状态,包括对象内的成员变量.基本数据类型的值等等.那么这个对象就是不可变的.众所周知String类就是不可变的.转载请注明出处为SEU_Ca ...

  8. RabbitMq基础教程之基本概念

    RabbitMq基础教程之基本概念 RabbitMQ是一个消息队列,和Kafka以及阿里的ActiveMQ从属性来讲,干的都是一回事.消息队列的主要目的实现消息的生产者和消费者之间的解耦,支持多应用之 ...

  9. LintCode——筛子求和

    描述:扔n个骰子,向上面的数字之和为 S .给定 Given n,请列出所有可能的 S 值及其相应的概率. 样例:给定n=1,返回 [ [1, 0.17], [2, 0.17], [3, 0.17], ...

  10. 【Beta阶段】启程会议——第零次Scrum Meeting!

    本次会议为Beta阶段功能的概括性介绍与任务主线的确定会议. 本次会议拟确定第二阶段各位队员的内容与主要职责 会议时长:1小时30分(因为是启程会议,所以说的比较多) 会议地点:7公寓1楼会客室   ...