02 2024 档案

摘要:基础算法 二分。NF0925A,NF1018C,NF1019A(二次函数顶点),NF1110C(第 k 大,随机二分,双指针),Gym104128D(更改贡献方式),P6142(贪心),P2824(转化为 01 排序),NF1011A(三分),CF48F(二分+nth_element 是 \ 阅读全文
posted @ 2024-02-28 20:36 s1monG 阅读(3) 评论(2) 推荐(0) 编辑
摘要:A 给出一个 n 个顶点的有向图,求有多少个长度小于 k 的环(环可以经过重复的结点)。两个环不同当且仅当顶点序列不同。n35,k1e6。 矩阵乘法模板题。枚举起点,求出走 k 步到达自己的方案数。 只需要记录 fi 表示以 \(i\ 阅读全文
posted @ 2024-02-26 21:01 s1monG 阅读(9) 评论(0) 推荐(0) 编辑
摘要:P5892 有一个很明显的 O(n2logn) 暴力,也就是枚举左右端点,然后区间查询前 k 大。 主席树即可维护前 k 大。 考虑优化,盲猜决策单调性,于是用分治法求出。 P4067 答案是 k(k)×k阅读全文
posted @ 2024-02-26 21:01 s1monG 阅读(9) 评论(0) 推荐(0) 编辑
摘要:A 你需要求 n×m 格子里随机撒 k 个点,期望扫多少次使得相邻的格子没有同时有点。 n×m80,k20。 直接状压求出方案数即可。 B 你需要维护一个数组,支持区间求和 或执行覆盖操作 for i:=l to r do a[i]:= 阅读全文
posted @ 2024-02-22 21:27 s1monG 阅读(7) 评论(0) 推荐(0) 编辑
摘要:A 你在平面上有 n 个点,你每次可以从一个点跳到其右下或左上任意的点,| 对每个点 i,求所有点到 i 至少跳多少次的和。 点的坐标值域为 M=2500n2.5e5. 我们先考虑某个点,到所有点跳多少次。首先右下,左上都是跳一次即可。 我们先考虑右 阅读全文
posted @ 2024-02-21 15:06 s1monG 阅读(10) 评论(0) 推荐(0) 编辑
摘要:P4766 [CERC2014] Outer space invaders 不难发现时间的先后顺序是不重要的。所以把时间转化到数轴上。 数据范围提示区间 dp,设 fl,r 表示 [l,r] 时间里面全部消除的代价。 \(f_{l,r}=\max(f_{l,k}+f_{k,r} 阅读全文
posted @ 2024-02-20 20:58 s1monG 阅读(12) 评论(0) 推荐(0) 编辑
摘要:A q 次询问,你需要求一个区间里有多少个子序列满足和整除 m.m20,n,q2e5. 考虑分治,每次处理跨过 mid 的区间,只需要从 mid 开始往左右做背包就行了。 复杂度 O(nmlogn+qm). B [CQOI2008] 传感器网络 只 阅读全文
posted @ 2024-02-20 20:57 s1monG 阅读(10) 评论(0) 推荐(0) 编辑
摘要:A 每道题有做出的时长 t,价值为 k,你需要求最大的 c(c[0,1]): 若 T=t,设一道题做出的时间为 x,那么分数为 f(i,x,c)=ki(1cxT), 在分数和最大的情况下,任意一种办法,使得每道 阅读全文
posted @ 2024-02-20 09:17 s1monG 阅读(6) 评论(0) 推荐(0) 编辑
摘要:P4764 值域为 [l,r] 的生成森林,也就是把值 l 的边拿出来生成森林,其中边 r 的权值和。 我们现在要求所有 ll 边的生成森林中边有哪些。 考虑从大往小加边,设当前加入第条边 (u,v,w)。 因为这条边最小,所以 阅读全文
posted @ 2024-02-18 21:26 s1monG 阅读(12) 评论(0) 推荐(0) 编辑
摘要:A 一个字符串,你要选最多的区间出来,满足两两不交,且右边的区间必须是左边区间的严格子串。 n5e5. 注意到答案是 n 级别的。 那么我们设计一个 dp,设 fi,j 表示 [j,j+i1] 这个区间以及右边是否能选出 i 个。 阅读全文
posted @ 2024-02-17 15:27 s1monG 阅读(8) 评论(0) 推荐(0) 编辑
摘要:A 你有一个数组 a,初始为 0,你要使 aihi,你可以把任意相邻两个 a,一个加一,另一个加二。 问最少操作多少次。n,h1e6。 B 你需要求大小为 n 的环的个数,使得旋转后都不同。 你可以选若干个点出来染上 k阅读全文
posted @ 2024-02-16 15:00 s1monG 阅读(9) 评论(0) 推荐(1) 编辑
摘要:A n 个点,有 m 种操作 (w,l,r),代表贡献是 w,并消除 [l,r] 的所有点。 操作的条件是必须消除一个点,问最多的贡献是多少。n,m300. 考虑从小区间开始操作,不难联想到区间 dp。dpi,j 代表 \([l, 阅读全文
posted @ 2024-02-15 10:43 s1monG 阅读(10) 评论(0) 推荐(0) 编辑
摘要:A 一棵树,q 次询问,每次给定 x,dx,y,dy,你需要找到一个 u 使得 dis(u,x)=dx,dis(v,x)=dyn,q1e6。 稍微转化为对于点 k,找到一个距离为 d 的点,使得不走 x,y 这边子树 阅读全文
posted @ 2024-02-14 21:06 s1monG 阅读(10) 评论(0) 推荐(0) 编辑
摘要:A 一个圆上有 2n 个点,你需要选出 n 个点对连一条线段,其中一些点对已经被选。 问所有点对方案中,联通块个数的和,联通的含义是线段相交,那么两条线段的端点都互相可达。 n300。 线段相交,把圆放到序列上就是区间相交然而不包含。 我们拆贡献,计算每个区间 \([ 阅读全文
posted @ 2024-02-14 20:26 s1monG 阅读(7) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示