cychester

训练记录

gym102759 XXI Open Cup. Grand Prix of Korea

挺考思维的一场,全靠队友C
*A 用二分图上的最小割推出结论 首先对a降序排序,\(\forall k \sum_{i=1}^{k}a_i \leq \sum_{i=1}^{m}min(b_i,k)\),再令\(\sum_{i=1}^{m}min(b_i,k) = \sum_{i=1}^k \sum_{j=1}^{m}(b_j \geq i)\) 用线段树维护即可

D 先求最大生成树,生成树内的点对\((u,v)\)的边权值为树上\((u,v)\)路径的最小边权。可以在求生成树的同时求答案,最后用没有加入生成树的边来check。不同树之间的点对权值为\(1\)

H 二分答案,从后往前check

G DP,只要求出从\((1,0)(-1,0)(0,1)(0,-1)\)出发使用\(i\)\(n\)的指令最后停下的位置,从后往前dp

K 找到一条链走过去再走回来。以\(x\)为第一关键字,\(y\)为第二关键字排序,直接连到底即可。

L 线段树优化DP,考虑添加一个点会对之前的产生什么贡献。先找到最近的\(j,h_j=h_i\),如果不存在\(j\)\(\exist k \in [j,i],h_k<h_i\)则令\([1,i-1]\)内的贡献都+1,否则令\([j + 1, i-1]\)内的贡献+1

gym101775 EC-Final 2017

A 求 \(\sum_{i=k}^nC_n^i\)\(n \leq 10^9, k \leq 10^5\),发现\(k\)不大,倒着求即可

B 发现平均值一定,\(\sum_i^m x\)一定,只需要让\(\sum_i^m x_i^2\) 最小,设\(b_i\)为分配给第\(i\)题的墨水数,则变成让\((\frac{a_i}{b_i})^2\times b_i=\frac{a_i^2}{b_i}\)最小,把每道题放进堆里,贪心取即可。

C 不知道为什么的傻逼题? 队友水过去了

D 把全部合法的数字都搜出来,查询的时候二分

H dp,只需要知道是否存在好听的歌和不好听的歌。存在不好听的歌全部填元音或全部填辅音即可判断。剩下就是判断是否存在好听的歌:定义状态\(f[i][0/1]\)为第\(i\)个为元音/辅音时,前面连续元音/辅音的最短长度,如果最短长度元音\(>=x\)或辅音\(>=y\),说明当前不能是元音/辅音。一直dp下去,碰到不能填的判false即可。

J 差分

K、M 水题

L 打表找到的规律,发现 <7平局,\(7 \leq x \leq 15\)的奇数胜,偶数平局,$16 \leq x $的奇数胜,偶数败。

gym101991 ACPC2018

A 相当于有多少个点对距离在\([L,R]\)内,点分治板子题

B 简单的推了一个跟角度有关系的公式

C 水题

D 离散化,没有白巧克力的一行的贡献和上一行相同,没有白巧克力的一列和上一列贡献相同。

E AC自动机板子

F 对于每个点,算他反转奇数次的期望,所有期望加起来就是答案

*G 有趣的题,对于一个固定的右端点\(j\)\(gcd(a_i,a_{i+1}...a_j)\)不同的\(i\)最多只有\(log\)个,找到所有改变的位置。处理询问时先对\(D\)再对\(R\)进行排序,用线段树维护答案。由于改变的区间数最多只有\(nlogn\)个,总复杂度为\(nlog^2n\)

H 分块,先找到\(x\)\(\sqrt{n}\)个位置的数,把它们看成一块,暴力从\(1-100\)的数开始搜,如果当前数在块外且剩余步数\(>\sqrt{n}\),则每次跳\(\sqrt{n}\)步,否则跳一步。复杂度为\(O(100T\sqrt{n})\)

I 水题

J 有向量\(OA\)和平面的法向量,发现和向量\(BC\)两两垂直,则可以用板子算出\(BC\)的向量,再根据\(BC\)中点即可算出\(B,C\)的坐标

KL好像都是水题

gym102040 2018 Asia Dhaka

B 简单的数位DP

C 答案就是\(\prod (c_i+1)(c_i+2)/2\),写了个\(O(T\sqrt{n})\)的,发现\(O(Tn)\)也能过。。。

E 水题

F 树上路径交

G 分块,处理出块内\([L,R]\)到每个点的最短距离。查询\(O(\sqrt{n})\)

H 先做一次,找到置换的位置,把循环次数取lcm

I 在六条边上三分,算出点到平面的最短距离。

J 水题

posted on 2021-09-29 16:17  cychester  阅读(56)  评论(0编辑  收藏  举报

导航