分类目录归档:Coding

偶尔随手打上一些奇奇怪怪的玩意儿……

解题报告@SYSU-01

线上集训第一期开始啦~

说来,好久没打过一场完整的比赛了。这场学长说是手速场,大概也没错。

睡前整理一下解题报告,还有三题没写(回来后其实根本没看)…

Rank 90; Solved out 8 of 12.

Problem A.

读题还是要仔细一点,最好把数据玩清楚了再开始写。大致思路简单,就是统计+排序,最后的答案显然是个 C(a, b) 这样的东西,令n是最大set中石头最少的颜色的石头数量,a就是所有颜色中有n个石头的颜色数,b就是最大set中取到的有n个石头的颜色数。

WA点在于C没写好 – C(a, b),当 a-b < b时可以 b = a-b,这样a在29内都不会超。

Problem B.

这个显然就是平均分结果最优,大概可以不等式证一下?

式子虽然挺长但其实很简单,大概就是a^2+a*b+b^2这样的感觉(当然不是这个样子的)。

Problem C.

题目虽然说从1开始,不过为了写代码方便我还是从0开始,偶负奇正。

首先-1的条件是很显然的,现有字母数量加上问号数量无法满足k就丢出去了。

然后所有的负号位置显然应该尽量放a,所有正号位置显然应该尽量放z。不过,由于有个k的限制,还是要先解决掉这个限制问题的。

分别计算使用MINUS位置和PLUS位置的损失,取较小者(当然,如果没有空余位置就直接取另一边了)来放置。比方说,负已经有了abc,而正只用了z,那就优先放y。

TLE了一次,原因未知,明早试试。

Problem D.

这题是个解释器,乍一看有些吓人,不过其实就是个模拟题,挺简单的。

WA了一次,错在少打个0,不应该。

Problem E.

最后半小时没来得及调出来,比较可惜。

用上一题的神秘语言写代码,计算SUM(1, N)。

我的思路是这样的:

读取N到内存->复制内存到A和B->把B的数字转移到C->读取A并减一->若非0则回到开头;为0则输出

现在仔细想想,直接这样就好了:

读取N到内存->复制内存到A和C->读取A并减一->判断是否回到开头

噫,如果早想到可能就不会死了。

果然是太紧张心态崩了吗)

不过可视化编程(不)其实超有趣的!有点画电路的感觉。

Problem F.

汉诺塔题,一开始妄图找规律,没找着,也浪费了不少时间。

后来就冷静推,一发过了。

数据其实给了提示,把N个盘子从A柱挪到B柱要2^N-1的步数。

那我们就从最大的一个盘子往前倒推,需要把它上面的盘子都给挪到”既非最大盘子的目标柱子也非原来所在柱子”的那个柱子上。

如果目标柱子恰好是所在柱子就不用移动了,continue,开心。

然后就变成了一道愉快的模拟题……

Problem G.

这题没做,赋BFS序,树状数组。

Problem H.

简单模拟题。要注意的是这其实和谜题没什么关系,所求序列里是不能有87这种东西的。

Problem I.

没做。

Problem J.

两个map A下去就过了。

Problem K.

好像是最短路,但是没写。

Problem L.

A+B级别的题目。

要注意A不要取超过X了。

晚安

明日も頑張るぞい!

十三点的幻化

在EX班待了两个月无时不刻都在玩24点(…),解24点的算法,找特殊case的算法也不知道写了多少遍了。不过每次写format串的时候都会把%c当成char(然而Lua中这里要传入number),要反应一会儿才能想起来要用%s(string)。
电脑关了所以随便放个图吧。代码太美我不敢看…

image

btw,这我本来是要拿来找无解的,表达式不小心写成not flag就变成输出有解了啊w
标题是随意取的,don’t mind #一个作者的自我修养 #明明语文很不好 #话说还有一篇稿子要写 #就写村民吧w

第一届模切杯暨看脸分组杯暨负分不飞无顺位马杯预赛后有感

前几天有一个128人撕逼挑出4个分奖金的比赛叫做凤凰杯来着,那奖金相当丰厚,预赛竞猜甚至就是送钱,想想吧,1 / 4^3 的概率拿到100,1/4^2的概率拿到50,还不用本金。至于决赛,第一2000第二1000第三600第四400,这不是土豪是什么……

所以就凑了个热闹呗,反正很久也没打天凤了。谁知道这规则那么丧心病狂呢……让我们一边看规则一边说吧。

第一回 ☆凤凰战☆个人赛

报名限制:

段位限制四段以上r不限,2015年4月7日19时0分0秒前原报名贴所有三段报名者保留资格

A:128人+10人候补

B:以报名时间优先,前128人直接分组,后10人为候补

C:当预赛第一轮已分组人员比赛时间未到时,以候补报名顺序1-10优先上场比赛.

规则:

1.顺位点:

