tg 83 solution

T1

如题,我还没改

T2

暴力出奇迹,骗分过样例,暴搜挂着机,打表拿省一

非传统题考虑先打开grader.cpp看一眼实现
发现这个东西的实现是个meet in the middle
所以我们也别用多项式复杂度解这个问题,反正是提答不用管时限

首先手玩过掉Subtask 1&2
然后考虑得出两个没有啥用的结论
首先对于答案,在答案序列上加一个\(0\)会使总数乘\(2\)
然后非空的要求就是去掉所有\(0\)以后的要求减掉空序列

然后考虑暴搜
首先打好打的Subtask 3&4
发现\(70=C_8^4\),手玩一个这个
4 -1 -1 -1 -1 -1 -1 -1 -1
恰好是\(C^4_8,\)开始正式讲解这个暴搜

整体的思路就是负数全\(-1\),正数任意,
考场钦定所有负数在最后
记负数的个数\(cnt\),第\(i\)只包含正数的子序列和为\(sum_i\)
那么只包含正数的子序列总数\(2^{n-cnt},n\)元素个数
这样一个答案,它合法的子序列数

\(\huge{ans=\sum\limits^{2^{n-cnt}}_{i=1}C_{cnt}^{sum_i}}\)

然后开始暴搜!
组合数\(O(n^2)\)预处理,然后开始迭代加深
多个终端,每次一组数据开搜就完了
每次差不多也就跑\(1\space min\)差不多就有合法解了
深度限制\(1\),可以过掉Subtask 3,4
深度限制\(5\)以内,可以过掉Subtask 5,7,8,9,如果有偶数记得补个\(0\)
深度限制\(9\),可以过掉Subtask 10,11
深度限制\(10\),过12
深度限制\(11\),过6
其实\(6\)的瓶颈在负数个数上

T3

考虑进制
最优的显然就是最高位不高于\(r\)的最高位
并且每一位尽量是\(k-1\)这个样子
这样的话就可以卡满上界,因为做减法会比做除法优
考虑\(l\)限制也是差不多一样的

T4

就预处理出每个位置可以经过的最大矩形
做一遍货车运输就结束了?

最大矩形不好搞,转二维前缀和,然后上二分
然后考虑Kruscal重构树,\(LCA\)点权即为瓶颈路权值

posted @ 2022-11-17 19:54  2K22  阅读(35)  评论(0)    收藏  举报