uva434(逻辑)

题意:

在一个n*n的方正上叠正方体;

现在给出前视图,和右视图;

问最少几个方块,还有最多在加几个方块(也就是最多减最少);

思路:

最少的很好求;

最小值的话,两个视图,存在高度一样的,就只取一次,高度不一样就两个都取;

最大值的话,先看前视图,并假设前视图后面堆满了方块;

然后看右视图,右视图中的每一个都要去前视图把多余的高度减掉;

例如

前视图的2 3 0 1;

右视图如果有一个1

那么2的要减1,3的要减2,0,1的不变;

如果有一个2;

那么3的要减1,0,1,2的都不变;

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

const int N = 10;
int n;
int front[N],right[N],f0,r0;;
int cnt[N],vis[N];
int main() {
	int t;
	scanf("%d",&t);
	while(t--) {
		scanf("%d",&n);
		f0 = r0 = 0;
		int Min = 0;
		int Max = 0;
		memset(cnt, 0 ,sizeof(cnt));
		for(int i = 0; i < n; i++) {
			scanf("%d",&front[i]);
			cnt[front[i]]++;
			Min += front[i];
			Max += front[i] * n;
		}
		for(int i = 0; i < n; i++) {
			scanf("%d",&right[i]);
			cnt[right[i]]--;
			for(int j = 0 ; j < n; j++) {
				if(front[j] > right[i]) {
					Max -= (front[j] - right[i]);
				}
			}
		}
		for(int i = 0; i <= 8; i++) {
			if(cnt[i] < 0)
			Min += (-cnt[i] * i);
		}
		printf("Matty needs at least %d blocks, and can add at most %d extra blocks.\n",Min, Max - Min);
	}
}
时间: 2024-12-29 05:15:31

uva434(逻辑)的相关文章

机器学习—逻辑回归理论简介

下面是转载的内容,主要是介绍逻辑回归的理论知识,先总结一下自己看完的心得 简单来说线性回归就是直接将特征值和其对应的概率进行相乘得到一个结果,逻辑回归则是这样的结果上加上一个逻辑函数 这里选用的就是Sigmoid函数,在坐标尺度很大的情况下类似于阶跃函数 在确认特征对应的权重值也就是回归系数的时候 最常用的方法是最大似然法,EM参数估计,这个是在一阶导数能够有解的前提下 如果一阶导数无法求得解析值,那么一般选取梯度上升法,通过有限次的迭代过程,结合代价函数更新回归系数至收敛 //////////

Oracle 逻辑体系

Oracle 逻辑体系 主题 Oracle 逻辑体系 参考资料 Oracle 逻辑体系 表空间.模式.用户.段.区.块 Oracle中的数据逻辑上存储于表空间,物理上则存储于属于表空间tablespace的数据文件上(DBF文件).表空间的物理体现是一个或多个DBF文件.数据库由一个或多个被称为表空间的逻辑存储单元构成.表空间是数据库恢复的最小单元.表空间是个逻辑上的概念. 模式schema就是指一个用户下所有对象的集合:创建一个新用户,该用户下没有对象则schema不存在,如果创建一个对象,则

linux查看cpu个数,核数,逻辑cpu个数

物理CPU:物理CPU是相对于虚拟CPU而言的概念,指实际存在的处理器,就是我们可以看的见,摸得着的CPU,就是插在主板上面的. 物理核:CPU中包含的物理内核个数,比如我们通常说的双核CPU,单核CPU. 在linux系统下面的/proc/cpuinfo文件的条目中: 1.有多少个不同的physical id就有多少个物理CPU. 2.cpu cores记录了对应的物理CPU(以该条目中的physical id标识)有多少个物理核,现在我们个人使用的单机PC大部分使用的都是双核CPU. 逻辑C

LINUX在逻辑卷基础加盘操作步骤

扩容之前的磁盘状况 [[email protected] ~]# df -h 文件系统             容量 已用 可用已用%%挂载点 /dev/mapper/VolGroup-lv_root 5.3G  2.5G  2.6G  50% / tmpfs                 538M     0  538M   0% /dev/shm /dev/sda1             485M   30M  430M   7% /boot [[email protected] ~]#

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

linux操作逻辑分区与交换分区

作业一: 1)   开启Linux系统前添加一块大小为15G的SCSI硬盘 2)   开启系统,右击桌面,打开终端 3)   为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G 4)   格式化主分区为ext3系统 [[email protected] 桌面]# mkfs.ext3 /dev/sdc1 5)   将逻辑分区设置为交换分区 [[email protected] 桌面]# mkswap /dev/sdc5 6)   启用上一步的交换分

从另一个视角看待逻辑回归

摘要 逻辑回归是用在分类问题中,而分类为题有存在两个比较大的方向:分类的结果用数值表是,比如1和0(逻辑回归采用的是这种),或者-1和1(svm采用的),还有一种是以概率的形式来反应,通过概率来说明此样本要一个类的程度即概率.同时分类问题通过适用的场合可以分为:离散和连续,其中决策树分类,贝叶斯分类都是适用离散场景,但是连续场景也可以处理,只是处理起来比较麻烦,而逻辑回归就是用在连续特征空间中的,并把特征空间中的超平面的求解转化为概率进行求解,然后通过概率的形式来找给出分类信息,最后设置一个阈值

RHCE7.0答案之调整逻辑卷

调整逻辑卷配置: 扩展vg, 2.扩展lv, 3.扩展文件系统 扩展文件系统时如果是ext文件系统,使用resize2fs命令,如果是xfs文件系统,则用xfs_growsfs命令 fdisk /dev/vdb, +500M, 转换为8e类型LVM pvcreate /dev/vdb2 vgextend finance /dev/vdb2 lvextend -L 810M /dev/finance/loans xfs_growfs /dev/finance/loans, 若是ext类型,则要用r

逻辑卷管理

逻辑卷管理逻辑卷创建1.fdisk t 8e //修改分区类型2.pvcreate  /dev/sd{a7,b} //创建物理卷    pvs pvdisplay   //查看物理卷信息3.vgcreate  vg0  /dev/sd{a7,b}  //创建卷组    vgs    vgdisplay4.lvcreate -n lv0 -L 15G vg0  //创建逻辑卷组    lvs    lvdisplay5.创建文件系统    mkfs.ext4 /dev/vg0/lv06.挂载