首页 > 其他分享 >P5975 [CEOI2009] photo

P5975 [CEOI2009] photo

时间:2024-08-09 13:05:07浏览次数:12  
标签:min int photo mi P5975 纵坐标 continue res CEOI2009

题目链接

可过掉帖子中的所有 Hack 数据。

Analysis

\(f_{l,r,p}\) 表示覆盖了 \([l,r]\) 区间内纵坐标 \(\ge p\) 的点最矩形个数(离散化后)。

那么就有转移:

\[f_{l,r,p} = \min(f_{l,r,p},f_{l,mid,p}+f_{mid+1,r,p}) \]

\[f_{l,r,p} = \min(f_{l,r,p},f_{l,r,res} + 1) \]

令 \(h\) 为用面积为 \(A\) 的矩形去覆盖 \([l,r]\) 区间的高度,即 \(A / (r-l)\)。

其中 \(res\) 为横坐标区间 \([l,r]\) 内纵坐标大于 \(h\) 的最小高度。

具体细节见代码。

CODE

#include<bits/stdc++.h>
using namespace std;
const int N = 110;
int n,A,x[N],y[N],a[N],b[N],L,f[N][N][N];
int mx[N];
int main(){
	scanf("%d%d",&n,&A);
	for(int i=1;i<=n;++i){
		scanf("%d%d",&x[i],&y[i]);
		a[i] = x[i], b[i] = y[i];
	}
// 离散化 
	sort(a+1,a+n+1), sort(b+1,b+n+1);
	int cnta = unique(a+1,a+n+1)-a-1;
	int cntb = unique(b+1,b+n+1)-b-1;
	for(int i = 1;i<=n;++i){
		x[i] = lower_bound(a+1,a+cnta+1,x[i])-a;
		y[i] = lower_bound(b+1,b+cntb+1,y[i])-b;
		mx[x[i]] = max(mx[x[i]],y[i]);
	}
	n = cnta;
	
	
//	f[l][r][p] 表示覆盖了 [l,r] 区间内 纵坐标 >=p 的点最矩形个数 
	
	for(int len = 1;len<=n;++len){
		for(int l = 1,r = len;r<=n;++l,++r){
			for(int p = cntb;p;--p){
				f[l][r][p] = n;
				int L = l, R = r;
				while(L <= n && mx[L] < p)++L; 
				while(R && mx[R] < p)--R;
				// 找到中间 最大值大于 p 的 [L,R] 区间 
				if(L > R){ f[l][r][p] = 0; continue; }
				if(L == R){ f[l][r][p] = 1; continue; }
				if(l != L || r != R){ f[l][r][p] = f[L][R][p]; continue; }// 可直接继承 
				
				for(int mi = L;mi < R;++mi)f[l][r][p] = min(f[l][r][p],f[l][mi][p]+f[mi+1][r][p]);
				// 直接拼起来 
				int h = A / (a[R] - a[L]); int res = 101;
				// h 为覆盖 L~R 的最大高度 
				for(int j = L;j<=R;++j)if(b[mx[j]] > h)res = min(res,mx[j]);
				// res 统计大于 h 的最小纵坐标 
				if(res > p)f[l][r][p] = min(f[l][r][p],f[l][r][res] + 1);
			}
		}
	}
	
	
	printf("%d\n",f[1][n][1]);
	return 0;
}

标签:min,int,photo,mi,P5975,纵坐标,continue,res,CEOI2009
From: https://www.cnblogs.com/fight-for-humanity/p/18350586

相关文章

  • Photos框架 - 自定义媒体选择器(相册列表)
    ​​​​​​​Photos框架-自定义媒体资源选择器(数据部分)Photos框架-自定义媒体选择器(UI列表)​​​​​​​Photos框架-自定义媒体选择器(UI预览)Photos框架-自定义媒体选择器(相册列表)引言我们已经实现了媒体资源的列表选择以及媒体资源的大图预览功能,但通常一个......
  • 使用 tk.PhotoImage 在 tkinter 窗口中加载 .jpg 图像时出错
    问题:我正在开发一个tkinter应用程序,我需要在GUI中显示图像。虽然加载.png图像工作得很好,但在尝试使用tk.PhotoImage加载.jpg图像时遇到了困难。这是我正在使用的代码片段:`...#Functionfortheadditionalbuttonclickactiondefadditional_f......
  • Adobe Photoshop 2024 v25.11 (macOS, Windows) - 照片和设计软件
    AdobePhotoshop2024v25.11(macOS,Windows)-照片和设计软件Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD......
  • Adobe Photoshop (PS)软件下载(含全版本安装包)
    一、AdobePhotoshop简介AdobePhotoshop(简称PS)是由AdobeSystems公司开发的图像处理软件,它是一款集图像扫描、编辑修改、图像制作、广告创意、图像输入与输出于一体的图形图像处理软件。广泛应用于专业测评、平面设计、广告摄影、影像创意、网页制作、后期修饰、视觉创意、......
  • Android Compose 使用 照片选择器 Photo Picker
    从Android13(Tiramisu,API33)开始,官方提供了系统级图片选择器PhotoPicker。而且无需申请权限,只需几行代码即可轻松接入。效果如下图:在不支持PhotoPicker的低版本机型中,该库会自动调用ACTION_OPEN_DOCUMENT打开系统资源管理器进行选择,问题也不大。官方介绍and教程:Ph......
  • 开源照片管理神器 PhotoPrism 安装和使用教程
    如今我们每个人都积累了海量的照片和视频,做自媒体的UP主们积累的照片和视频数量可能更多。面对这么多的照片和视频,我们该如何管理呢?之前我一直用谷歌相册,因为它有很多优势,比如无限空间,支持智能整理(按时间线、地理位置、还支持人脸自动合并)。但去年Google开始对空间进行了......
  • Adobe Illustrator 和 Photoshop 迎来新 AI 功能;马斯克将训练全球最强 AI丨 RTE 开发
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编......
  • 最大化 Photoshop 窗口失败
    在我的脚本中,我有:defmaximize_photoshop_window():photoshop_window=pyautogui.getWindowsWithTitle("AdobePhotoshop")[0]photoshop_window.maximize()time.sleep(1)#Givealittletimeforthewindowtomaximizedefactivate_photosh......
  • PS启动时提示找不到vcruntime140.dll怎么办?打开Photoshop显示“vcruntime140.dll”弹
    在使用备受欢迎的AdobePhotoshop图像处理软件时,一些用户或许会碰到“系统提示找不到vcruntime140.dll”的错误,致使软件无法正常启动。要知道,vcruntime140.dll作为MicrosoftVisualC++Redistributable的组成部分,对基于VisualC++编译的应用程序运行极为关键。本篇将为大家带来......
  • Adobe Photoshop(Ps)安装包软件下载
    一、AdobePhotoshop简介AdobePhotoshop(简称PS)是由AdobeSystems公司开发的图像处理软件,它是一款集图像扫描、编辑修改、图像制作、广告创意、图像输入与输出于一体的图形图像处理软件。广泛应用于专业测评、平面设计、广告摄影、影像创意、网页制作、后期修饰、视觉创意、界......