摘要: 首先先说明一个坑点,这里说数不能重复,但是数又可以取全体实数,而且修改代价又和数没有关系,那么我们其实可以直接看成整数的。。。 然后我们是知道中序遍历的:) 所以我们可以区间DP一下,设f[i][j][k]表示i~j建成一棵子树,根的大小大于(否则值不变的时候只会影响1个点,答案没有单调性求值复杂, 阅读全文
posted @ 2018-10-30 20:25 AKCqhzdy 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 垃圾卡常卡空间题毁我青春 这题先转化一下,变成取一些数的异或和为所有数的异或和的方案数 然后这明显是个背包 然而O(nmd)过不去啊,这里一个优化,就是给a[i]排序,那么能够影响的范围只能到a[i]的最高位 由于d的那一维是%d循环的,直接背包就会有锅,又开不下滚动数组,就只能特殊处理%d==0的 阅读全文
posted @ 2018-10-30 19:02 AKCqhzdy 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 二次扫描+换根 有点困思路不清晰啊 阅读全文
posted @ 2018-10-30 16:07 AKCqhzdy 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 这个思路好神仙啊啊啊啊啊啊啊啊 询问求的是a[i]^2 然而我们并不能把a[i]一一算出来(这样只有30pt) 但是我们可以把问题转化成两个人取,取出的序列相同的情况数,因为相同的两两对应所以容易证明这是对的 然后就水了 阅读全文
posted @ 2018-10-30 16:06 AKCqhzdy 阅读(129) 评论(0) 推荐(0) 编辑
摘要: topsort+贪心比较明显,但是图要反向建,因为可能前面很大后面很小就挂了 开始我的想法是对于每个点二分答案然而TLE,但是实际上我们可以特判一下,对于当前点不管,直到不合法的情况出现才利用这个点并记录答案 阅读全文
posted @ 2018-10-30 10:49 AKCqhzdy 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 超车这个东西这么恶心肯定是要暴力求的(自圆其说) 那么分成一个个时间段来搞,然后DP一下 化一下那个速度,耗费时间是在300s~600s之间的 那我们就可以设f[i][j]为走到第i个位置用了j的时间相遇的最小值 这里有个坑点,就是出发时间和到达时间均相等的两辆车也算相遇。。。 阅读全文
posted @ 2018-10-30 08:45 AKCqhzdy 阅读(230) 评论(0) 推荐(0) 编辑