第十一届山东省大学生程序设计竞赛 Dyson Box(思维)

题意

有n个盒子,每次放一个,有向下和向左两种重力,每次重力作用后盒子的边长为多少;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路

每个盒子的边长贡献为4;

  • 当这一行或者这一列有一个盒子则贡献-2
  • 放盒子的这一行(列)的上一行(列)或者下一行(列)的盒子数大于这一行(列),则贡献-2

Code

#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdio>
#include <string>
#include <algorithm>
#include <queue>
#include <utility>
#include <stack>
#include <map>
#include <vector>
#include <set>
#include <iomanip>
#define hz020 return
#define mes memset
#define mec memcpy

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int>pii;

const int N = 1000010;
const int null = 0x3f3f3f3f;
const ll mod = 1000000007;

int n; 
int xx[N],yy[N];

int main()
{
	scanf("%d",&n);
	ll ans1 = 0,ans2 = 0;
	for(int i = 1;i <= n;i ++)
	{
		int x,y;
		scanf("%d %d",&x,&y);
		ans1 += 4,ans2 += 4;
		if(xx[x]) ans1 -= 2;
		if(yy[y]) ans2 -= 2;
		if(x != 0 && xx[x] < xx[x - 1]) ans1 -= 2;
		if(y != 0 && yy[y] < yy[y - 1]) ans2 -= 2;
		if(xx[x] < xx[x + 1]) ans1 -= 2;
		if(yy[y] < yy[y + 1]) ans2 -= 2;
		xx[x]++,yy[y]++;
		cout << ans1 << " " << ans2 <<endl;
	}
	
	
	hz020 0;
}  
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Dyson设计的Zemax是一款前沿的光学设计软件,主要用于光学系统的建模、优化和分析。作为一款出色的工具,Zemax具有以下特点:首先,它提供了强大的建模功能,可以对光学组件进行精确的建模和配置,包括透镜、镜筒、滤光片等。这使得用户能够根据实际需要快速构建整个光学系统的虚拟模型。 其次,Zemax具备强大的优化功能,能够自动搜索最佳参数组合,从而使整个光学系统的性能达到最优化。通过反复的优化和分析过程,用户可以有效地改善光学系统的像差、成像质量等问题,提高系统的性能。 此外,Zemax还提供了全面的分析工具,可以对光学系统进行光路追迹、波前传播、光强分布等多种分析,帮助用户充分了解光学系统的运行原理和性能特点。这些分析结果对于系统调试、故障排查和性能验证都非常有价值。 Dyson设计的Zemax还具备用户友好的界面和操作方式,使得用户能够轻松上手并快速掌握软件的使用技巧。同时,它还支持与CAD软件的集成,方便用户进行光学设计和机械结构的协同设计。 总之,Dyson设计的Zemax是一款强大、专业的光学设计软件,为光学工程师和研究人员在光学系统设计和优化方面提供了有力的工具和支持。它的出现大大提高了光学设计的效率和精度,为光学技术的发展和应用做出了重要贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半碗无糖蓝莓冻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值