AtCoder Beginner Contest 130

本文介绍了AtCoder Beginner Contest 130中涉及的编程题目,包括C题‘Rectangle Cutting’的解题思路,即如何通过直线切割得到最大面积的矩形部分;D题‘Enough Array’的解决方案,利用前缀和与枚举找到满足条件的区间;E题‘Common Subsequence’的求解方法,采用动态规划找公共子序列对;以及F题‘Minimum Bounding Box’,探讨如何在二维坐标系中找到最小边界框的问题,通过三分策略优化算法。
摘要由CSDN通过智能技术生成

C - Rectangle Cutting

题意:给定(0,0)(0,w),(0,h),(w,h)的矩形,给定坐标(x,y)问过这一点的直线切割矩形,使得小的的面积尽肯能大。

思路:思维题,尽可能大那么就是二分之一矩形的面积,最后判断这个点是不是在矩形正中央。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int w,h,x,y;
	cin>>w>>h>>x>>y;
	double m=(double)w/2*h;
	printf("%.12lf ",m);
	if(x*2==w&&y*2==h)
		puts("1");
	else puts("0");
}

D - Enough Array

题意:给定序列,选定区间使得区间里面的数之和大于等于k。

思路:前缀和加枚举。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll su
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值