描述

http://codevs.cn/problem/2926/


题解:

Polya定理的应用。
由于第一次做polya定理的题,故要写的详细些。
首先可以从题目中读到三个置换以及一个不动置换:

  1. 顺时针旋转120度。
  2. 顺时针旋转240度。
  3. 左右翻转180度。
  4. 旋转0度。(不动置换)

开始我本以为这样就算完成任务,就拿polya定理演算了一遍,结果发现n=2,n=3都不对。后来才明白现在的置换群中不满足封闭性。比如先顺时针旋转再左右翻转后的图形就不包含在内。所以还要增加两个斜向的翻转。

现在可以统计每个置换中循环的个数了:

  1. 旋转操作,可以画图数学归纳一下,每个循环中都有3个元素,(因为120度是360度的三分之一),那么一共就有((点数+2)/ 3)个循环。设为x。
  2. 翻转操作,经归纳,中轴线上有(n+1)/ 2 个点,每个点单独构成一个循环,其余两两配对,所以这些单点少算了一次,总循环数即 (总点数+中轴线上的点数)/ 2。设为y。
  3. 不动置换,即总点数。设为z。

接下来根据polya定理求最终结果。因为旋转有两个置换,翻转有三个(左右、斜向两个),还有一个不动置换,所以最后结果是

ans=2∗2x+3∗2y+2z6

ans = \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年安徽省队选拔赛)相关推荐

  1. luogu P2561 [AHOI2002]黑白瓷砖(polya定理)

    luogu P2561 [AHOI2002]黑白瓷砖(polya定理) 题目大意 将n(n+1)/2n(n+1)/2n(n+1)/2个六边形拼成三角形的形状,对这个三角形有顺时针旋转120度,逆时针旋 ...

  2. c语言一行黑白相间的瓷砖,卫生间黑白色的瓷砖好看吗 4款卫生间黑白瓷砖铺贴搭配效果图...

    卫生间黑白色的瓷砖好看吗 4款卫生间黑白瓷砖铺贴搭配效果图 素雅干净的卫生间设计展现在你眼前,散发着一种整洁自然的视觉冲击,黑白瓷砖铺贴地面,经典的色调组合,同时还有防滑的效果,很适合卫生间.方形的浴 ...

  3. Codevs 2296 仪仗队 2008年省队选拔赛山东

    2296 仪仗队 2008年省队选拔赛山东 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 题目描述 Description 作为体育委员,C君负责这次运动 ...

  4. AHOI 2002 黑白瓷砖 题解

    题目传送门 题目大意: 有 n(n+1)2\frac {n(n+1)} 22n(n+1)​ 个六边形瓷砖,第一层有 111 个,第二层有 222 个,以此类推组成一个三角形,给每块瓷砖染黑色或白色,两 ...

  5. AHOI 2002 黑白瓷砖

    小可可在课余的时候受美术老师的委派从事一项漆绘瓷砖的任务.首先把n(n+1)/2块正六边形瓷砖拼成三角形的形状,右图给出了n=3时拼成的"瓷砖三角形".然后把每一块瓷砖漆成纯白色或 ...

  6. [codevs 1343] 蚱蜢(省队选拔赛湖南)

    http://codevs.cn/problem/1343/ 题解: 本题splay基本操作: 1.如果是左跳,比如从 x 左跳到 y,就相当于查询 [ y, x ) 区间的最大值,那么就把 y-1 ...

  7. Codevs 1010 过河卒 2002年NOIP全国联赛普及组

    1010 过河卒 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 如图,A 点有一个过河卒 ...

  8. 2023年“网络安全”赛项安徽省阜阳市选拔赛任务书

    2023安徽省阜阳市"网络安全" 项目比赛任务书 2023安徽省阜阳市"网络安全" 项目比赛任务书 A模块基础设施设置/安全加固(200分) A-1:登录安全加 ...

  9. 2022—SWJTU-寒假ACM校队选拔赛第二场-题解

    A - 傻子楼梯 算法分析 队列模拟即可 要转变方向当且仅当不同方向的人已抵达电梯,且该方向的下一个人还未到达电梯 昨天发现某位同学一直在wa,这里放上一组hack数据,仅作参考 5 1 1 7 0 ...

最新文章

  1. 使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案(转)
  2. Jmeter将HTTP request报文体中的字符串转换为大写
  3. 【Linux系统编程】进程间通信之共享内存
  4. Redis五种数据结构
  5. 使用 guava-retrying 实现灵活的重试机制
  6. security工作笔记004---.NET Web安全性-身份验证和授权(一)之Principal
  7. GenyMotion 配合 Android Studio 的安装
  8. 《AI算法工程师手册》读书笔记(1)
  9. opencv convertTo函数详解
  10. matlab倒立摆不同初始条件,倒立摆MATLAB建模
  11. JAVA文件夹批量重命名
  12. 串口 单片机 文件_单片机引脚介绍
  13. 5G移动通信技术基本介绍(附92页PDF下载)
  14. PCL Visualizer可视化类
  15. 绚丽的魔兽世界,广袤的艾泽拉斯大陆
  16. 大数据计算,如何优化SQL?
  17. 通过nginx代理vue,vue再访问后端时出错记录
  18. 智能链杀机器人 芬shib,慈善回流是怎样的合约部署原理?
  19. 获取微信公众号信息接口
  20. WGS84坐标转BD-09坐标(wgs84转百度)

热门文章

  1. 科大星云诗社动态20210322
  2. java过滤结果集方法_QueryRunner类结果集处理的八种方法
  3. Java中恒等条件判断:“equals”和“==”
  4. 数据库设计与查询语句的优化
  5. SESSION常见问题辑
  6. Java中的String、StringBuffer、StringBuilder的区别和使用范围
  7. 数据库中插入英文数字正常,插入中文错误解决方案
  8. 为什么 C++ 中提倡尽量避免使用宏 #define(转)
  9. java 操作 ES 的方式 整理总结
  10. RabbitMQ支持的消息模型