12-5和12-6考试总结

day1:
第一题:求 i=1ngcd(i,n) ,我推到了gcd(x,a)=b求a的个数这一步。哪知把b移过来就成了gcd(x/b,a/b)=1就是欧拉函数了。张千帆还提醒我写过,我暑假写polya的时候(就是项链那种题目)曾经用过这结论,现在又忘记了QAQ
第二题:给出平面上N个点,要你求一条路径从一号点到N号点,然后回来,要求每个点只经过一次,且每次只能往前(后)走,而且告诉你两个去和回必须分别经过的点,求最短路。这种一来一回的题可以转化成两个同时从1号出发,记得联赛集训的时候有一道青蛙跳荷叶的题很相似。设F[i][j]表示到i点和j点的最短路,且1到max(i,j)的点都被走过了,每次转移至max(i,j)+1即可。以后dp方程貌似有BUG的时候可以考虑限制转移条件。
第三题:求一个图,删除一条边后变成一个二分图,输出所有的删法。把图的生成树搞出来,然后对于两点颜色相同的边统计个数,这里只讲个数大于1的情况;我们考虑每个端点颜色相同的非树边,那么我们删的边必须在这些非树边在生成树上的交集上(画画图便知道),但是这样可能会把端点颜色不同的边搞出一个奇环来,所以还要考虑一个奇环树边与偶环树边在生成树上的一段交集,如果删除这个集合里面的任意一条边,就会把两个环破坏掉,但会形成一个新的奇环,所以这些交集里的边是不能删的,树链剖分打标记即可。
day2:
第一题是一个构造题,首先把所有人的糖调到基准线下一点点,这样糖是一定会有剩余的,贪心即可。遇到带绝对值的最优策略构造问题时一定要考虑这种方法。
第二题是给出一颗生成树,要你把这颗树补成一个完全图,且给出的那个生成树是唯一最小生成树,求这个完全图的最小权值和。我们知道如果要添加一条非树边的话,这条边必须比树上对应路径任意一条边都大,所以就有了平方的暴力。仔细考虑,我们找到树上最大的边w,那么树被分成了两个子树,设左边个数为a,右边为b,那么左边往右边连边的权值必然为w+1,连(a*b-1)条边,然后递归搞左右子树即可。这样好像还是很慢的,我们反着干,把边从小到大排序,用并查集化删为加。
第三题给你一个有向图,在它上放k个标记,要求每个点都能到一个标记,且每个点都能被一个标记到达。发掘这题的特殊性质,先缩点,发现出度和入度为0的点必须放标记,放完之后,不光满足了这几个点,整个图也被满足了。容易看出这是整个图满足条件的充要条件了,剩下的标记随便放,排列组合暴力递推即可。要多发现题目的性质啊!

你可能感兴趣的:(考试总结)