[codevs 2926] 黑白瓷砖(2002年安徽省队选拔赛)
描述
http://codevs.cn/problem/2926/
题解:
Polya定理的应用。
由于第一次做polya定理的题,故要写的详细些。
首先可以从题目中读到三个置换以及一个不动置换:
- 顺时针旋转120度。
- 顺时针旋转240度。
- 左右翻转180度。
- 旋转0度。(不动置换)
开始我本以为这样就算完成任务,就拿polya定理演算了一遍,结果发现n=2,n=3都不对。后来才明白现在的置换群中不满足封闭性。比如先顺时针旋转再左右翻转后的图形就不包含在内。所以还要增加两个斜向的翻转。
现在可以统计每个置换中循环的个数了:
- 旋转操作,可以画图数学归纳一下,每个循环中都有3个元素,(因为120度是360度的三分之一),那么一共就有((点数+2)/ 3)个循环。设为x。
- 翻转操作,经归纳,中轴线上有(n+1)/ 2 个点,每个点单独构成一个循环,其余两两配对,所以这些单点少算了一次,总循环数即 (总点数+中轴线上的点数)/ 2。设为y。
- 不动置换,即总点数。设为z。
接下来根据polya定理求最终结果。因为旋转有两个置换,翻转有三个(左右、斜向两个),还有一个不动置换,所以最后结果是
ans=2∗2x+3∗2y+2z6ans = \dfrac{2*2^{x} + 3*2^{y} + 2^{z}}{6}
代码:
其实需要高精,但我没打。
#include<cstdio>
using namespace std;int main()
{int n;scanf("%d", &n); //底层点数 int s = n * (n + 1) / 2; //总点数 int m = (s + (n + 1) / 2) / 2; //一个翻转置换的循环数 printf("%d\n", (2*(1<<((s+2)/3)) + 3*(1<<m) + (1<<s)) / 6);return 0;
}
[codevs 2926] 黑白瓷砖(2002年安徽省队选拔赛)相关推荐
- luogu P2561 [AHOI2002]黑白瓷砖(polya定理)
luogu P2561 [AHOI2002]黑白瓷砖(polya定理) 题目大意 将n(n+1)/2n(n+1)/2n(n+1)/2个六边形拼成三角形的形状,对这个三角形有顺时针旋转120度,逆时针旋 ...
- c语言一行黑白相间的瓷砖,卫生间黑白色的瓷砖好看吗 4款卫生间黑白瓷砖铺贴搭配效果图...
卫生间黑白色的瓷砖好看吗 4款卫生间黑白瓷砖铺贴搭配效果图 素雅干净的卫生间设计展现在你眼前,散发着一种整洁自然的视觉冲击,黑白瓷砖铺贴地面,经典的色调组合,同时还有防滑的效果,很适合卫生间.方形的浴 ...
- Codevs 2296 仪仗队 2008年省队选拔赛山东
2296 仪仗队 2008年省队选拔赛山东 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 题目描述 Description 作为体育委员,C君负责这次运动 ...
- AHOI 2002 黑白瓷砖 题解
题目传送门 题目大意: 有 n(n+1)2\frac {n(n+1)} 22n(n+1) 个六边形瓷砖,第一层有 111 个,第二层有 222 个,以此类推组成一个三角形,给每块瓷砖染黑色或白色,两 ...
- AHOI 2002 黑白瓷砖
小可可在课余的时候受美术老师的委派从事一项漆绘瓷砖的任务.首先把n(n+1)/2块正六边形瓷砖拼成三角形的形状,右图给出了n=3时拼成的"瓷砖三角形".然后把每一块瓷砖漆成纯白色或 ...
- [codevs 1343] 蚱蜢(省队选拔赛湖南)
http://codevs.cn/problem/1343/ 题解: 本题splay基本操作: 1.如果是左跳,比如从 x 左跳到 y,就相当于查询 [ y, x ) 区间的最大值,那么就把 y-1 ...
- Codevs 1010 过河卒 2002年NOIP全国联赛普及组
1010 过河卒 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 如图,A 点有一个过河卒 ...
- 2023年“网络安全”赛项安徽省阜阳市选拔赛任务书
2023安徽省阜阳市"网络安全" 项目比赛任务书 2023安徽省阜阳市"网络安全" 项目比赛任务书 A模块基础设施设置/安全加固(200分) A-1:登录安全加 ...
- 2022—SWJTU-寒假ACM校队选拔赛第二场-题解
A - 傻子楼梯 算法分析 队列模拟即可 要转变方向当且仅当不同方向的人已抵达电梯,且该方向的下一个人还未到达电梯 昨天发现某位同学一直在wa,这里放上一组hack数据,仅作参考 5 1 1 7 0 ...
最新文章
- 使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案(转)
- Jmeter将HTTP request报文体中的字符串转换为大写
- 【Linux系统编程】进程间通信之共享内存
- Redis五种数据结构
- 使用 guava-retrying 实现灵活的重试机制
- security工作笔记004---.NET Web安全性-身份验证和授权(一)之Principal
- GenyMotion 配合 Android Studio 的安装
- 《AI算法工程师手册》读书笔记(1)
- opencv convertTo函数详解
- matlab倒立摆不同初始条件,倒立摆MATLAB建模
- JAVA文件夹批量重命名
- 串口 单片机 文件_单片机引脚介绍
- 5G移动通信技术基本介绍(附92页PDF下载)
- PCL Visualizer可视化类
- 绚丽的魔兽世界,广袤的艾泽拉斯大陆
- 大数据计算,如何优化SQL?
- 通过nginx代理vue,vue再访问后端时出错记录
- 智能链杀机器人 芬shib,慈善回流是怎样的合约部署原理?
- 获取微信公众号信息接口
- WGS84坐标转BD-09坐标(wgs84转百度)
热门文章
- 科大星云诗社动态20210322
- java过滤结果集方法_QueryRunner类结果集处理的八种方法
- Java中恒等条件判断:“equals”和“==”
- 数据库设计与查询语句的优化
- SESSION常见问题辑
- Java中的String、StringBuffer、StringBuilder的区别和使用范围
- 数据库中插入英文数字正常,插入中文错误解决方案
- 为什么 C++ 中提倡尽量避免使用宏 #define(转)
- java 操作 ES 的方式 整理总结
- RabbitMQ支持的消息模型