P2561 [AHOI2002]黑白瓷砖
$ \color{#0066ff}{ 题目描述 }$



\(\color{#0066ff}{输入格式}\)
文件中以一行的形式存放一个正整数 n , n ≤ 20 。
\(\color{#0066ff}{输出格式}\)
以一行的形式输出问题的解 s (解的位数不超过 200 位)。
\(\color{#0066ff}{输入样例}\)
1
2
\(\color{#0066ff}{输出样例}\)
2
4
\(\color{#0066ff}{数据范围与提示}\)
none
\(\color{#0066ff}{题解}\)
显然直接上Polya
不难发现有6种置换
旋转0,120,240度,还有三种对称轴的翻转
(以下图片均来自--------lzxkj)

对于旋转来说,肯定是三个一循环,但是会存在下面的情况

所以答案就是\(x=\lceil \frac {\frac {n*(n+1)}{2}}{3}\rceil=\lceil \frac {n*(n+1)}{6}\rceil\)
注意,旋转0度是\(y=\frac{n*(n + 1)}{2}\)
翻转,中间对称的不变,总共\(\lceil \frac n 2 \rceil\)个,于是方案为\(z=\frac{\frac{n*(n+1)}{2}-\lceil \frac{n}{2}\rceil}{2}+\lceil \frac{n}{2}\rceil=\frac{1}{2}(\frac{n*(n+1)}{2}+\lceil \frac{n}{2}\rceil)\)
因此\(ans=\frac{2^y+2*2^x+3*2^z}{6}\)
显然并没有取模
直接上Python!
import math
n = int(input())
tot = n * (n + 1) >> 1;
x = tot
y = math.ceil(n * (n + 1) / 6)
z = (tot + math.ceil(n / 2)) >> 1;
ans = (2 ** x + 2 * 2 ** y + 3 * 2 ** z) // 6;
print(ans)
P2561 [AHOI2002]黑白瓷砖的更多相关文章
- [wikioi2926][AHOI2002]黑白瓷砖(Polya定理)
小可可在课余的时候受美术老师的委派从事一项漆绘瓷砖的任务.首先把n(n+1)/2块正六边形瓷砖拼成三角形的形状,右图给出了n=3时拼成的“瓷砖三角形”.然后把每一块瓷砖漆成纯白色或者纯黑色,而且每块瓷 ...
- 洛谷——P2556 [AHOI2002]黑白图像压缩
P2556 [AHOI2002]黑白图像压缩 题目描述 选修基础生物基因学的时候, 小可可在家里做了一次图像学试验. 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 ...
- 洛谷P2556 [AHOI2002] 黑白图像压缩 [模拟]
题目传送门 黑白图像压缩 题目描述 选修基础生物基因学的时候, 小可可在家里做了一次图像学试验. 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 8 的倍数, 于是每 ...
- LuoguP2556 [AHOI2002]黑白图像压缩 题解
Content 题目描述太过于繁琐而无法简化,请前往原题面查看. 数据范围:\(1\leqslant n\leqslant 8\times 10^4\). Solution & Code 一个 ...
- 「算法笔记」Polya 定理
一.前置概念 接下来的这些定义摘自 置换群 - OI Wiki. 1. 群 若集合 \(s\neq \varnothing\) 和 \(S\) 上的运算 \(\cdot\) 构成的代数结构 \((S, ...
- C语言版flappy bird黑白框游戏
在此记录下本人在大一暑假,2014.6~8这段时间复习C语言,随手编的一个模仿之前很火热的小游戏----flappy bird.代码bug基本被我找光了,如果有哪位兄弟找到其他的就帮我留言下吧,谢谢了 ...
- 课程设计 --- 黑白棋中的 AI
原文链接:https://www.dreamwings.cn/reversi/3013.html 到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都 ...
- 【BZOJ-1976】能量魔方Cube 最小割 + 黑白染色
1976: [BeiJing2010组队]能量魔方 Cube Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 884 Solved: 307[Submi ...
- Android自动化压力测试之Monkey Test Android常见的错误类型及黑白名单的使用方法(四)
Android常见的错误类型有两种 1.ANR类型 1)在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸) 2)BroadcastReceiver在10秒内没有执行完毕 2.Crash类型 1)异 ...
随机推荐
- 并发模型(二)——Master-Worker模式
Master-Worker模式是常用的并行模式之一,它的核心思想是,系统有两个进程协作工作:Master进程,负责接收和分配任务:Worker进程,负责处理子任务.当Worker进程将子任务处理完成后 ...
- MFC 打开外部EXE文件的三种方法
目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了<vc中调用其他应用程序的方法(函数) winexec,shellexecute , ...
- Oracle行转列LISTAGG函数
工作过程中需要将查询的数据分组并显示在一行.以往的工作经验,在sql server中可以用for xml path来实现. 现提供Oracle数据库的行转列方式 oracle11g官方文档简介如下: ...
- Timer的定义及demo
- 字符编码(续)---Unicode与ANSI字符串转换以及分辨字符编码形式
Unicode与ANSI字符串转换 我们使用windows函数MultiByteToWideChar将多字节字符串转换为宽字符字符串,如下: int MultiByteToWideChar( UINT ...
- 文件流的处理 C C++
C: 借鉴C 文件操作库函数总结 eg: #include <fstream> #include <iostream> #include <cstdio> usin ...
- selenium2 定位 窗体切换等等 (二)
定位用的html素材有两个 demo.html <html> <head> <title>UI Automation Testing</title> & ...
- Linuc bazaar命令
一.简介 Bazaar 是一种强大的新一代源代码控制系统,它能够适用于所有主流操作系统,能够适应任何开发团队的工作模式. 二.安装 1)yum方式 yum install -y bzr 三.教 ...
- Edge 自动给数字加下划线的问题
<meta name="format-detection" content="telephone=no,email=no,address=no">
- (转)使用Jquery+EasyUI 进行框架项目开发案例讲解之四---组织机构管理源码分享
原文地址:http://www.cnblogs.com/huyong/p/3404647.html 在上三篇文章 <使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码 ...