当前搜索:

BJ模拟:帐篷(凸包)

传送门 题解: 凸包。 注意n,mn,mn,m很大时答案为周长,而周长最小则自动满足凸性,我们只需要枚举起始点即可O(n2)O(n2)O(n^2)DP。时间复杂度为O(n3)O(n3)O(n^3)。 n,mn,mn,m很小的时候我们多记录一个前驱即可。 注意DP要从横纵坐标最小的点开始,不...
阅读(21) 评论(0)

YY模拟:绝对伏特加(数学期望)

题意: AlanAlan\text{Alan} 在玩骰子游戏,AlanAlan\text{Alan} 会玩nnn 轮骰子,每轮的数值在[1,K][1,K][1,K] 中随机出现。记aiaia_i 表示nnn 轮投掷中,数值iii 出现的次数,求aF1∗aF2∗...∗aFLa1F∗a2F∗...
阅读(28) 评论(0)

BJ模拟:医院(支配树)

传送门 题解: 新建SSS点连向所有普通护士。 注意到两个特殊护士能放假的等价条件是支配树上的lca为S,一个普通护士和一个特殊护士不能放假的条件是后者在支配树上位于前者子树中,建出支配树即可。 #include <bits/stdc++.h&gt...
阅读(8) 评论(0)

BJ模拟:Circle Of Stone(KMP)

传送门 题意: 桌子上有 nnn 个石头围成一个环。每个石头都有一种颜色。每种颜色可以由小写英文字母表示,所以总共有262626种颜色。不同的石头可能有相同的颜色。 如果每一对相邻的石头都是不同颜色的,则称这 nnn 个石头构成的环是美丽的。两个石头是相邻的充要条件是这两个石头中...
阅读(12) 评论(0)

YY模拟:棋盘(FFT)

题意: 给定n∗mn∗mn*m的棋盘(n≤3,m≤1e5n≤3,m≤1e5n \le 3, m \le 1e5),给定kkk,问有多少种染色方案使得最终棋盘的黑色联通块恰好kkk个(mod998244353)(mod998244353)\pmod{998244353}。 题解: n=3n=3...
阅读(20) 评论(0)

YY模拟:跳蚤(分块)

