第一题
考查的知识点:DP
【题目及题号】1807 superoj931
【题解】
本题是一道dp,可以三种复杂度做。
第一层 n^4 分别枚举最后一个1,8,0,7然后分别算区间中有多少个1,8,0,7
第二层 n^2 对于8来说只能从1或者8转移过来,那么其他同理。扫一遍,注意判断一下第一个可转移的8前一定要有1。
第三层 n 上一层的每个数单独记录一下O(1)转移。
【易错点】
1.为0的情况。
2.转移不合法的情况,例如8888818 对于最后一个8只能从1转移过来而不是最前面的8转移而来。
第二题
考查的知识点:
最短路径(spfa等)+最小生成树(kruskal)
【题目及题号】minimum superoj932
【题解】
本题应该先处理每个白点到最近黑点的路径,具体做法是让所有黑点入队跑SPFA,然后记录白点的dis。
对于如何保留最短路径图,可以枚举每一个白点,然后枚举它连出去的边 通过dis[now] =dis[to[i]]+len[i]来判断。
最后对于选出来的边找一棵最小生成树。
【考试ING】
因为题目描述问题,其实我的暴力是写错了的,但是运气很好没有这种数据。
然后在考场上其实是分析出了保留最短路径图找最小生成树的过程,但是我不知道怎么保留最短路径图。
首先是想到了用费用流的思想去记录每个点的前驱结点,但是本题中每个点不一定只有一个前驱结点,所以我就傻逼了。Orz
{
本题提供了一个方法来保留最短路径图:通过dis[now]==dis[to[i]]+len[i] 为真还是为假来判断。
}
第三题
考查的知识点:容斥原理(莫比乌斯函数)
【题目及题号】gcd superoj933
【题解】
本题的数学证明看solution吧。【记得放自己推导的图片】
【注意事项】
1.开longlong
2.空集是否保留推导的时候要判断一下。
题目 | 预估分数 | 实际分数 |
---|---|---|
1807 | 100 | 100 |
minimum | 30及以上 | 30 |
gcd | 30 | 30 |
最后的总结
心好累,我还有3000字的总结,10篇感想。我去年为什么要参加那个什么鬼活动啊!!!!!!!!我要备赛,我要备赛!不想搞那边!!!!讨厌死了!!!!!嘤嘤嘤QAQ