20190927 - 28 后觉 「雅礼Day3 - 4」

我再不开$C++11$编译我就从三楼跳下去$$\text{%%%lsc}$$

Day3

 -lm -O2 -std=c++11 

Before

Day3?

全是Subtask?

1/4?

T1

矩阵?

好了我有一分了不会爆零了 =。=

T2

3 秒

怕不是要命……

怕是不要命……

数据结构预约……

T3

仿佛是原题, kuku 了(不会QnQ)

不对啊,要求变多了……

lsc要笑死了??(脸都紫了)。

During

T1

如果无重叠的就直接搞答案就好了……

事实上,

仿佛亦或和的意义就是

最后统计出现次数为奇数的数的异或和……

Input

10 4
1 1 10 1
5 5 4 4
1 9 4 3
3 3 5 2

 Output

0

sth.

1 0 0 0 0 0 0 0 3 0
1 1 0 0 0 0 0 0 3 3
1 1 3 0 0 0 0 0 3 3
1 1 3 3 0 0 0 0 3 3
1 1 3 3 7 0 0 0 0 0
1 1 3 3 7 7 0 0 0 0
1 1 3 3 7 7 7 0 0 0
1 1 1 1 5 5 5 5 0 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1

 突然想到差分……emm

需要 3 种不同的差分?

还可以改成 2 种?

都试试……

如果成了,复杂度:

O(q+n^2)

完了,出锅了……

有一个前缀和一直交错……

这个题的难点在那个\times\times的三角形二维差分

会有一堆堆的重复……

解决了一个……

分方向更新?

好了,都处理好了QwQ

cerr输出要 3s 哭笑不得

测了半天时间,发现好慢,

后来发现测的是暴力的时间……

拍半天发现没开时间种子……

T2

向WWB致敬!(雾

跑到 2^30 只需要2.143s

枚举随机数?

阶乘复杂度banrbi炸

如果跑DP……+Qj=Subtask 1~4

先拿两分……

emm

设f[s]为选择为s时的贡献。

count(s)==k时更新答案……

必须按count的顺序更新……

完了又写跪了。

T3

这儿又有 1 分……

所以总共有 4 分?

这题还是树上dp么……

贪心?

二分?

Result&After

15
Miemeng 100
03:12:59
2
03:14:00
1
03:14:02
103
03:14:02

Day4

获得两个好字:叒叕

Before

T1

仿佛是很呵呵的DP题

T2

矩阵……

T3

和阿塞拜疆有关系?

先模拟吧,看着很毒瘤?

During

T1

两侧乘积互质,那么两侧的因子一定是不同的

于是把每一个数因数分解并且特判 $1$

这样在 $10^6$ 下 最多有的不同的因子数就是 $7$ 个……

$$
\begin{array}{rcl}
2 \times 3 \times 5 \times 7 \times 11 \times 13 \times 17    &=& 510510  \\
2 \times 3 \times 5 \times 7 \times 11 \times 13 \times 17 \times 19 & = & 9699690
\end{array}
$$

按因子直接枚举子集……

$3^7$ ?

这……

手摸一番……

好像行?

主要是用每一个数去做限制条件

还有剩下的因子(仿佛并没有什么意义……)

先分解质因数并把大于$\sqrt{a_i}$的排在外面……

有个比较可行的小暴力:

先把所有分解的因子压到一个桶里。

每次枚举因子的子集……,然后去取所有的数……

$O(2^PN)$(只能更优)$P$:不同的因子数……

先上个无脑暴力……

大概又有了一个思路,

把所有的数先都乘到一起求一个总共的质因子

然后用容斥,计算每种因子的出现

最后把不可能的情况减去……

复杂度仿佛是 $N^2$ 的?

码力不够啊$QAQ$

各种YY:

    首先可以知道,两个相同的数一定在同一个集合里(除1)

    那么大于$\sqrt{a_i}$的质因子就是独特的(一个数就一个)……

    剩下的质因子也就 $168$ 个。

    剩下的数就可以用 少于 $168+N$ 的复杂度判出交集……

    如果和剩下的没有重复,就可以直接柿子算数。

    只要判判交就好。

    判交也可以直接维护gcd。

    质因数分解处理压vector,$\Theta(N*logM)$并且对每个 vector 维护$gcd$。

    出点锅……

T2

想想怎么乱搞……

记忆化?

现在觉得回到每个点的路径可以直接循环处理。

每个点能够有贡献的仿佛只有两个点,所以最后其实是一棵二叉树……

可以把树建的怪一点保证复杂度。

因为d为20,所以建20层就够。

那么现在怎么建啊$QAQ$

如果暴力建……$2^N$?

我们现在只需要知道有没有那个节点就好了……

其实是一个化边为点??

仿一下ST表……

还是复杂度恐怖。

T3

又有 1 分$QvQ$

感觉很怪……

有没有卡常大师 $N^2$ 过 $100000$

完了,我没思路了……

因为要模拟这个过程,所以猜测作者卡暴力卡的很严……

下一步就是要拿到单增的$Subtask$

感觉可以创反思长度记录……800 字反思了解一下……

跪了……

 After

47
Miemeng 0
03:14:37
21
03:14:38
31
03:14:38
52
03:14:38

看到T1的神奇颜色了嘛……CE……

总结:

Day3还行,想的还可以

Day4跪了。

粘个东西来这里:

/sandbox/1/a.cpp:11:9: error: 'long long int div [2]' redeclared as different kind of symbol
 LL div[2];
         ^
In file included from /usr/include/c++/5/cstdlib:72:0,
                 from /usr/include/c++/5/ext/string_conversions.h:41,
                 from /usr/include/c++/5/bits/basic_string.h:5249,
                 from /usr/include/c++/5/string:52,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from /sandbox/1/a.cpp:1:
/usr/include/stdlib.h:788:14: note: previous declaration 'div_t div(int, int)'
 extern div_t div (int __numer, int __denom)
              ^

div跪了……emm

请开$C++11$编译$\text{T_T}$

说一下:一定要按照用的顺序定义变量啊……

$$\Huge \text{ %%%$\frac{1}{4}$}$$

猜你喜欢

转载自www.cnblogs.com/kalginamiemeng/p/Exam20190927-28.html