洛谷 P1780 染色的立方体 题解报告

news/2025/11/4 12:46:18/文章来源:https://www.cnblogs.com/xianxi-zx/p/19189841

赛时经历

赛时没有注意复杂度,以为暴力搜索会超时,于是喜提爆零。

思路

暴力搜索加贪心。

暴力搜索部分

复杂度证明

大家应该都玩过骰子吧,玩久了就会发现,一个骰子如果分出方向的话,一共有 \(24\) 种摆放方法。

如何证明?

用排列组合,我们可以假定 \(1\) 号面的朝向不动,可将与 \(1\) 号面相邻的 4 个面进行旋转,则有 4 种可能;而 \(1\) 号面一共有 6 个朝向,则可得一共有 \(4 \times 6 = 24\) 种摆放可能。

由题意得立方体数量 \(1 \le n \le 4\),则最多可能情况有 \(24^4 = 331776\) 完全不会超时。

代码片段

我们可以通过打表列出立方体的 \(24\) 种变换方式,这样在变换时,可通过数组进行变换。
以下给出变换数组:

int ch[24][6]={
{2,1,5,0,4,3},
{2,0,1,4,5,3},
{2,4,0,5,1,3},
{2,5,4,1,0,3},
{4,2,5,0,3,1},
{5,2,1,4,3,0},
{1,2,0,5,3,4},
{0,2,4,1,3,5},
{0,1,2,3,4,5},
{4,0,2,3,5,1},
{5,4,2,3,1,0},
{1,5,2,3,0,4},
{5,1,3,2,4,0},
{1,0,3,2,5,4},
{0,4,3,2,1,5},
{4,5,3,2,0,1},
{1,3,5,0,2,4},
{0,3,1,4,2,5},
{4,3,0,5,2,1},
{5,3,4,1,2,0},
{3,4,5,0,1,2},
{3,5,1,4,0,2},
{3,1,0,5,4,2},
{3,0,4,1,5,2},
};

贪心部分

在确定了 \(n\) 个骰子的一种情况后,对于每一个朝向,找相同颜色面数量最多的颜色,将不是该颜色的面改为该颜色,即可做到对于该朝向修改颜色次数最少,再遍历每一个朝向,即可得到答案。

误区

本人在进行贪心时,以为一定要将所有骰子统一为其中一个骰子的所有面的颜色,并获得了 \(40\) 分的好成绩。

实际则不然,如此贪心是错误的,题目只要求所有相同朝向的面颜色相同即可。

所以切不可像本人一样为省去遍历一个骰子的时间,痛失 \(60\) 分。

代码实现

基于如上思路,便可得到以下通过代码:

#include<bits/stdc++.h>
using namespace std;
int ch[24][6]={
{2,1,5,0,4,3},
{2,0,1,4,5,3},
{2,4,0,5,1,3},
{2,5,4,1,0,3},
{4,2,5,0,3,1},
{5,2,1,4,3,0},
{1,2,0,5,3,4},
{0,2,4,1,3,5},
{0,1,2,3,4,5},
{4,0,2,3,5,1},
{5,4,2,3,1,0},
{1,5,2,3,0,4},
{5,1,3,2,4,0},
{1,0,3,2,5,4},
{0,4,3,2,1,5},
{4,5,3,2,0,1},
{1,3,5,0,2,4},
{0,3,1,4,2,5},
{4,3,0,5,2,1},
{5,3,4,1,2,0},
{3,4,5,0,1,2},
{3,5,1,4,0,2},
{3,1,0,5,4,2},
{3,0,4,1,5,2},
};
map<string,int>mp;
int arr[10][10],t[10][10],cnt,ANS=INT_MAX,n;
int check()
{int cnt=0,maxn=0,sum[105];for(int i=0;i<6;++i){maxn=0;memset(sum,0,sizeof sum);	for(int j=1;j<=n;++j){sum[t[j][i]]++;maxn=max(maxn,sum[t[j][i]]);}cnt+=n-maxn;}return cnt;
}
void solve(int k)
{if(k>n){ANS=min(ANS,check());return ;}int cnt;for(int i=0;i<24;++i){cnt=0;for(int j=0;j<6;++j){t[k][j]=arr[k][ch[i][j]];}solve(k+1);}return ;
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n; while(n!=0){for(int i=1;i<=n;++i){for(int j=0;j<6;++j){string s;cin>>s;if(mp[s]==0){mp[s]=++cnt;}arr[i][j]=mp[s];}}solve(1);cout<<ANS<<"\n";cnt=0;ANS=INT_MAX;mp.clear();cin>>n;}return 0;
}

最后感谢您的留步与观看,希望本篇题解能够帮到您。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P11.常见的transforms(一)

P11.常见的transforms(一)11.1_call_使用11.2ToTensor使用 1.代码如下:点击查看代码 from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transformsimg = Image.o…

2025年11月上海装修公司榜单:松江千州装饰真实口碑深度解析

站在收房钥匙与装修合同之间,多数上海业主的第一道焦虑是“谁能把图纸变成可住的家,又不让钱包失控”。2025年三季度上海市消保委统计,家装投诉量仍居服务类前五,其中“工期拖延、增项、售后失联”占七成。政策层面…

2025年11月上海装修公司排行榜:从设计到交付的完整评价指南

