首页 > 其他分享 >标题被索隆砍飞了

标题被索隆砍飞了

时间:2024-09-13 19:46:26浏览次数:1  
标签:索隆 盒子 int 木块 len 标题 205 col

魔法开锁

小明有 \(n\) 个盒子,每个盒子被一把锁锁着,每个盒子内都有一把钥匙。对于每个盒子而言有且仅有一把钥匙能打开锁着它的锁,而打开它后便能拿着放置在这个盒子内的钥匙去开启其他盒子。

现在小明打算随机选择 \(t\) 个盒子并用魔法将它们打开,并用所得到的钥匙去尝试开启其他所有的盒子(开启一个盒子后,新得到的钥匙还能继续尝试使用)。

小明想知道,最终他能打开所有盒子的概率是多少,请你帮助他。

概率: 答案方案数 / 总方案数

总方案数就是 \(c(n,t)\) ,

那么如何才合法?

把盒子和盒子里的钥匙能开的盒子连边,会连成好几个环

选的 \(t\) 个点只要覆盖了所有环就合法

设 \(f_{i,j}\) 表示考虑前 \(i\) 个环,选了 j 个点的方案数

记环的大小为 \(num_{i}\)

转移为 \(f_{i,j}=\sum_{k=0}^{j-1} f(i-1,k) *c(num_i,j-k)\)

石子合并

在一个圆形操场的四周摆放 \(N\) 堆石子,现要将石子有次序地合并成一堆。规定每次只能选相邻的 \(2\) 堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。

试设计出一个算法,计算出将 \(N\) 堆石子合并成 \(1\) 堆的最小得分和最大得分。

破环成链

设合并 \(l,r\) 的最小得分 , 枚举断点 \(k\)
\(f_{l,r} = min(f_{l,k-1}+f_{k,r})+\sum_{i=l}^r a_i\)

木板涂色

可以一次给一个区间涂色
请你用尽量少的涂色次数达到目标。

当 \(s[l]!=s[r]\) \(f_{l,r}=f_{l,k}+f_{k+1,r}\)
当 \(s[l]!=s[r]\) \(f_{l,r}=min(f_{l,r-1},f_{l+1,r})\)

消除木块

\(n\) 个木块排成一列,每个木块都有一个颜色。

例如下图中木块的颜色分别为:金,银,银,银,银,铜,铜,铜,金。

每次,你都可以点击一个木块,这样被点击的木块以及和它相邻并且同色的木块就会消除。 如果一次性消除了 \(k\) 个木块,那么就会得到 \(k*k\) 分。 例如下图所示,点击银色木块,四个木块被消去,得到 \(16\) 分。

给定你一个游戏初始状态,请你求出最高得分是多少

设 \(f_{i,j,k}\) 表示 \(i,j\) 区间后面后接上了 \(k\) 个与 \(r\) 颜色相同的点 消除 \(i,j\) 这个区间的得分

直接消除:\(f_{i,j,k}=f_{i,j-1,0}+(len+k)^2\)
在 \(i,j\) 中找一个点 \(m\) m 的颜色与 r 相同:
\(f_{i,j,k}=max(f_{i,m,k+len_{r}}+f_{m+1,j-1,0})\)

哦,不知道转移顺序怎么办?
记搜

#include <bits/stdc++.h>
using namespace std;
int t,n,a[205],col[205],c[205],len[205],f[205][205][205];
int solve(int l,int r,int k){
	if(f[l][r][k])return f[l][r][k];
	if(l==r)return (len[r]+k)*(len[r]+k);
	f[l][r][k]=solve(l,r-1,0)+(len[r]+k)*(len[r]+k);
	for(int i=l;i<r;i++){
		if(c[i]==c[r]){
			f[l][r][k]=max(f[l][r][k],solve(i+1,r-1,0)+solve(l,i,len[r]+k));
		}
	}
	return f[l][r][k];
}
int main(){
	cin>>t;
	for(int i=1;i<=t;i++){
		cin>>n;
		cin>>col[1];
		int len1=1,tot=0;
		for(int i=2;i<=n;i++){
			cin>>col[i];
			if(col[i]!=col[i-1]){
				tot++;
				c[tot]=col[i-1];
				len[tot]=len1;
				len1=1;
			}else len1++;
		}
		if(len1){
			c[++tot]=col[n];
			len[tot]=len1;
		}
		for(int j=1;j<=tot;j++){
			for(int k=1;k<=n;k++){
				f[j][j][k]=(len[j]+k)*(len[j]+k);
			}
		}
		cout<<"Case "<<i<<": "<<solve(1,tot,0)<<endl;
		memset(f,0,sizeof(f));
	}
	return 0;
}

