转跳到内容

排行榜

热门内容

显示于 2020年04月29日 在所有范围中最高声望的内容

  1. 八周年快乐哟~!民那桑!
    5
  2. 召唤 @yhz012 这个题我觉得就是那种很狗的题。 做之前:???这也能做? 做之后:???就这? 解这个题需要对数独终局的两条引理: 引理1. 任意给定数独的第一行,可以构造出至少一个合法的数独终局。(实际上某一行即可,这里为了简便,就说是第一行) 怎么构造呢?可以像这样构造: 1 2 3 4 5 6 7 8 9 4 5 6 7 8 9 1 2 3 7 8 9 1 2 3 4 5 6 2 3 4 5 6 7 8 9 1 5 6 7 8 9 1 2 3 4 8 9 1 2 3 4 5 6 7 3 4 5 6 7 8 9 1 2 6 7 8 9 1 2 3 4 5 9 1 2 3 4 5 6 7 8 可以看出,这么构造过之后每一行、每一列、每一个九宫格之内1-9都恰好出现了一次。 这样的话,由于左上角的值不能变,剩下八个数能产生8!=40,320种排列。到这里还不够两百万,为了达到我们二百万终局的目标,我们还需要引理2. 引理2. 任给一个合理的数独终局,重新排列这个终局的前三行,所得终局仍然相同;对中间三行和后三行也成立。 举个例子:把上例中的第4行和第6行交换,得到的数独终局仍然合法;或者说,把7,8,9行重新排列成9,8,7行,得到的新数独终局仍然成立。 由于第一行有限制,它只好继续呆在第一行,因此前三行有2种排法;中间三行和后三行没什么限制,分别可以产生6种排法。 这样的话,任给一个数独终局,我们能构造出2*6*6=72个数独终局(包括给的那个终局)。 并用引理1和引理2,我们就能用这样的很简单的操作构造出多达72*40,320=2,903,040种不同的数独终局! 事实上,中间三行和后三行是可以整体交换的,这样可以构造出的数独终局数量还能再加倍。不过我们只要两百万种,不这么交换也够用了。 这样,我们就给出了能过掉normal的算法。当然,这个算法稍微做一点优化(主要是磁盘IO方面的),也是可以过掉hard和extreme难度的。实际上如果这个算法都过不掉的话,很难想象还有什么算法能过掉了,毕竟这道题输出量是非常大的…… 算法大意如下: 1. 首先构造出初始的第一行:从1排到9,然后把需要在左上角的那个数换过去。 2. 对第一行剩下8个数进行全排列,对每一个排列进行下述操作: 2.1 按照引理1提供的方法填满其余的格子; 2.2 按照引理2排列各行,输出之,直到输出数量够为止。 最后再说一下怎么就优化吧。这一部分其实不是算法本身关注的重点,不过还是简单说一下。 首先按照上面算法直接写,用C++的输入输出库的话,可以搞定normal难度,但是hard难度是跑不通的。 第一步优化:扔掉所有C++输入输出方法,改用C语言的输出函数。这比C++的同样方法快得多。(所以说这里的优化都是一些无聊的小细节) 第二步优化:不要每输出一个数字就调用一次C语言输出函数,而是每输出一次数独调用一次。这样可以大幅减少函数调用的次数。(无聊细节+1)到此可以过掉hard难度。 第三步优化:其实交换两行的时候,不用整个一起交换的。可以记录一个“行索引表”,对行的交换只在索引表上进行。这需要对算法进行一些修改。 第四步优化:连C语言的输入输出函数都扔掉,而是直接用Windows的API。Windows的文件映射功能可以让程序可以像访问内存一样访问文件,进一步提高了磁盘的利用效率。这样,extreme难度也可以过掉了。 相比算法本身来说,这个优化过程就显得平凡很多了。而且在OJ平台上也没有Windows API可以调用不是么(笑
    2
  3. 来了这个大家庭也有两天了,在这段期间我了解到了sstm的与众不同,说是一个网站我觉得更像是一个大家庭,每个人都十分友好,所以我特别喜欢这里,为了这个我所喜欢的sstm,我吧我最近看的一部看了上瘾的漫画推荐给大家 《魔都精兵的奴隶》 ← ←链接(大妈之家隐藏内容,网页版里登录账号并且发一个正常点的评论,然后勇手机版app里找评论历史即可观看) 很显然,作者是曾经画过赤瞳漫画的竹村洋平。相信大家都明白 (故事讲述的是在一个女权的时间) 好啦废话不多说发几张人物图片吧 魔防队七番组: 1.首先这个是我们的男主:和仓优希 有木有感觉很憨呐,在七番组充当奴(享)隶(乐)角色 2.我们的女主角之一:羽前京香 因某些切机男主与她契约成为了奴隶,魔防队七番组组长 能力是:“无穷之锁”,引发奴隶的生命力量并加以操纵(在这里介绍一下这个设定:所谓的奴隶契约就是亲亲。然后男主变身为一种类似于坐骑的魔兽吧,战斗之后,奴隶没什么反倒是主人每次结束就有一个设定:必须强制性进入奴隶奖励时间,这个所谓的奖励时间呐,就是男主潜意识里的内心深处所想要的,所以大家都懂的,而且奴隶的设定是一奴多主) 剩下的就是我们七番组其他成员了 魔防队六番组: 六番组组长 根据目前的趋势来写 是的没错男主以后可能会跨组契奴 六番组其他成员 好啦现在开始我们的第二阵营 (小声:姐姐赛高) 人形丑鬼(半人丑鬼): 和仓优希的亲姐姐 病娇弟控,本作目前战力天花板 汤野波音 钱函可可: 战士输出奶妈有木有 第三阵营 人形丑鬼(第二势力) 左:壤龙 中:雷谏 右:紫黑 目前来看漫画走向是欢乐的,没什么雷子,嘛 毕竟赤铜作者你懂的。就怕后面来个什么迷之反转。不过我个人觉得 漫画应该是福利向的,有点类似于恶魔高校吧。 剧情就是一如既往的后宫,男主到处领福利,;领完一个,换个阵营继续领,大概就是这样的剧情吧,,漫画在国内貌似不是很火,目前大妈之家隐藏内容和粉色app里有连载 每两周一更 目前34话。 如果感兴趣的话可以去看看
    1
  4. 我一开始也以为是四慌的说 还以为是谁把坟给挖上来了呢
    1
  5. 1
  6. 毕竟也不是专业的嘛,照着原唱来呗。其实我后面一听发现原唱也没嘶哑到这种程度,唱过了 如果放一点下来可能还好一点
    1
  7. 今天呢,今天决定来一道丧心病狂的题目! 来看题: 第17期. 这不是一个丧心病狂的题目 题目描述: 输入中每行以十进制形式给出一个整数N (),输出该数字在英文中的表达。 英文中数字的表达遵循如下规则: 1.0-19分别直接以如下的单词进行表达: { "zero","one","two","three", "four","five","six","seven", "eight","nine","ten","eleven", "twelve","thirteen","fourteen","fifteen", "sixteen","seventeen","eighteen","nineteen" }; 2.20-99,用一个单词或两个单词连接进行表达。若能被10整除则直接用一个单词进行表达: { "twenty","thirty","forty","fifty", "sixty","seventy","eighty","ninety" }; 若不能被10整除,则将十位和个位用连字符连接。如23在英文中的表达为"twenty-three"。 3. 100-999,先表示百位,再表示十位和个位,并以and连接。如123在英文中的表达为"one hundred and twenty-three" 4.对于不小于1000的数字,从右向左,每三位将数字划分一次。对于每一部分,先直接表示,然后加上对应的单位。如果一部分的三个数字都是0则直接省略。如12,345在英文中的表达为"twelve thousand three hundred and forty-five" 从高位到低位,每部分的单位分别为 { "billion",//10^9 "million",//10^6 "thousand",//10^3 ""//1, needs to add nothing }; 输入: 多组用例,以EOF结束。每行以十进制形式给出一个整数N () 输出: 对于每个输入的整数,输出一行,为该数字在英文中的表达。 输出中不允许开头,结尾或单词之间出现任何多余的空格(' ')或连字符('-')。 召唤阵: @yhz012 @inuisanaa @ZERC @随性而为 @NianRuoshui @摸鱼奇才咖啡喵
    1
  8. 幽浮本来就是搞人心态。。贴脸空枪都是常事,哎看到这个我又想玩了
    1
  9. 5%的miss率=平均20抽就可以抽到一张SSR,想想是不是概率还挺大的 另外人类的赞歌就是勇气的赞歌,想到某次行动中一次关键射击的miss就能影响甚至颠覆整个反抗行动的努力,是不是就觉得有种史诗般的兴奋感了(X)
    1
  10. 1
  11. 制作者:NikiGirl1026 大佬们做的勋章都好好看! 本萌新斗胆做了一个,丢下作品就跑路啦
    1
  12. 八周年来了哦 制作者是我 奇怪的表情增加了
    1
排行榜设为 上海/GMT+08:00
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款