2015北京区域赛现场赛第2题. 题面:http://media.hihocoder.com/contests/icpcbeijing2015/problems.pdf OJ链接:http://hihocoder.com/problemset/problem/1255 题意:给4个矩形的宽和高,问能否选出3个拼成一个大矩形. 解法:可以称之为构造.暴力.枚举.搜索 当时场上写了个很无脑的版本,变量a,b,c一个个枚举,没有可扩展性. 其实稍加分析,把判断和枚举的两个模块独立开来: 1. 判断的过…
题目链接 参考博客Ritchie丶的博客 - UVALive 7267 Mysterious Antiques in Sackler Museum (判断长方形) 题意:大概意思就是判断四个矩形能不能从中选取三个矩形组成一个大的矩形. 题解: 从四个矩形中任选三个,这样有四种选法. 三个矩形能凑成一个矩形首先是两个矩形有一条边相等,第三个矩形要么有边跟他们相等的边相等,要么有边跟他们不相等的边的和相等(有点绕). 想明白这两点之后直接暴力就可以了,当时训练赛的时候因为读错题然后一直WA烦躁一直没…
Sackler Museum of Art and Archaeology at Peking University is located on a beautiful site near the West Gate of Peking University campus, and its architecture takes the inspiration from buildings that already exist on campus. The collection of Chines…
题意:给定四个矩形,要求从中选出三个,能不能拼成一个矩形. 析:说到这个题,我还坑了队友一次,读题读错了,我直接看的样例,以为是四个能不能组成,然后我们三个就拼命想有什么简便方法,后来没办法了,直接暴力. 康神写了6000多B的代码,全是循环和if-else,我们画出五种情况....然而并不是这样, 只要几个if-else就够,因为就3个,两种情况. 代码如下; #pragma comment(linker, "/STACK:1024000000,1024000000") #inclu…
题目链接:http://media.hihocoder.com/contests/icpcbeijing2015/problems.pdf 题目大意:给你四个矩形,判断是否能取其中任意三个组成一个大矩形 思路:模拟暴力 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream> #include <algorithm> using namespace…
题意是,选出三个,看看是否可以凑成一个新的矩形. #include<bits/stdc++.h> using namespace std; struct node { ]; }a[]; bool Check(node x, node y, node z) { ; i < ; i++) ; j < ; j++) ; k < ; k++) if(x.cnt[!i] == y.cnt[!j] && x.cnt[i] + y.cnt[j] == z.cnt[k]) /…
题目描述 树可以用来表示物种之间的进化关系.一棵"进化树"是一个带边权的树,其叶节点表示一个物种,两个叶节点之间的距离表示两个物种的差异.现在,一个重要的问题是,根据物种之间的距离,重构相应的"进化树". 令N={1..n},用一个N上的矩阵M来定义树T.其中,矩阵M满足:对于任意的i,j,k,有M[i,j] + M[j,k] >= M[i,k].树T满足: 1.叶节点属于集合N: 2.边权均为非负整数: 3.dT(i,j)=M[i,j],其中dT(i,j)表…
与上篇文章介绍的相同,本文也是介绍jdk 1.5出现的新特性,本文将介绍枚举的相关用法. 在jdk 1.5 之前.Java可以有两种方式定义新类型:类和接口.对于大部分面向对象来说.这两种方法看起来似乎足够了.但是在一些特殊情况下,这些方法就不合适.例如:想定义一个Color类,它只能由Red.Green.Blue三种值,其他的任何形式都是非法的.那么jdk 1.5之前虽然可以构造出这样的发image,但是要做很多的工作,也就可能带来各种不安全的问题.而在 jdk 1.5之后引入的枚举类型(En…
如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例,在此尽量不要构造新对象. 因此,在比较两个枚举类型的值时,永远不需要调用equals,而直接使用"=="就可以了. 如果需要的话,可以在枚举类型中添加一些构造器.方法和域.当然,构造器知识在构造枚举常量的时候被调用.下面是一个示例: public enum Size { SMALL(&q…
题目链接 题意:有四种翻转方式,问是否能使得所有棋子都变为0,求最小步数. 题解:依次构造枚举求出最小值即可. #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <map> #inclu…