2/30
10/10/12
维护一个数列中最大独立点集合的和,即求得$max\{\sum a_{b_i}\},其中b_i单增,b_i-b_{i-1}>1$
$m$次操作,每次修改该数列一个点的数值,询问答案。 $$ n\leq4*10^4 \\ m\leq10^5 $$
线段树维护最大独立点集合的和,维护信息为$mx[o][0/1][0/1]$表示$o$节点的答案,端点的数值选或者没选。
求一个图的多源最短路,给定的边连接的一个点保证在给定的 $k$ 个点中,$q$ 组询问
$ 点数,边数 ^4 , k, q^4$
路径一定是起始点到指定点再到终点,对 $k$ 个点跑最短路即可,询问的时候枚举到哪个指定点算最小值。
循环签到题,略
给定$n$头奶牛的坐标$x_i$和收益$a_i$,你从一个方向(正反都行)开始顺次选若干个奶牛,要求选的奶牛坐标差要单调不下降,求最大收益。$n\leq1000$
$dp[i][j]$表示从$i$转移$j$的最佳收益,正常DP的话还需要枚举一个$k$,复杂度是$O(n^3)$。根据转移方程$dp[i][j]=max\{dp[k][i]\}+a[j],x[i]-x[k]\leq x[j]-x[i]$,发现$dp[k][i]$可以用单调队列维护最大值,所以复杂度降为$O(n^2)$
给定$n$头奶牛的坐标$x_i$和高度$h_i$,问有多少头奶牛满足在$x_i+D\geq x_{now}$的奶牛中至少满足一个$2h_{i}\geq h_{now}$,并且$x_i-D\leq x_{now}$的奶牛中至少满足一个$2h_{i}\geq h_{now}$,
$n\leq5*10^4$
讲所有奶牛按坐标排序,然后预处理一下RMQ维护一下区间奶牛的最大值,在统计时直接查询两端区间最大值是否满足大于二倍关系即可。
有 $k$ 个面值给定的硬币,你需要按顺序买 $n$ 个东西,一个硬币可以买多个,但不找零,求买完所有东西最多能剩下多少钱。
状压dp,$f[S]$ 表示用集合 $S$ 最多能买到的位置,转移的时候枚举用哪个硬币,在前缀和序列上二分即可
平面若干个点,有一个圆心在原点的圆,问有多少对点连线不与圆相交 $N\leq5*10^5$
想了半天发现一个性质,就是对于每一个点过圆做两条切线,对应出一段弧,两个点满足条件当且仅当所对应的两段弧有交。这样就变成了圆弧求交个数问题,()但是最后wa了,不知道为啥
一个圆形的牛圈,每头牛有会从指定的位置开始往后走,直到找到一个空位置进去,问最后没有牛的编号最小的位置是哪个。
模拟,直接从头开始走,转两圈就可以了
0~1h 开局fyh读B ,hxm读A ,fyh误解题意,1wa B,hxm觉得A有难度,开始读D
fyh和wxg想出B wxg开写B
hxm看E fyh看H 得出算法
wxg WA B 开始肉眼调题,hxm写E 并通过 wxg发现线段树写错并通过B
fyh开写H
1~2h fyh通过H hxm开写D wxg,fyh开始读其他题 wxg发现J原题,秒通过
hxm通过D 双倍经验通过I
2~3h wxg写并通过C ,F ,L,fyh开写G,hxmwxg口糊A K
3h fyh通过G hxm开写A,fyh交替写K,直至比赛结束也没有过。