站在收房钥匙与装修合同之间,多数上海业主的第一道焦虑是“到底把家交给谁”。市区老房翻新、松江新城首套、徐汇学区房改造,不同场景背后却是同一串痛点:预算随时失控、工期一拖再拖、隐蔽工程看不见摸不着、设计师…

2025年11月上海装修公司排名榜:十强对比看谁更值

在上海这样的一线城市,装修不仅关乎居住舒适度,更直接影响资产保值。多数业主面临“预算有限、工期紧张、风格难定、增项频发”四大痛点,同时担心设计落地差、隐蔽工程隐患、售后无人响应。2025年上海市住建委公开数…

Web开发的坑

坑 1. AbortController 不支持复用, 每次 abort 后会永久变为 aborted 且无法重置, 只能重新创建 😦

Web开发的坑

坑 1. AbortController 不支持复用, 每次 abort 后会永久变为 aborted 且无法重置, 只能重新创建 😦

5.吴恩达机器学习—神经网络的基础使用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

前端三剑客——javascript内置对象与其方法

大纲:1.对象创建的常用3种方法 引用/新增属性方法2.内置对象及其常见方法NumberMathDateStringArray对象与数组的解包操作以及在函数中的运用JSONconsole对象创建的方法对象创建的常用三种方法//方法一 直接创建有…

2025 年 11 月 PCD 铣刀厂家推荐排行榜,金刚石铣刀,聚晶金刚石铣刀,超硬刀具,高精度 PCD 铣刀公司推荐

2025 年 11 月 PCD 铣刀厂家推荐排行榜:金刚石铣刀与超硬刀具的技术演进与选购指南 随着制造业向高精度、高效率方向不断发展,聚晶金刚石(PCD)铣刀作为超硬刀具的重要类别,在航空航天、精密模具、电子零部件等领域…

2025 年 11 月平面铣刀厂家推荐排行榜,钨钢平面铣刀,合金平面铣刀,数控平面铣刀,高精度平面铣刀公司推荐

2025 年 11 月平面铣刀厂家推荐排行榜 在精密制造领域,平面铣刀作为数控加工的核心工具,其性能直接影响加工效率和产品质量。随着制造业向高精度、高效率方向发展,钨钢平面铣刀、合金平面铣刀、数控平面铣刀等产品的…

2025 年 11 月侧铣刀厂家推荐排行榜,钨钢侧铣刀,不锈钢侧铣刀,铝合金侧铣刀,高硬度侧铣刀公司推荐

2025 年 11 月侧铣刀厂家推荐排行榜:钨钢、不锈钢、铝合金及高硬度侧铣刀权威指南 在精密加工领域,侧铣刀作为关键切削工具,其性能直接影响加工效率与成品质量。随着制造业向高精度、高效率方向发展,对侧铣刀的技术…

2025年11月适合初中生的学习机品牌排行:市场热销榜全维度评价

进入初中,学科陡增、题型翻新、时间被作业和补习班切割得七零八落,家长最怕“盲目刷题”和“哑巴英语”同时出现。一台能把“精准练”和“听说读写”一次打包的学习机,成为不少家庭双减后的新刚需。工信部《2024在线…

《算法闯关指南:优选算法--滑动窗口》--15.串联所有单词的子串,16.最小覆盖子串 - 实践

《算法闯关指南:优选算法--滑动窗口》--15.串联所有单词的子串,16.最小覆盖子串 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importan…

2025年11月适合初中生的学习机品牌评测:五款主流机型横向对比

孩子升入初中,学科陡增、难度陡升,家长最焦虑的莫过于“课上听懂了,回家不会写”“题海战术耗时低效”。一台能把校内教材、校外拓展、错题管理、AI精准练一次打包的学习机,成为不少家庭双十一清单里的刚需。教育部…

2025年11月适合初中生的学习机品牌推荐:权威榜单对比与口碑评测

进入初中,学科陡增、难度升级,家长最焦虑的往往不是“买不买学习机”,而是“买哪台才能真正帮孩子减负提分”。新课标下题型更灵活,数学理化实验探究、英语听说机考、语文跨学科阅读,样样都在挑战孩子的自学能力。…

FT232RL FT232R国产替代芯片GP232RNL GP232RL高稳定性USB转串口桥接芯片

FT232RL FT232R国产替代芯片GP232RNL GP232RL高稳定性USB转串口桥接芯片GP232RNL简介GP232RNL为国产工控接口转换芯片,可以实现USB到串行UART接口的转换,适用于高稳定性数据传输应用,也可转换到同步、异步Bit-Bang接…

Oracle OCP认证考试题目详解082系列第1题 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

H3C AC+AP本地转发二层组网

1 实验准备 1.1 拓扑图1.2 IP划分IP地址 网关 VLAN 作用10.0.100.0/24 10.0.100.254 100 交换机管理地址10.0.101.0/24 10.0.101.254 101 AP管理地址10.0.10.0/24 10.0.10.254 10 AP业务地址2 实验配置 2.1 核心交换机…

jmeter中java.net.ConnectException: Connection refused: connect - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

疯了还是天才?(上):一门基于Vim,号称“AI无法取代”的新语言

系列文章导读: 在AI巨浪滔天的2024年,当所有开发者都在讨论Copilot和Sora时,一个团队却“逆流而行”,基于古老的Vim Language打造了一门新语言,并提出了一个惊人的目标:“让AI无法取代程序员”。这究竟是异想天开…