总结:
这次考得还不错,颇有些遗憾的是因为第一题我离正解已经很近了,可惜考试毕竟是考试,一开始的题目看错没看到相邻的条件浪费了很多时间,到后来就没有时间去写正解了。这毕竟也是一种实力,不能说题目看错失误问题就不大。上次的考试两个输出只能模一个没看到导致少了70分。这种失误还是太低级了,也太致命了。这种题目看错对拍都拍不出来。
解析:
1.序列构造:
数据范围:
对于80%的数据,n的范围[1,10],k的范围[1,1000];
对于100%的数据,n的范围[1,10],k的范围[1,105];
解析:因为想可以的方法构造起来有一些难,但是如果取反条件找不能的就非常简单了,对于B,只要找大于他的整倍数,这显然是比较好找的,找倍数的复杂度约等于O(k(log(n)))。唯一只需要维护的就是每一层的前缀和。不要忘了取模就可以A掉了。
2.1/2背包:
数据范围:
对于30%的数据,n的范围[1,20];
对于60%的数据,n的范围[1,2000],V的范围[1,10000];
对于100%的数据,n的范围[1,200000],V的范围[1,500000],物品的价值范围[1,10000];
解析:如果只是单纯的01背包来写的话还是写不过去的。但是其实如果不要被背包所拘束,这就是一道简单的贪心题,判断是奇数还是偶数就好了。但是还有更简单的写法,那就是终态枚举。这就非常简单了,只要枚举1和2的个数,也不用特判了。
3.引水入城
数据范围:
解析:其实如果不发现这个题目中的隐藏条件的话,就做不出来。如果满足灌溉所有城市的话,那么一个点引出的水所灌溉的城市一定是个区间。其实比较好证明,用反证法,假如不是连续的区间,那么中间的城市就没有点可以灌溉了。接下来就是dp了。
反思:
这次考试的成功可能就取决于我这次先打暴力,结果第二题就对拍出好几出错。在考试的时候除了第一题,不要总想这些正解,把该拿到的分拿到了,有能力再写正解。这样分数不会低。