题意: 维护以下三个操作: 1. 在位置xxx 放置一只每次向右(坐标增大方向)跳ttt 格的跳蚤。 2. 命令所有跳蚤向右跳跃一次,跳跃的距离为各自的ttt。 3. 给定区间[l;r][l;r][l; r],求该区间内跳蚤的个数。 (Q≤1e5,1≤x,ti≤1e5,1≤li≤ri≤...
阅读(20) 评论(0)

BZOJ5252/LOJ#2478. 「九省联考 2018」林克卡特树(凸优化)

传送门 题解: 问题其实是找k+1k+1k+1条点不相交的链(可以为单个点),使得其边权和最大。 显然可以费用流, 且费用流有凸性。 即是: 记iii条链的答案为AnsiAnsiAns_i,则Ansi−Ansi−1≥Ansi+1−AnsiAnsi−Ansi−1≥Ansi+1−AnsiAns...
阅读(57) 评论(0)

BJ模拟:超级绵羊抑或(类欧几里得)

传送门 题意: 给定n,a,bn,a,bn,a,b (n,a,b≤1e9)(n,a,b≤1e9)(n,a,b \le 1e9),求⊕n−1i=0(a+b∗i)⊕i=0n−1(a+b∗i)\oplus _{i=0}^{n-1} (a+b*i) 题解: 把a+b∗ia+b∗ia+b*i除以最低...
阅读(11) 评论(0)

Codeforces 960G:Bandit Blues(倍增FFT/第一类斯特林数)

传送门 题解: 答案等于[n−1a+b−2]∗(a+b−2a−1)[n−1a+b−2]∗(a+b−2a−1)\begin{bmatrix} n-1 \\ a+b-2 \end{bmatrix} *\binom{a+b-2}{a-1} 将最多的袋子剔除后,每个能看到的袋子与他挡住的袋子形成圆排...
阅读(15) 评论(0)

BZOJ5250 / LOJ#2473. 「九省联考 2018」秘密袭击(线段树合并+拉格朗日插值)

传送门 题解: 一个显然的做法是枚举每个点计算贡献,把大于他的记为1,小于他的记为0,问题就转化为树上联通块大小等于k的个数。 稍微转化一下,我们统计树上联通块第kkk大大等于iii的个数,不妨记为aiaia_i,那么:ans=∑i=1Wi(ai−ai+1)ans=∑i=1Wi(ai−ai+...
阅读(43) 评论(0)

BJ模拟:巡游计划(线段树分治+动态凸包 / 李超线段树)

传送门 题意: fi=minj=i−ki−1{fj+aj+|pi−pj|∗bj}fi=minj=i−ki−1{fj+aj+|pi−pj|∗bj}f_i = \min_{j=i-k}^{i-1} \{f_j+a_j+|p_i-p_j|*b_j\} 求fnfnf_n。 题解: 对于kkk的限...
阅读(12) 评论(0)

BJ模拟:矩阵(单调队列)

传送门 题解: 好题啊。。 我们可以枚举起始行然后做单调队列。 注意直接计算贡献是n3n3n^3的,不过我们可以加入元素时不计算贡献,在弹掉元素时只计算它和前面一个的贡献,剩下的贡献和后面的一起算,时间复杂度为O(n2)O(n2)O(n^2)。 #include &l...
阅读(18) 评论(0)

BJ模拟:Period on tree(Hash)

传送门 题解: 一个数ddd是iii循环节,则任何(dj)|i(dj)|i(dj)|i都是循环节,我们只需要试除每一个因子判断循环节是否为其约数即可。 判断用哈希+树状数组,注意预处理逆元,时间复杂度O(nlog2n)O(nlog2⁡n)O(n\log^2 n)。 #include &...
阅读(10) 评论(0)

BJ模拟:String(SAM+LCT+主席树)

传送门 题意: 给字符串SSS,支持: 1.末尾加入字符。 2.查询[l,r][l,r][l,r]中出现两次的最长字符串。 题解: 好题。 考虑离线做法: 动态插入后面的字符,更新前面lll的答案。 当我们插入一个字符rrr的时候,与前面的公共子串为它的后缀。 我们考虑暴力跳fa...
阅读(29) 评论(0)

BJ模拟:and(容斥)

传送门 题解: 我反过来用类似记忆化搜索的方式实现的,具体看代码。 #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef pair &...
阅读(18) 评论(0)

BJ模拟:路径规划(树的直径)

传送门 题解: 边从小到大加入即可,我们只需要动态维护树的直径和经过当前边的最长链。 显然动态树可做,不过为O(nlog2n)O(nlog2⁡n)O(n \log^2 n) 直径有优美的性质,如果合并两颗树S,TS,TS,T,之前的直径分别为(Sx,Sy),(Tx,Ty)(Sx,Sy),(...
阅读(41) 评论(0)

BJ模拟:随机游走(树型期望DP)

传送门 题解: 好题。又是一种经典模型。 先假设没有终止节点。 记fifif_i表示iii到faifaifa_i的期望步数,gigig_i表示faifaifa_i到iii的期望步数。 我们发现:每次询问两点,uuu到lcalcalca的fifif_i,vvv到lcalcalca的gigi...
阅读(19) 评论(0)

WC模拟 : Hello my friend(树形期望DP)

题意: 给一棵树,每个点有黑白两种颜色之一,从根节点(度数大于111)开始随机游走。 你有一个计数器,初始为000,然后反复执行一下过程: 1.如果当前点为黑色或者第一次经过,则计数器值加111。 2.如果当前所在点度数为111,结束这个过程。 3.等概率选取一个和当前所在点直接相连的点走...
阅读(20) 评论(0)

BJ模拟: 简单粗暴的题目(二项式定理)

传送门 题解: 先对原数列求一遍后缀和,记为sisis_i。 则:ansi=∑j=1i(sj−si+1)kansi=∑j=1i(sj−si+1)kans_i = \sum_{j=1}^{i}(s_j-s_{i+1})^k 记Ansi=∑j=1iansiAnsi=∑j=1iansiAns_i...
阅读(19) 评论(0)

BJ模拟:传送门(KD树)

传送门 题解: 注意到这是一个DAGDAGDAG,按照拓扑序进行DP。直接上KDKDKD树即可,记得加玄学剪枝。 #include <bits/stdc++.h> using namespace std; typedef long long L...
阅读(16) 评论(0)
    个人资料
    持之以恒
    等级:
    访问量: 6万+
    积分: 4574
    排名: 8042
    友情链接
    文章分类