原文链接

门票题:数独有多少种对解线上没有1的填法?
这道“门票题”虽说只是“热身”,但还是有一定难度的。共有245名选手通过各种方法拿到了门票。下面,我们就为大家总结了一下各种解这道题的方法。

Solution 1:暴力搜索!
数独一共只有 6,670,903,752,021,072,936,960种解法。 并且,在考虑对称性之后,只剩下了 5,472,730,538 种“本质不同”的数独解法。(见wikipedia Mathematics_of_Sudoku)。所以,做这题最暴力的方法就是枚举对称意义下的等价类,之后对每个等价类分别计数即可。当然,这只是一种“理论上”可行的做法,实际要真这么做的话,你的机器要足够好哟。为了确保答案的正确性,我们用了一种和这个类似的方法来验证我们的答案。

Solution 2:对称性
很显然的是,对于一种数独的解法,我们只关心它里面1的位置。一个很自然的想法就是,我们算一算数独解法中对角线没有1的“比例”。已知数独有6,670,903,752,021,072,936,960种解法。通过在每个3x9或9x3的“带”内交换行或者列,可以把每666666=46656个解法(带内部置换有3!=6种方法,一共有6个带)分成一组,共有142980618827612160组。不管你是猜的还是证的,你会发现,每一组内对角线不含1的比例都是一样的!这样,我们只需要任取一个解,通过置换生成它组内的46656个解法,检验一下对角线不含1的比例就行了。如何任取一个解呢?看看海报,上面就印着字典序意最小的那个解。这样算出的答案是:
6670903752021072936960
43/486 = 590223994520382996480

Solution 3:手算!
当然,如果你是用这种方法来做这题的,那么你应该不用来看这份题解了。不过,我们真的亲眼目睹过一位同学在草稿纸上用15分钟就算出来了!这么解的精髓就是充分利用对角线图案本身的对称性,使用容斥原理把问题分成几种情况来讨论。具体的方法我们就不剧透了,想挑战自我的同学自行体会一下吧:-)
这一次可以提示一下,仔细观察数独格子交点,还能找到别的做法,

[转]MegCup2015初赛题的更多相关文章

  1. 蓝桥杯近三年初赛题之一(15年b组)

    临近比赛,自己定时做了近三年的初赛题,不是很理想,10道题平均做对5+道.为了这次比赛,总共做了200题左右吧,估计去北京参加决赛有点难,不过不管怎样,对得起自己万余行代码就好. 一.15年初赛题(第 ...

  2. CCF NOI plus 201(7)6 初赛题 解题报告

    GTMDCCF. 今年这题怎么评价? 去看我在知乎的回答:https://www.zhihu.com/question/66621360/answer/244222388 挨个说一遍. 单项选择题 T ...

  3. 蓝桥杯近3年初赛题之三(17年b组)

    1. 标题: 购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是 ...

  4. 蓝桥杯近三年初赛题之二(16年b组)

    1. 煤球数目 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球? 请填 ...

  5. NOIP 2011 提高组初赛错题简析

    Preface 好久没做初赛题了,据说今年的审核会更加严苛,作为一名去年未PY时只有\(92\)分的蒟蒻,我今年看来是\(90\)分都莫得了 然而今年也没怎么看重初赛,结果现在才来做,翻车到了\(84 ...

  6. 【生活没有希望】NOIP2010初赛 烽火传递 smartoj1475

    整天初赛题做做,生活没有希望 用单调队列优化的dp 因为满足后来的总比先来的(在某些方面)更优 所以能用单调队列 n2变成n #include <cstdio> ],b[],c[]; in ...

  7. NOIP初赛 之 哈夫曼树

    哈夫曼树 种根据我已刷的初赛题中基本每套的倒数第五或第六个不定项选择题就有一个关于哈夫曼树及其各种应用的题,占:0-1.5分:然而我针对这个类型的题也多次不会做,so,今晚好好研究下哈夫曼树: 概念: ...

  8. NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析 Part 2.

    洛谷秋令营day1模拟赛原地爆炸,心态崩了.于是打算写一下初赛题放松一下. 上次胡乱分析到了选择题,这次我想说说后面的题. 问题求解 T1.有一个1x8的方格图形,黑白两色填涂每个方格,两个黑格并不能 ...

  9. NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析

    最近在做历年的初赛题,那我捡几道比较有代表性的题说一下好了 原题可以在这里看:https://wenku.baidu.com/view/10c0eb7ce53a580217fcfede.html?fr ...

随机推荐

  1. nginx缓存和flask_cache

    1.使用flask_cache的缓存功能simple模式时,直接启用可以使用,但是如果中间使用nginx代理时,就没有效果了 2.那就直接使用nginx缓存机制 http://blog.csdn.ne ...

  2. scala编程第17章学习笔记(2)——集和映射

    默认情况下在使用“Set”或“Map”的时候,获得的都是不可变对象.如果需要的是可变版本,需要先写明引用. 如果同一个源文件中既要用到可变版本,也要用到不可变版本的集合或映射,方法之一是引用包含了可变 ...

  3. 混沌数学之Feigenbaum模型

          1975年,物理学家米切尔·费根鲍姆(Mitchell Feigenbaum)发现,一个可用实验加以测 量的特殊数与每个周期倍化级联相联系.这个数大约是4.669,它与π并列成为似乎在数学 ...

  4. 算法导论第九章 第K顺序统计量

    1.第K顺序统计量概念 在一个由n个元素组成的集合中,第k个顺序统计量是该集合中第k小的元素.例如,最小值是第1顺序统计量,最大值是第n顺序统计量. 2.求Top K元素与求第K顺序统计量不同 Top ...

  5. 以AVL树为例理解二叉树的旋转(Rotate)操作

    树旋转是在二叉树中的一种子树调整操作, 每一次旋转并不影响对该二叉树进行中序遍历的结果. 树旋转通常应用于需要调整树的局部平衡性的场合. 树旋转包括两个不同的方式, 分别是左旋转和右旋转. 两种旋转呈 ...

  6. elasticSearch nested exist与missing查询

    elasticSearch nested查询,简单意义上,你可以理解为,它不会被索引,只是被暂时隐藏起来,而查询的时候,开关就是使用nested query/filter去查询 下面我有一个例子,是查 ...

  7. js的正则匹配 和 blur

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js&qu ...

  8. ZH奶酪:在博客中添加Latex公式

    1. 点击编辑器中的插入图片: 2.在URL输入下边的地址: http://latex.codecogs.com/gif.latex?你的latex代码 就可以了-

  9. UILabel文字竖排

    方法一: UILabel *mindName = [[UILabel alloc]initWithFrame:kCR(, , ,)]; mindName.text = @"苏\n小\n明&q ...

  10. whereis 命令(转)

    原文:http://www.cnblogs.com/peida/archive/2012/11/09/2761928.html whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b) ...