集训总结

集训总结

所以到底怎么写啊啊啊

要不先把比赛总结水了罢

集训第一次比赛总结

A. 防签到题

真的防到签到了啊啊啊

题面:求出下列函数在 $k$ 位无符号整数下的运行结果:

unsigned f(unsigned n){
    unsigned x = n & -x;
    return (n + x) | ((n ^ (n + x)) / x) >> 2;
}

数据范围:$2\leq k \leq 64,0<n<2^k$ 。

赛时精神状态:$k$ 位?直接$\mod 2^k$ 完事(

喜提 $20$。

赛后精神状态:手动模拟?不会

然后玄学修改一波。在模拟过程中对其取模。$\tiny\color{white}但是我真的不知道怎么过的(划掉)现在知道了$

显而易见的,函数执行过程中只有 $n + x$ 有可能出现溢出。所以对其进行取模。然后过了。

ull func(ull n, ull k) {
    ull x = n & -n, y = n + x;
    if(k != 64)y %= (ull)pow(2, k);
    return y | ((n ^ y) / x) >> 2;
}

B. 勇往直前

题面:

小 $q$ 来到了某个关卡,可看作数轴,起点为 $0$,终点为 $m$ 。

关卡中分布着 $n$ 个陷阱,其位置各不相同且按升序编号,第 $i$ 个陷阱位于 $a_i$ 处,初始时的状态为 $t_i$, $0$ 为休眠状态,$1$ 为激活状态 。当小 $q$ 踩中某个陷阱时,陷阱的状态会发生翻转,若踩中时陷阱处于激活状态,还会将小 $q$ 传送回 $b_i$,且此处不会有其它陷阱。

小 $q$ 是个莽夫,只会无脑向前,请你帮他计算到达终点时所走的总路程(不包含陷阱传送的距离)。

数据范围: $1\leq n\leq 2\times10^5,0<b_i<a_i<m\leq10^9,t_i\in\{0,1\}$ ,对任意 $0<i<j\leq n$ 有 $a_i<a_j,a_i\ne b_j$ 。

赛时精神状态:直接模拟,甚至没有加一点优化 :/

然后 $10$ 分,意料之中。

正解: $dp$。

显然,当你达到第 $i$ 个陷阱时,其前方区间为 $[0,i)$ 陷阱已经被激活了。

于是便有转移思路:在到达 $i$ 号陷阱时, $[b_i,a_i)$ 上的所有陷阱都会被踩一遍。$\tiny\color{white}真就不会绕路是吧$

可得转移方程 $f_i=\sum\limits_{j=1}^if_j\times[a_j>b_i]$ 。

但是 $n\leq2\times10^5$ 的范围告诉我们这是一道复杂度为 $O(n\log n)$ 的题目。

所以需要加一点优化。

求和可以使用前缀和进行优化, 为找到 $a_j>b_i$ 明显可以使用二分。

所以完了。

C. 【小粉兔】构造题

这道题表达了作者对于人类智慧的喜爱之情。显然我没有

题面:求长度为 $[1,n]$ 的排列 $p_{[1,n]}$ 使得对于任意 $1\leq i<n$ 有 $p_i+p_{i+1}$ 或 $|p_i-p_{i+1}|$ 为奇质数。

考场精神状态:sokndfakjlawbnlkjdfbaljohbflkjawbfwa

于是不出意外地一分没有。

正解:人类智慧。、

显然原排列被表达为如下序列:

​ $$p={p_k,p_{k-1},p_{k-2},\cdots p_1,p_{2k},p_{2k-1},\cdots p_{qk},p_{qk-1},\cdots p_{(q-1)k+1}}$$,对于任意 $a\in\N$ 满足 $|p_{ak}-p_{(a-1)k+1}|\in\mathbb P$ 且 $\{k,n-k\}\in\mathbb P$。

哥德巴赫猜想:任意一个偶数可以被分为两个质数之和。该猜想在 $n <= 10^{30}$ 范围内已被证明。

根据这个性质,我们便可以得到 $k$ 的值。

但是哥德巴赫猜想只适用于偶数。所以需要再单独给奇数写一个输出。

先输出其本身,然后倒序输出刚才的序列。然后就玄学地过了。

D. 排版

暑假摸鱼去了,然后没做到原题。

但是有人是当时唯一一个过了原题的人,但是这次没过,然后被暴揍(

于是重复一句机房大佬的话:

至今还没补掉。倍增并不在我的装备区中。

比赛总结:

A 无脑做题,比预计分多了20(

B 模拟,没挂分。

C 玄学构造题。可能我需要获取一些人类智慧。

D 所以现在都没补上。

总分 $40$,挂了 $-20$ 分。

阶段性总结

主打一个被序列 $dp$ 爆切,然后看着别人爆切 $dp$ 。

痛苦面具。

集训第二次比赛总结

A. 数三角形

题意:在一个原上均匀分布着 $n$ 个点。每两个点之间有一条连边。$c_{i,j}$ 表示点 $i$ 与点 $j$ 连边的颜色。求图中顶点均在点上的纯色三角形个数。

数据范围:

对于 $30\%$ 的数据,$1\leq n \leq500$ 。

对于 $60\%$ 的数据,$1\le n\le2000$ 。

另有 $20\%$ 的数据,$c_{i,j}=1$ 。

对于所有数据,$1\leq n\leq5000,c_{i,j}\in\{0,1\}$ 。

考场精神状态:由题意得这是一道学霸题。所以我不过情有可原(? $O(n^3)$ $30$ 分加上特判 $20$ 分。能活。

正解:

正难则反。

求出杂色的三角形数量。然后用总数减去杂色三角形数量。然后完了。

具体一点,统计每个点连的颜色数量,存于 $a,b$ 中。

则答案为 $C^3_n-\sum\limits_{i=1}^na_ib_i$ 。

B. 翻转

不会

C. 果果系统

所以 @NotDeep 下次出系统时可不可以说一声啊啊啊啊啊啊

反人类。但是我不是人类。至少没有人类智慧。所以可以反。

题意:

在 $n\times m$ 的网格图内按顺序放置 $k$ 个大小为 $2\times2$ 的正方形。

时间靠前放置的正方形会被靠后的正方形覆盖。

先给出 $k$ 个正方形全部放置后的网格图,求出每个正方形放置的顺序及其左上角坐标。

数据保证正方形不会被覆盖 $2$ 个方格以上,且保证有解。

正解:

大模拟,但是不会

好像要考虑 $4\times4$ 范围内的多种情况来着。

但是考场没打出来。赛后不想打。

D. 凸

同 B。

题意待会补。去打 arc 了。可能能做两道。

posted @ 2023-10-07 19:55  CQWDX  阅读(19)  评论(0)    收藏  举报  来源