第一次集训——2010年2月26日

    这次上午主要是熟悉环境,顺便讲解了周四的选拔赛的题目的方法,发现好多是BRUTE FORCE,但自己没有写出来!

    其次就是看到了老队员,像杨骞,虽然要备战考研,还是来了,这感情~

    原来上周纠结的一道Radar的题目要用Dancing Links去解决俗称DLX,努力去攻克这个算法。

    下午的任务竟然是重做周四的题目……虽然有点不情愿,但增加编程的熟练度嘛,还是做啦!

    很纠结的是拿到Devil May Cry,弄了半天,发现数据有问题。。。。其次组队那道题目却用搜索,并查集可以优化,但不是主流,很好,能把8个题目在下午的时间里AC掉,也算是一个小小的进步,否创有些题目可能就过去了,成为遗憾了!

A题是一个拓扑排序,没有人被监视的可以攻击,相当于入读为0的点可以去掉;

B题是一个字符串匹配,尽量选择靠前的匹配,只要维护两个指针就可以了;

C题是比较好的题目,有3N个人(N<=4),给出希望与不愿的关系,问是否存在组队成功(满足所有人的要求)的方案

      太容易想到并查集了,人数多余3人可以判断,但对于“不愿”的情况就难以判断了;

      鉴于数据量不大,可以用BRUTE FORCE,效率是O(N^(3N)),由于题目数据比较弱,“意愿”比较少,如果多了,朴素的方法估计就不行了!

扫描二维码关注公众号,回复: 12261868 查看本文章

D题属于变种的BFS:地块会周期性地出现、消失,求出从左下角到右上角的最少时间;

         题目中的描述比较长,所以要训练顽强的读题能力;刚开始没有读懂题目,但是根据题目中的数据推测了行走的方式,结果证明是对的(虽然历经波折~~~)。

         这道题目的思想还是很好的:

         1)建图:根据周期性,最多有T张图,所以预先处理出这T张图,如果时间超出了T,那么只要对T取模即可;

         2)判重:由于同一幅图中走过的点不可能再走,所以走过就可以把该点取消掉;

E题判断前缀后缀,有常量字符串处理会简单,但要注意处理完前缀后,要及时清除;

周四过了的,今天竟然没过~~发现是一个BOOL变量初值错了;

F题当时想着用随机,后来也是BRUTE FORCE

大意:有N(<=6)个猎人和M(<=8)个财产,不同财产对不同人的价值不一样,求出把这M个财产分完后猎人中得到的价值的极差。

由于1个物品只能由1个归属人,而一个猎人有可能有多个物品,所以在DFS时以物品为阶段。

G题是简单的高精度乘方;

H题是错排

总体感觉不是太难,没有太难的算法,只要练习熟练度和CODING ABILITY

猜你喜欢

转载自blog.csdn.net/zjsxzjb/article/details/6210175