【枚举Day1】20170529-2枚举算法专题练习 题目
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枚举算法专题练习 题目的更多相关文章
- 【枚举Day1】20170529-2枚举算法专题练习 题解
题目: http://www.cnblogs.com/ljc20020730/p/6918328.html 评测器:cena 评测记录: 1.OneMoreRectangle 一个矩形 ●如果任意枚举 ...
- POJ 1815 - Friendship - [拆点最大流求最小点割集][暴力枚举求升序割点] - [Dinic算法模板 - 邻接矩阵型]
妖怪题目,做到现在:2017/8/19 - 1:41…… 不过想想还是值得的,至少邻接矩阵型的Dinic算法模板get√ 题目链接:http://poj.org/problem?id=1815 Tim ...
- NOIp 图论算法专题总结 (1):最短路、最小生成树、最近公共祖先
系列索引: NOIp 图论算法专题总结 (1) NOIp 图论算法专题总结 (2) NOIp 图论算法专题总结 (3) 最短路 Floyd 基本思路:枚举所有点与点的中点,如果从中点走最短,更新两点间 ...
- 【转载】[C#]枚举操作(从枚举中获取Description,根据Description获取枚举,将枚举转换为ArrayList)工具类
关键代码: using System; using System.Collections; using System.Collections.Generic; using System.Compone ...
- [asp.net mvc 奇淫巧技] 03 - 枚举特性扩展解决枚举命名问题和支持HtmlHelper
一.需求 我们在开发中经常会遇到一些枚举,而且这些枚举类型可能会在表单中的下拉中,或者单选按钮中会用到等. 这样用是没问题的,但是用过的人都知道一个问题,就是枚举的命名问题,当然有很多人枚举直接中文命 ...
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
JAVA进阶之旅(一)--增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法 学完我们的java之旅,其实收获还是很多的,但是依然还有很 ...
- 枚举进行位运算 枚举组合z
枚举进行位运算--枚举组合 public enum MyEnum { MyEnum1 = , //0x1 MyEnum2 = << , //0x2 MyEnum3 = << , ...
- [算法专题] LinkedList
前段时间在看一本01年出的旧书<effective Tcp/Ip programming>,这个算法专题中断了几天,现在继续写下去. Introduction 对于单向链表(singly ...
- 在C#中对枚举进行位运算--枚举组合
由于枚举的基础类型类型为基本的数值类型,支持位运算,因此可以使用一个值表示多个枚举的组合,在定义枚举时需要指定枚举数为2的幂指数方便进行位运算,即枚举数为1,2,4,8…,或1,1<<1, ...
随机推荐
- 降阶法计算行列式方法有个地方有Bug(原文也已更正,此为更正后部分)
今天用此函数做方程求解时发现有误,特此更正: /// <summary> /// 降阶法计算行列式 /// </summary> /// <param name=&quo ...
- maven使用出现的错误
修改mvn archetype:create 改成mvn archetype:generate 刚开始学习用Maven, 装好了以后生成一个新的project mvnarchetype:genera ...
- 使用fastjson,gson解析null值的时候键保留
由于业务需求...所以查阅资料,总结如下: 使用gson实现方法:只需要把new Gson()改为: new GsonBuilder().serializeNulls().create(); 就可以了 ...
- 20155202 张旭《网络对抗》Exp2 后门原理与实践
20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...
- 20155236范晨歌_Web基础
20155236范晨歌_Web基础 目录 实践目标 Apache 前端编程 后端编程 PHP MYSQL & 后端 简单SQL注入与XSS 发帖和会话管理 实践目标 (1)Web前端HTML ...
- WPF编程,通过Double Animation动态更改控件属性的一种方法。
原文:WPF编程,通过Double Animation动态更改控件属性的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/a ...
- Git配置用户名与邮箱
1.用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 2.查看用户名和邮 ...
- [SPOJ2939]Qtree5
[SPOJ2939]Qtree5 Tags:题解 题意 链接 给你\(n\)个节点的黑白树,初始全黑.每次可以翻转某点颜色,或查询距离某点最近的白点的距离.\(n\le 10^5\).强制LCT,不准 ...
- 原创zynq文章整理(MiZ702教程+例程)
MiZ702教程+例程 网盘链接: http://pan.baidu.com/s/1sj23yxv 不时会跟新版本,增加勘误之类的,请关注--
- python 字符串的split()函数详解
split翻译为分裂. split()就是将一个字符串分裂成多个字符串组成的列表. split()当不带参数时以空格进行分割,当代参数时,以该参数进行分割. //---当不带参数时 example: ...