A经典的8数码问题的变形,问题是判断状态是否可达。因为在lrj的书上看过这道问题,就想当然的想用隐式图搜索,结果发现做不出。然后看了解题报告才知道要用到代数方面的知识来判断状态是否可达,以下为复制来的内容:对于N*N-1数码问题,N为奇数时,初始状态与指定状态逆序数奇偶性相同即有解;N为偶数时,先计算出从初始状态到指定状态,空位要移动的行数m,如果初始状态的逆序数加上m与指定状态的逆序数奇偶性相同,则有解。
B汗,唯一一道独立做的水题。直接stl水过。
C博弈论方面的问题,因为还一点都没接触,所以直接放弃了。
D二维平面追击,然后二分答案,这道题没怎么仔细做,照着解题报告的思路做的。也没有完全弄清楚,关键是计算几何也没有看过,什么卡精度,计算啊什么的,没什么心思去细做……
E看A的人太少,直接怂了。
F状态压缩DP,和著名的TSP问题很类似,算是TSP的变形,就是把计算最短路变为了路径计数。但是具体实现起来确不是那么简单,在判断触屏上的点可否经过上还挺复杂的,看了解题报告之后我觉得如果要我自己实现,绝对得WA出翔。
G一道线段树的模板题,只不过我才刚接触线段树,所以也是在看了解题报告的情况下才做出了这道题。
H需要离散化维度的DP,离散化的维度可以用map方便的实现。DP[i][j]的第一维为前i个数,而第二维表示lcm。DP[i][j]则表示前i个的组合的lcm为j的个数。显然第二维可以离散化。想写一下状态转移方程,发现用公式很难写啊,具体的可以去看大神的解题报告。
I、J知道非我水平可及,直接无视的节奏。
完成情况:
独立完成:B 看完解题报告后完成A、D、F、G、H 未完成C、E、I、J
小结:
这次独立做出的题居然比上一次大连网络赛还少……当然感觉上海赛的题目确实比大连的难不少,从board上就可以看出这一点。做了两场网络赛,发现现在自己的算法覆盖度还是太低了,还有相当一部分题算法都还没有学过,而一些是算法思想还没有接触过。给我印象最为深刻的就是DP了,我以前做的DP还是太弱了……昨天打了一场codeforces,悲剧的只A了2题,唉,路漫漫其修远兮啊,现在绝对不可以懈怠,大神们还都在努力,吾等弱菜更不能懈怠!