首先这个题有一个坑点(?):当$n+m 1 k$时无解.~~显然嘛~~ 所以$n,m\leq1000$?假的. 于是我们就可以愉快(?)的搜索了. 但是$k^{n m}$依旧非常大,于是我们开始剪枝. 可行性剪枝:如果剩下的颜色不足以支持剩下的路程,就直接$return$. 我们可以对于同一类数字( ...
分类:
其他好文 时间:
2019-10-30 00:10:37
阅读次数:
178
首先我们可以容易地知道任意区间交换的顺序对答案没有影响. 所以我们可以按照区间的长度进行搜索. 又因为每一种长度的区间只能交换一次,所以我们可以进行剪枝. 对于当前搜索区间的长度$2^x$,我们可以对于每一个长度为$2^{x+1}$的区间,判断它是不是单调递增且相邻两数之间差$1$,如果不是,则打上 ...
分类:
编程语言 时间:
2019-10-30 00:04:39
阅读次数:
115
首先我们可以看出一个性质:取小的一定不比取大的劣.~~显然嘛~~ 于是我们将约翰所需的木板从小到大排序,原材料也按从小到大排序,然后二分一个$mid$表示约翰取几个木板,用搜索$check$一下即可. 几个剪枝: 一.我们可以定义一个全局变量$Waste$表示割下木板后总共浪费的原材料长度. $\t ...
分类:
其他好文 时间:
2019-10-29 23:28:58
阅读次数:
82
一般解法 算法思路: + 对于所有的位置,判断能不能放; + 能放就放,处理; + 不可行,回溯; 剪枝: + 不能在同一行 + 不能在同一列 + 不能在同一斜线 k = (x2 x1) / (y2 y1) ``` ...
分类:
其他好文 时间:
2019-10-29 11:36:29
阅读次数:
129
稍垃圾。因为T1没A。 赶巧前一段时间学了杜教筛,结果因为教练放错题。 然后考场上疯狂yy,最后水到了一个AC。 其实的确挺不公平的,不少人也没学呢。 如果只算T1和T3的分数的话,那70分就是个垃圾。 还有。。。。 又一次盖掉自己70分。。。 想剪枝结果打错了。 在没有用堆跑Dijk时因为队列里的 ...
分类:
其他好文 时间:
2019-10-27 12:43:12
阅读次数:
75
一套很奇怪的题。单调性+神仙dp/搜索+随机化。 但是说实在的,思路都很不错。 考场上显然乱搞没什么好说的。 虽说T2剪枝打错变量名掉了20分。。。 T1:Smooth 暴力各有不同,最暴力的想法就是往队列里不断扔。 有的元素会被扔多次导致队列元素过多。 像线性筛一样,从大到小枚举质因子,保证每个数 ...
分类:
其他好文 时间:
2019-10-24 10:02:34
阅读次数:
102
这种最优解和深度有关的,可以使用迭代加深对dfs进行优化。 但显然普通的IDDFS效率还是不能满足这题的要求,因为直接枚举分母明显是不行的(可能达到1e7),那么我们可以对IDDFS进行上下界剪枝。 下界优化1:我们可以发现,题目要求升序排列,因此可以从上次分母+1开始枚举 下界优化2: 我们发现枚 ...
分类:
其他好文 时间:
2019-10-24 09:39:05
阅读次数:
99
T1看到exgcd比较慌,感觉会写不出来,细看之后发现部分分用不到exgcd, 没有联想到小凯的疑惑那道题,这场最大的问题,重心不合理 T2 n^2暴力很显然,想了一个小剪枝,大样例能跑出来了,然后加了个clock多骗了10分 T3暴力不太好打,想了好久正解,越想越乱,然后就弃了 T1 小凯的疑惑, ...
分类:
其他好文 时间:
2019-10-20 11:26:16
阅读次数:
106
题面 题解 想了想,这道题还是需要大概写一下题解的。 一开始比较显然的推柿子,可以得到$\frac{(b_i-b_j)*a_i*a_j}{(a_j-a_i)*b_i*b_j}<=\frac{A}{B}$的形式,然后暴力$n^2$$Check$就行,这样就有75分了。(加一个很显然的剪枝) 然后正解。 ...
分类:
其他好文 时间:
2019-10-16 13:20:22
阅读次数:
82
A. 毛一琛 $$Meet in the middle$$ 分别搜索前一半,后一半,然后把它们拼凑在一起。 数组开小RP++ B. 毛二琛 C. 毛三琛 随机化+二分剪枝 ...
分类:
其他好文 时间:
2019-10-13 19:01:38
阅读次数:
71