30000点基准,每1000点换成1p,100点换成0.1p

2.预赛无顺位马/正赛有顺位马/决赛有顺位马

正赛/决赛顺位马如下:

1人正分:1位+12P 2位-1P 3位-3p 4位-8p

2人正分:1位+8p 2位+4p 3位-4p 4位-8p

3人正分:1位+8p 2位+3p 3位+1p 4位-12p

4人负分:1位+8p 2位+4p 3位-4p 4位-8p

特例,全员不足30000点结束的时候,按照顺位12名加分,34扣分 ※仅在正赛决赛中使用.

预赛无顺位马本身是违反竞技麻雀的原则的。无顺位马要打多轮,而且在这种时候场况判断无用了不是吗?

3.无里宝牌/无赤宝牌/无一发/无杠宝/无杠里宝

和天麻慕杯规则一样,一般被称为无无。这个在竞技规则中有一部分采用,但是我不是很喜欢这样的,毕竟和一直在打的段位区别很大。

4.无流局满贯/无四杠散了

5.和了头跳

6.三家和了流局/九种九牌流局/四家立流局。

不承认双响及三响,这也比较正常。

7.南四局,1位亲家听牌/和了不连庄。

同天凤右三。

8.无西入

9.明暗显示手摸切,明为手切 ※ (重要)

这个规则对那些会关注手摸切的打者更为有利。然而,对平时就有记关键手摸切的上位打者优势就没那么大了。

10.完场后供托不计入任何选手得点※(重要)

11.迟到10分主办方代为模切※(重要)

这点尤其值得吐槽,也是赛制中最为令人诟病的一点。首先,在无顺位马的情况下,有模切的存在,其余三人就能刷分;若是只有两人,默契一点的话听留拿罚点都能刷个几十万不是问题。若是三人模切,那就是保送晋级,没的说。更为神经病的就是,尽管规则没有明写,却是负分不飞的场。这就更丧心病狂了。#囚徒困境?呵呵 突破给你看

12.每次对局结束top需将牌谱交给管理人员※(重要)

赛制:

预赛第一轮:128人进32 (分组比赛)

晋级方式:3局半庄总得点相加最大者晋级.

本来认为综合+33.3很稳,谁知道模切送点那么可怕。

比赛时间:4月19日14时(周日3个半庄)

预赛第二轮:32进8 (分组比赛)

晋级方式:3局半庄总得点相加最大者晋级.

比赛时间:4月26日14时(周日3个半庄)

正赛:8进4 (分组比赛)

晋级方式:12局半庄总得点相加最大者晋级.

比赛时间:5月3日/5月10日/5月17日(每周日4个半庄)

决赛:4人打

优胜条件:5局半庄总得点相加,分出胜负.

比赛时间:5月24日(周日5个半庄)

奖品:

1位:凤凰位称号+优胜奖杯证书+2000元奖金

2位:准优胜称号+奖杯证书+1000元奖金

3位:奖杯证书+600元奖金

4位:奖杯证书+400元奖金

毕竟有赞助商扔钱,不做评论。

※ 冠军在下一届可免除预选赛直接晋级正赛

※ 参赛ID需满足要求,报名ID若不足报名要求则取消比赛资格

※ 报名格式:ID名+段位或ID名+段位截图

1.自发帖开始至4月14日截止

2.报名人数满128+10人截止

3.报名人数不满128+10人则往下取4的倍数

4.报名贴http://tieba.baidu.com/p/3685476417

比赛Q群:161460899

另外,第一轮开始时整整拖了一个小时才开。这是因为苦力拿错了第一轮和第二轮的名单?反正很混乱,后来要求全员退出。后来又闹出模切刷分之类让人很不愉快的事情……尽管,比赛本身是很开心的。

至于有没有晋级我就不太清楚了,坐等名单出炉。

及格线20.2,JoshuaSF: 33.3,#14 / 128 。希望正赛不要出这么多岔子啊。下次就有顺位马了呢。

Retweet按钮挂掉?So easy~

唔,问题是Google Reader

Retweet的主题,主页有个大大的RSS订阅按钮大家发现没有?那个按钮下面有一排小按钮,虽然从来不去点,但是也挺好看的。

谁知Google Reader退出中国,icons全挂掉了,导致我们加载它要半天……这影响打开的速度呢。而且文章页面什么的都影响到了,怎么办呢?

……其实,很简单。

继续阅读Retweet按钮挂掉?So easy~

人工智能 X 小R

是的是的,新的构思

灵感和事情不断地涌出,我有很多事情要做——比如说一个服务器的Lua脚本,小R的更新,杂志的教程还有定杂志等等。这些事情都还没做,新的灵感再次涌出。又是因为船长在群里冒出来的一句话——

“我不想做一个只会回答的机器人,我想做一个每一句话都会引起属性变动的机器人。”

继续阅读人工智能 X 小R