首页 > 其他分享 >POI2006EST-Aesthetic Text

POI2006EST-Aesthetic Text

时间:2024-04-15 19:45:23浏览次数:27  
标签:return int Text sum POI2006EST Aesthetic const rep dp

POI #Year2006 #dp

\(dp_{i,j}\) 表示考虑到第 \(i\) 个单词,当前行长度为 \(j\) 的最小代价

暴力转移是 \(\mathcal{O}(n^3)\) 的

然后观察到,其实合法的转移不能卡满,具体来说,有至少 \(\frac{1}{16}\) 的常数,因为 \(dp\) 转移还有 \(<1\) 的常数,所以可以水过去

// Author: xiaruize
int max(int a, int b)
{
	if (a > b)
		return a;
	return b;
}
int min(int a, int b)
{
	if (a < b)
		return a;
	return b;
}
const int INF = 0x3f3f3f3f3f3f3f3f;
const int MOD = 1000000007;
const int N = 2e3 + 10;

int n, m;
int a[N], dp[N][N], sum[N];
int res = INF;

void solve()
{
	cin >> m >> n;
	rep(i, 1, n)
	{
		cin >> a[i];
		sum[i] = sum[i - 1] + a[i] + 1;
	}
	mms(dp, 0x3f);
	rep(i, 1, n)
	{
		if (sum[i] > m + 1)
			break;
		dp[i][0] = 0;
	}
	rep(i, 1, n)
	{
		rep(j, 0, i - 1)
		{
			if (sum[i] - sum[j] <= m + 1)
			{
				rep(k, 0, j - 1)
					dp[i][j] = min(dp[i][j], dp[j][k] + abs(sum[i] - 2 * sum[j] + sum[k]));
			}
			else
				dp[i][j] = dp[0][0];
		}
	}
	rep(i, 0, n - 1) res = min(res, dp[n][i]);
	cout << res << endl;
}

#ifndef ONLINE_JUDGE
bool end_of_memory_use;
#endif

signed main()
{
	// freopen(".in","r",stdin);
	// freopen(".out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int testcase = 1;
	// cin >> testcase;
	while (testcase--)
		solve();
#ifndef ONLINE_JUDGE
	cerr << "Memory use:" << (&end_of_memory_use - &start_of_memory_use) / 1024.0 / 1024.0 << "MiB" << endl;
	cerr << "Time use:" << (double)clock() / CLOCKS_PER_SEC * 1000.0 << "ms" << endl;
#endif
	return 0;
}

标签:return,int,Text,sum,POI2006EST,Aesthetic,const,rep,dp
From: https://www.cnblogs.com/xiaruize/p/18136794

相关文章

  • iOS中使用text/event-stream数据流实现后端SSE数据推送
    最近在做通过http请求实现后端一条一条一条消息推送,达到gpt那种搜索的展示的效果客户端这边设置很简单,只需要设置请求头[request addValue:@"text/event-stream" forHTTPHeaderField:@"Accept"];项目网络库用的AFN,经调研发现AFN不支持这个请求,最后选择了系统的NSURLSession......
  • WPF ContextMenu MenuItem style based on
    <Windowx:Class="WpfApp58.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • 【合合TextIn】智能文档处理系列—电子文档解析技术全格式解析
    一、引言在当今的数字化时代,电子文档已成为信息存储和交流的基石。从简单的文本文件到复杂的演示文档,各种格式的电子文档承载着丰富的知识与信息,支撑着教育、科研、商业和日常生活的各个方面。随着信息量的爆炸性增长,如何高效、准确地处理和分析这些电子文档,已经成为信息技术领......
  • TextIn合合信息的API使用心得
    在大学生服务外包杯的比赛中,我们组选了A29的赛题,是合合信息公司发布的赛题该赛题的意图是让我们使用它们公司开发的大模型api接口解决现实中的问题,在textin中的api接口中主要包含了以下几个方面的产品1.通用文字识别2.图像处理3.车辆相关识别4.国内票据识别等等我们组开发应用......
  • 使用多个提供程序进行迁移 DbContext
    使用多个上下文类型创建多个迁移集的一种方法是对每个提供程序使用一个DbContext类型classSqliteBlogContext:BlogContext{protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptions)=>options.UseSqlite("DataSource=my.db");}......
  • TextIn.com API使用心得
    我们参加了本次大学生创新创业服务外包大赛,在项目中大量使用到了合合信息所提供的api进行相关功能实现,所以在这里写一篇博客分享一下我们在项目的实际推进中关于TextIn.comAPI使用心得我们的产品是一款面向公司管理的REP微信小程序,由于需要覆盖大部分的企业办公需求,我们使用到了......
  • 52 Things: Number 46: What do correctness, soundness and zero-knowledge mean in
    52Things:Number46:Whatdocorrectness,soundnessandzero-knowledgemeaninthecontextofaSigmaprotocol?52件事:第46件:在西格玛协议的背景下,正确性、稳健性和零知识意味着什么? Thisisthelatestinaseriesofblogpoststoaddressthelistof'52Things......
  • NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
    NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解[Text2SQL]NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理NL2SQL......
  • NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解
    NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理1.......
  • FeignClient的拦截器中RequestContextHolder.getRequestAttributes()值为null
    一、遇到问题在@FeignClient的拦截器中获取token,我首先获得RequestContextHolder.getRequestAttributes(),结果发现值为null。``二、资料查找内事不决问百度,感觉百度了一下,很快我发现其他人也有通用报null的问题,只是他们是出现在子线程中,所以我猜测@FeignClient调用的时候为异......