摘要: 问题拆解,好题&难题 发现:每个点经历了一次修改后,若$x_iy_j$(貌似并没有用到?) 考虑线段树分治: 每个询问记录修改时间区间 每个时间段的区间将询问的点按$x$或$y$排序 用动态开点线段树维护最大值算出每个修改的区间 例$H$操作,在长度小于$l$的区域,可能会被$V$操作扫走,所以每次 阅读全文
posted @ 2020-03-23 15:08 starusc 阅读(593) 评论(0) 推荐(0)
摘要: 一个神奇的随机做法 问题等价于将矩形分成$k$组,使得每组有交 每次$random\_shuffle$,把前$k$个强制分$k$组,剩下的依次加入一组,根据交的面积大小比例,选最优的 发现满足条件的就结束 阅读全文
posted @ 2020-03-23 15:07 starusc 阅读(415) 评论(0) 推荐(0)
摘要: 一个结论: 构成递增序列,最少需$Al$个最多$r$个,那么$l$到$r$间的个数都可以实现 $DP$就好,找方案就倒着看是否合法 阅读全文
posted @ 2020-03-23 15:03 starusc 阅读(270) 评论(0) 推荐(0)
摘要: 考虑性质 $n1e5$ SOL: $a_1 a_2+a_3 a_4 a_5$ $a_1 a_2 a_3 a_4+a_5$ 上式相加只剩前面的乘法,所以我们要算的是所有前缀积 $ans=\sum_{i=1}^{n 1}s_i 2 3^{n i 1}+s_n,s_i=\prod_{j=1}^ia_j$ 阅读全文
posted @ 2020-03-22 14:16 starusc 阅读(153) 评论(0) 推荐(0)
摘要: $n17$ SOL: 采用容斥,至多n 1个公司 至多n 2个公司+至多n 3个公司…… 用二进制数枚举每个公司是否选取,然后用 矩阵树定理 求行列式算出方案 时间复杂度$O(2^nn^3)$ 注意数组大小 阅读全文
posted @ 2020-03-21 21:52 starusc 阅读(132) 评论(0) 推荐(0)
摘要: 刚开始一头雾水 不过考虑分解一下 1. 选k个同学不被碾压$ans =C^k_{n 1}$ 2. 不被碾压的同学中至少有一门课成绩大于B神 考虑容斥,$i$个同学完全碾压,剩余不知 $ans =\sum_{i=0}^{k}( 1)^iC^i_k\prod_{j=1}^mC^{k i}_{r_j 1} 阅读全文
posted @ 2020-03-21 16:16 starusc 阅读(183) 评论(0) 推荐(0)
摘要: SOL: $f_i$表示至少含$i$个点的正方形 运用容斥$ans=f_0 f_1+f_2 f_3+f_4$ $f_0$每个正方形可以转为边长个$\sum i (n i+1) (m i+1)$ $f_1$分四块,每块算穿插其中的 我们先看上方那块,向左$l$,向右$r$,向上$u$ 每个扭曲的正方形 阅读全文
posted @ 2020-03-21 15:41 starusc 阅读(160) 评论(0) 推荐(0)
摘要: 树形DP,较复杂 SOL: $f[i][j]i$点向上$j$层都可以被监视最小代价(当前点为第0层) $g[i][j]i$点向下$j$层都无法别监视最小代价(当前点为第1层) 初始值: 需守卫的点:$f[x][0]=g[x][0]=w[x]$ 其余点:$f[x][0]=g[x][0]=0$ 所有点: 阅读全文
posted @ 2020-03-20 23:16 starusc 阅读(171) 评论(0) 推荐(0)
摘要: 显然$ans=\sum^a_{i=1}C^i_a\sum^{min(b,i 1)}_{j=1}C^j_b$但显然超时 SOL: 换一种方式来思考 $a=b$ 一种失败方案翻转即成功方案,答案为(总方案 不输不赢)除以2 不输不赢$\sum_{i=0}^aC_a^iC_a^i=\sum_{i=0}^a 阅读全文
posted @ 2020-03-20 21:40 starusc 阅读(180) 评论(0) 推荐(0)
摘要: 一道好题&难题 转化思想 SOL: 容易发现:我们一定沿着给出的点走动 我们可以把不同方向的线抽化为两个方向,上下 排序后,找到离自己最远的可以到达的点,即是最短(中途停留会变成折线,长度增长) 对每一个种建立单调队列 遇见这种情况,队首会被弹出,然后自己所在的单调队列就只剩下连线点和自己 注:at 阅读全文
posted @ 2020-03-19 19:33 starusc 阅读(197) 评论(0) 推荐(0)
摘要: 利用不等式解题,搜索剪枝 SOL: 首先可以发现保证自己不死和怼大佬是可以分开的 一个$n^2DP$算出最多可以用来怼大佬的天数,问题就转化为用$n$天怼大佬是否成功 先求出所有可能的讽刺值及其天数, 惊人发现竟存的下!看来要多尝试才好 这样攻击一次和零次的都可以轻易判断 攻击两次(讽刺值$f1,f 阅读全文
posted @ 2020-03-19 13:55 starusc 阅读(126) 评论(0) 推荐(0)
摘要: $\sum$ 加乘法$\to$卷积!! 期望时间复杂度$O(nlog_n)$ 写公式一定要简洁明了,凸出重点,不然自己都看不懂 SOL: $ans=\sum (a_i b_i+c)^2=\sum a_i^2+\sum b_i^2+nc^2+2(\sum a_i b_i)c \sum a_ib_i$ 阅读全文
posted @ 2020-03-19 12:27 starusc 阅读(76) 评论(0) 推荐(0)
摘要: 区间新解法 $n,m2e5$ SOL: $L[i],R[i]$分别表示$i$左边和右边第一个比自己大的位置 1. $(L[i],R[i])$产生$p1$贡献,在$R[i]$时刻对$L[i]$更新 2. $(L[i]+1\to i 1,R[i])$产生$p2$贡献,在$R[i]$时刻对$L[i]+1\ 阅读全文
posted @ 2020-03-18 21:00 starusc 阅读(95) 评论(0) 推荐(0)
摘要: 设区间修改加入的差分数组为$d[i]$ 前缀和$\sum^n_{i=1}\sum^i_{j=1}d[j]=\sum_{i=1}^nd[i] (n i+1)=(n+1)\sum^n_{i=1}d[i]+\sum^n_{i=1}d[i] i$ 只需要单独维护$d[i] i$和$d[i]$即可 阅读全文
posted @ 2020-03-18 20:45 starusc 阅读(94) 评论(0) 推荐(0)
摘要: $m1e5$ 套路:题目是splay,就显然不是spaly 单旋与双旋的区别: 若为一条链,单旋完了还是链,复杂度不对 双旋我们判断了如果与父亲及祖先在一条直线上则先转祖先,则不会发生这种情况 SOL: 发现其实树的形态变化并不大 例如将最小值旋至根: 1. 把最小值的儿子当做其父亲的对应儿子 2. 阅读全文
posted @ 2020-03-18 19:14 starusc 阅读(147) 评论(0) 推荐(0)
摘要: 一道线段树水题 注意别被卡精度(无时无刻都要想着强制转换double) 居然写了$100min$,我太弱了!!! 阅读全文
posted @ 2020-03-18 16:48 starusc 阅读(122) 评论(0) 推荐(0)
摘要: 枚举串,方便讨论 $n,m300$ 很容易想到建出AC自动机后暴力高斯消元的$O(n^3m^3)40$分做法 SOL: 这题和 CSTC2006歌唱王国 很像 定义: $a_{i,j,k}$表示$A_i[1,k]$是否等于$A_j[m k+1,m]$ $f_{i,j}$表示$A_i$出现时长度为$j 阅读全文
posted @ 2020-03-18 12:34 starusc 阅读(99) 评论(0) 推荐(0)
摘要: 概率生成函数 $X$是非负整数集上的离散随机变量,那么$X$的概率生成函数为: $F(z)=B(z^X)=\sum_{i=0}^{oo}Pr(X=i)z^i$ 基础性质: 1. $F(1)=\sum_{i=0}^{oo}Pr(X=i)=1$ 2. 一阶导数是期望$E(X)=F'(1)=\sum_{i 阅读全文
posted @ 2020-03-18 11:15 starusc 阅读(170) 评论(0) 推荐(0)
摘要: $n100$ 简单的分数规划+费用流 阅读全文
posted @ 2020-03-17 12:33 starusc 阅读(119) 评论(0) 推荐(0)
摘要: SOL: $f[i][j]$表示$2^i$位,和$\%p=j$的方案数 $g[i][j]$同理,但不含质数 倍增即可 时间复杂度$O(m+p^2log_n)$ 网上还有一种复杂度更高的矩阵乘法做法 $cnt_i$表示$\%p=i$的个数 $f=P^{n 1} V$ 阅读全文
posted @ 2020-03-17 12:06 starusc 阅读(104) 评论(0) 推荐(0)