标签:索隆,盒子,int,木块,len,标题,205,col
From: https://www.cnblogs.com/Z-kazuha/p/18412774

相关文章

  • 【无标题】
    系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据......
  • HTML 新闻标题与正文
    <!--文档类型为HTML--><!DOCTYPEhtml><htmllang="en"><head><!--字符集为UTF-8--><metacharset="UTF-8"><!--设置浏览器兼容性--><metahttp-equiv="X-UA-Compatible"content=&q......
  • 如何写出吸引更多点击的标题
    文案写手总是强调出色标题的重要性,因为只有在读者首先点击标题的情况下,他们才会阅读你的文案。然而,写一个出色的标题是非常棘手的,因为:1.)没有一种固定的方法来写标题。关于写标题有很多建议,比如使用强有力的词语、提到好处以及增加悬念。那么,你应该选择哪种方法呢?2.)在一......
  • 【无标题】高等数学
     第一章 函数与极限    第一节 映射与函数       一、集合          1.集合概念            集合是数学中的一个基本概念,我们先通过例子来说明这个概念。例如,一个书柜中的书构成一个集合,一间教室......
  • 标题:探索 HTML 与 JavaScript 实现的选项卡切换效果
    目录一、HTML结构设计二、JavaScript逻辑处理一、HTML结构设计在给定的HTML代码中,整体结构是创建了多个div元素,每个div元素都包含一个ul(无序列表)和一个div(用于展示内容)。每个ul元素中的li元素代表一个选项卡的标题,而与之对应的div元素中的子div元素则是每个选项卡标......
  • 标题:使用 HTML 和 JavaScript 实现简单的待办事项列表
    目录一、HTML结构设计二、JavaScript逻辑处理一、HTML结构设计整体布局:在HTML部分,整体布局通过一个类名为container的div元素来实现,该元素在页面中水平居中(margin:150pxauto;)。其中包含了一个用于添加事项的输入框和按钮(addBox类),以及一个表格(table元素)用于展......
  • 标题:Linux的基本命令
    一:Shell的命令提示符的认识  shell:命令解释器  格式:命令+选项+参数用户名:root 密码:0412327命令提示符的解释试着解释一下命令提示符用户名:xya0412  主机名:localhost 当前目录:/home $:当前用户为普通用户修改主机名为:diaomao命令:touch 创建文件......
  • 【无标题】摩羯台风来袭:自然界的力量,人类的应对与坚韧
    摩羯台风,这是一个令人畏惧的自然力量的名字,也是近年来频繁出现的台风之一。每当摩羯台风登陆,无论是在大陆还是岛屿,都会带来强烈的风雨和破坏性的影响。而且,摩羯台风往往伴随着巨大的海浪和潮汐,给沿海地区带来了巨大的灾害。为什么摩羯台风的威力如此之大?首先,摩羯台风的风速非......
  • python 绘制折线图包括设置字体折线粗细以及标题立方m等
    #!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Suyue@file:flyzhexian.py@time:2024/09/04@desc:"""importpandasaspdimportmatplotlibimportmatplotlib.pyplotaspltimportmatplotlib.tickerastickermatplot......
  • lazarus DBGridEh标题栏排序
    lazarusDBGridEh标题栏排序按网上(delphi)的方法发现无效,经测试,以下代码可以正常排序:unitUnit1;{$modeObjFPC}{$H+}interfaceusesClasses,SysUtils,DB,Forms,Controls,Graphics,Dialogs,StdCtrls,Uni,DBGridsEh,DBCtrlsEh,LConvEncoding,DBGridEhImpE......