摘要: 多校第四场:6题,打得最好的一场多校。还是CJboy给力。本场比赛我基本上没什么贡献,搞04一搞就是一下午。最后看了09觉得只有状态压缩,不知道怎么优化。1004 http://acm.hdu.edu.cn/showproblem.php?pid=4635 图论,强联通分量(0)、一开始推理的时候思路很清晰,但是接着就脑残了,没怎么细想就直接去套样例。以为得到了正确的解法,只是需要一个特判。然后就开始去写代码了。代码写着写着就发现不好写。估计卡代码卡了1个小时。其中也一直在测样例是怎么回事,当时逻辑混乱了,行动就变得缓慢。当再次看时间的时候,发现已经过去一个多小时了。其实这个时候需要冷静一下, 阅读全文
posted @ 2013-08-03 20:53 phk52 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 一、求找到某个数的所有素因子:自己的做法:使用一个vector,在筛素数的时候,将当前素数i,放入vec[j],其中j为i的倍数。这样如果询问很多,则是一个可行的方法。但是如果询问较少,空间和时间花费都会很大。优化做法:筛素数的时候,对于每个数,只需要记录它的最小(或最大)的素因子就行了。查询的时候,每次都除以当前数的最小的素因子,然后更新当前数,继续往下找。这样,就能找到所有的素因子了。这种方法对于询问次数较少的题目,将会比第一种做法快上很多。二、假如已知当前的一个二进制状态sta,求其所有子状态s1,s2使(s1&s2)==0 && (s1|s2)=sta。自己的做 阅读全文
posted @ 2013-08-03 20:40 phk52 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 第三场多校: 至今最惨的一场多校。共作出两题。1008 http://acm.hdu.edu.cn/showproblem.php?pid=4628 状态压缩优化的搜索(0)、比赛时候直接状态压缩dp,结果TLE了。没有算好时间复杂度,第一次交的时候没有测大数据。应该多想几种方法,做到一A才行,不然卡题会卡很久。(1)、后来直接搜索,从最后一个状态开始搜,每次都用一个回文串,然后搜另一个的最小步数。 然后过了。(2)、搞了第四场多校后发现是自己代码实现能力太渣太渣。。。将一个状态i分解成两个子状态,其实是可以不用搜的。直接一个for循环就行了,这样妥妥过。啊啊啊。。。 for(i=0;... 阅读全文
posted @ 2013-08-03 20:23 phk52 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 多校第二场:1002 http://acm.hdu.edu.cn/showproblem.php?pid=4612(1)、求双连通分支。(2)、求树的直径。1009 http://acm.hdu.edu.cn/showproblem.php?pid=4619(0)、因为判断两张卡牌是否相交那里写错了,导致浪费了近一个小时的时间。本场比赛第一失误。可以早一点找FQ帮忙,早一点确定问题出现的地方。其实跟自己不熟悉HK算法也有很大关系,不然也不会一个模板一个模板地去试。(1)、二分图匹配。求最小点覆盖。1006 http://acm.hdu.edu.cn/showproblem.php?pid=46 阅读全文
posted @ 2013-08-03 20:21 phk52 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 多校第一场:1011 http://acm.hdu.edu.cn/showproblem.php?pid=4610(1)、将每个数对应的4种情况求出来,并保存每个数对应的状态。(2)、问题转化为:共有16种卡牌,每种卡牌可以选ai个,选了某种卡牌将得到bi的权值。将所有选定的bi进行|运算,若4位中的某一位为0,则需要额外的花费。(3)、直接进行2^16的枚举,表示某种物品选还是不选,每个物品至少选一个,然后剩下的物品按权值从大到小贪心。1002 http://acm.hdu.edu.cn/showproblem.php?pid=4601(1)、将原树映射到一棵字典树上。(2)、在原树上进行D 阅读全文
posted @ 2013-08-03 20:20 phk52 阅读(133) 评论(0) 推荐(0) 编辑