首页 > 其他分享 >POI2008BBB-BBB

POI2008BBB-BBB

时间:2024-04-15 19:47:59浏览次数:22  
标签:POI2008BBB const min int res mi BBB dp

Year2008 #POI #贪心 #数学

考虑枚举旋转了几次,维护一个前缀和,一个前缀和的 \(min\) ,目标为使和合法并使前缀 \(min\) 满足条件,这个代价就可以 \(\mathcal{O}(1)\) 计算

// Author: xiaruize
const int INF = 0x3f3f3f3f3f3f3f3f;
const int MOD = 1000000007;
const int N = 2e6 + 10;

int n, p, q, x, y;
char s[N];
int a[N], mi[N];
int dp[N];

void solve()
{
	cin >> n >> p >> q >> x >> y;
	cin >> (s + 1);
	rep(i, 1, n)
	{
		if (s[i] == '-')
			a[i] = -1;
		else
			a[i] = 1;
		a[i] += a[i - 1];
	}
	rep(i, 1, n) mi[i] = min(mi[i - 1], a[i]);
	int d = (q - p - a[n]) / 2;
	int res = INF;
	rep(i, 1, n)
	{
		int cur = max(0, (-p - min(a[n] - a[n - i + 1] + mi[n - i + 1], dp[i - 1]) + 1) / 2);
		res = min(res, (i - 1) * y + (cur + abs(d - cur)) * x);
		dp[i] = min(dp[i - 1] + a[n - i + 1] - a[n - i], 0);
	}
	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;
}

标签:POI2008BBB,const,min,int,res,mi,BBB,dp
From: https://www.cnblogs.com/xiaruize/p/18136783

相关文章

  • edit-bbbb5b6582764452981ccff0eba44303
    这个开源的博客园主题真火了!这个开源的博客园主题真火了!欢迎来到Dotnet工具箱!在这里,你可以发现各种令人惊喜的开源项。博客园主题silence是一个由.NETCore开发工程师esofar开发的博客园主题,颜值高和专注于阅读是它的标签,并且有非常多的博客园用户选择使用了silen......
  • CTFshow Reverse 36D杯 BBBigEqSet wp
    用ida打开程序,一点点看汇编,发现似乎是机器生成的,先是输入0x80长的flag,然后有0x80段运算,运算的内容是每一个字符乘一个系数相加后与一个数比较。查看代码.text:0000000000001175pushrbp.text:0000000000001176movrbp,rsp.text:00......
  • bbb
    智警杯赛前实训目录智警杯赛前实训文本情报智能化处理与分析短信涉博分类任务介绍知识点实验步骤导入数据任务解析数据转换任务解析训练与预测任务解析网络诈骗分类任务介绍知识点实验步骤数据清洗与预处理①读取数据②分词,去停用词任务解析文本向量化③.文本向量化④.划分训练测......
  • 完美,自定义View实现Dribbble上动感的Gallery App Icon 动画
    之前在dribbble看到一个很好看的动画效果,很想要,遂仿之。也为了练一下自定义控件,有段时间了,现在整理出来dribbble地址:https://dribbble.com/shots/4761564思路拆解一下,还是比较简单,需要绘制的有:圆形背景太阳(圆形)山(三角形)云朵(圆角矩形+三个圆)需要进行的动画:太阳-旋转动画山......
  • springboot整合rabbbitmq--注解方式+yml配置
    maven依赖<!--rabbitmq--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><!--mail依赖-->......
  • 区间子数组个数 增减字符串匹配 不含 AAA 或 BBB 的字符串
    795.区间子数组个数思路,最大值小于等于r的子区间的数目,减去最大值小于l的子区间的数目publicintnumSubarrayBoundedMax(int[]nums,intleft,intright){returnd......
  • 青少年训练平台--ABBB
    第一步:看题题目描述:没有规则的乱文,该怎么进行分析呢?第二步:获取flag  打开附件,看到一堆AB,一开始想是二进制,尝试解密,发现不对。后来想到应该是个摩斯密码,把A换成-B......
  • AT4363 [ARC102D] Revenge of BBuBBBlesort!
    题面传送门奇妙的题目。首先有一个看上去很对的做法:我们从\(a_i=i\)向当前序列移动,每次满足当前位置上不满足的第一个,如果换不过去那么就是NO,否则YES。但是很遗憾这个东......