好题
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
2020080模拟赛【横纵坐标互不影响,仙人掌最小割,组合意义翻译式子】
T1 这把我们就遇到了高手了题目描述X∗YX*YX∗Y 的环形网格(左边和右边连通,上边和下边连通)。给出 nnn 个矩形的左下和右上点对,每个矩形可以选择四种方式之一摆放:求 nnn 个矩形能同时覆盖的最大面积。样例:题目分析乍一看非常不可做。仔细思考/打完暴力 感觉这个矩形的形式非常的美妙。恰好是4种方式,横纵坐标各2种。这启示我们可以把横纵坐标分开看,然后把两个的最优答案乘起来。然后问题就变成了一维的,每个矩形变成一条线段,把数轴划分成很多段。那么每段有一个状态,对应每个矩原创 2020-08-09 17:31:29 · 292 阅读 · 0 评论 -
20200730 T3 小B的农场【最大周长空矩形 (单调栈+线段树)】 && 「ROI 2017 Day 2」学习轨迹
小B的农场题目描述n≤3∗105n\le3*10^5n≤3∗105题目分析n2lognn^2\log nn2logn 的做法是枚举左边界,右边界从大到小枚举,维护中点 yyy 轴相邻两点差的最大值,删掉一个点时加入它上下相邻两点的差,双向链表实现。nlognn\log nnlogn 做法:因为是整点,答案至少为 2∗(max(W,H)+1)2*(\max(W,H)+1)2∗(max(W,H)+1),所以答案矩形一定经过 x=W2x=\frac W2x=2W 或 y=H2y=\frac原创 2020-07-30 16:10:20 · 490 阅读 · 0 评论 -
LOJ#2267. 「SDOI2017」龙与地下城【正态分布与中心极限定理】
题目描述:link题目分析:正态分布函数:当 YYY 较小时用 DP/FFT,DP的复杂度是 O(Y∗XY)O(Y*XY)O(Y∗XY) 的,考虑上一轮对下一轮的贡献是一个区间的形式,先打差分标记然后前缀和。当 YYY 较大时用正态分布函数拟合求 [A−nμnσ,B−nμnσ]\left[\frac {A-n\mu}{ \sqrt n\sigma},\frac {B-n\mu}{\sqrt n\sigma}\right][nσA−nμ,nσB−nμ] 的积分,用自适应辛普森,或者C+原创 2020-07-01 17:18:09 · 200 阅读 · 0 评论 -
20200603 hz T3 安排【分数规划,差分→线性约束→半平面交】
题目分析:把题目要求的转化一下,首先二分答案 Z=minx>1dxd1Z=\frac {\min_{x>1} d_x}{d_1}Z=d1minx>1dx,那么就是判断是否存在一组 xix_ixi 满足(mini=1m−1∑j=1n(Ai,j−Z∗Bj)∗xj)≥0,∀xi≥0,∃xi>0\left(\min_{i=1}^{m-1} \sum_{j=1}^n(A_{i,j}-Z*B_j)*x_j\right)\ge 0,\forall x_i\ge 0,\exis...原创 2020-06-04 23:14:18 · 141 阅读 · 0 评论 -
Codeforces1250K. Projectors【网络流求时间占用问题的合法分配方案】
每个讲课必定要用一个高清投影仪,所以我们就是要求的就是在高清投影仪在某些区间必放后,普通投影仪的合法分配方案。因为研讨会既可以用高清投影仪,又可以用普通投影仪,而在当前时刻我们并不知道它到底是用哪一个更优。于是我们要想办法解决普通投影仪在讲课已经占用一部分高清投影仪后的分配问题。我们在考虑普通投影仪的分配方案时并不需要考虑每个讲课跨越的区间具体是什么,而只需要知道每个时刻被多少讲课所包含。比如 [1,4)[1,4)[1,4) 和 [1,3),[2,4)[1,3),[2,4)[1,3),[2,4) 是没原创 2020-05-09 09:40:11 · 241 阅读 · 0 评论 -
20200428 T1 Arithmetic【Δ线段树(每个位置加的值不一样的线段树)】
题目描述:题目分析:(标题取成这样因为实在不知道叫什么好。。)不难发现我们更新线段树时需要根据每个左端点对应的Max和Min进行加减,而不是像普通的线段树那样区间整体加上一个相同的值。考虑我们的线段树需要支持什么操作,记每个位置的变化量为Δ\DeltaΔ(即当区间整体+1时这个位置需要加的量):给区间[l,r][l,r][l,r]每个位置的Δ\DeltaΔ加上一个值 xxx (可正...原创 2020-05-03 20:54:01 · 320 阅读 · 0 评论 -
20200411 T2 画画(数边框涂色正方形个数)
题目描述:原创 2020-04-12 13:36:40 · 382 阅读 · 0 评论 -
模拟赛20200312【区间gcd(DP),棋盘博弈模型,树拓扑序逆序对总数】
T1:题解:因为限制了区间gcd相等,直接DP的话需要知道当前区间以及它的gcd:Code(现在的人写线段树懒标记都不下传的吗。。。):#include<bits/stdc++.h>#define maxn 50005#define fi first#define se secondusing namespace std;const int mod = 99...原创 2020-03-12 18:00:23 · 240 阅读 · 0 评论 -
模拟赛20200228(yyq)【右链+dfs序,子树管辖,聚集水流问题】
T1:管理对998244853998244{\color{red}{8}}53998244853取模题解:知道至少要多少还是不好做,能不能把它转化成暂时只计算这么多个呢?是可以的,因为在一棵树的右链上接一棵子树不会改变原树的dfs序的,所以我们只需要记下右链的长度即可;因为限制关系形成了树形结构,记siz[i]siz[i]siz[i]为iii至少需要管辖的人数,记f[i][j]f[i]...原创 2020-03-02 00:01:59 · 263 阅读 · 0 评论 -
模拟赛20200215【区间异或(差分+bfs+状压),变化边权最小生成树,线性回归方程(绝对值函数、偏导数求最值)】
T1:题解:将[i,i+siz−1][i,i+siz-1][i,i+siz−1]取反,差分一下,可以看成在 iii 异或1,在 i+sizi+sizi+siz 异或1。于是问题转化为使差分数组与原数组的差分数组相同,差分数组的范围为[1,n+1][1,n+1][1,n+1]。原数组中xxx为1,即在差分数组中 xxx 异或 1,x+1x+1x+1 异或 1。可以看出1的个数≤2k\le...原创 2020-02-16 22:52:45 · 229 阅读 · 0 评论 -
模拟赛Day1(20200207) T3 二分题【对树的重心的充分利用】
题目描述:题目分析:先考虑k=nk=nk=n的情况,这是一个经典问题,结论为所有点到重心的距离和。证明:对任意一点uuu,都有dis(pi,pi+1)≤dis(pi,u)+dis(u,pi+1)dis(p_i,p_{i+1})\le dis(p_i,u)+dis(u,p_{i+1})dis(pi,pi+1)≤dis(pi,u)+dis(u,pi+1)那么就有∑i=1ndis(...原创 2020-02-03 23:54:14 · 196 阅读 · 0 评论 -
模拟赛Day1(20200203) T1 垃圾题【分类讨论+枚举+dp解决等价匹配问题】
题目描述:题目分析:看到bbb的长度为5,可以感觉到这题就是在锻炼强大合理的分类讨论能力。首先看bi≤2b_i\le2bi≤2的部分分,即只有两种数字。枚举这两种数为x,yx,yx,y,数量分别为cntx,cntycnt_x,cnt_ycntx,cnty,可以记状态f[i][5]f[i][5]f[i][5],在O((cntx+cnty)∗5)O((cnt_x+cnt_y)*5)O...原创 2020-02-03 22:16:01 · 151 阅读 · 0 评论 -
模拟赛Day1(20200203) T2 数论题【前缀最小逆元】
题目描述:题目分析:逆元可以看做一个伪随机序列,前p\sqrt pp个数的逆元的最小值期望可以缩小到O(p)O(\sqrt p)O(p)级别。所以当p≤109p\le10^9p≤109时可以枚举前p\sqrt pp个数,求出最小逆元,再枚举逆元求出对应的位置,时间复杂度期望O(p)O(\sqrt p)O(p)。具体实现时也可以从小到大枚举iii,记录逆元的最小值mnmnmn,如...原创 2020-02-03 20:37:11 · 159 阅读 · 0 评论 -
省选模拟赛第三场 T1 与非(巧妙的线段树+后缀insert优化 || 思维题)
https://blog.csdn.net/c20180602_csq/article/details/104127785转载 2020-02-01 17:16:42 · 149 阅读 · 0 评论 -
BZOJ4770: 图样 (随机点值求异或最小生成树边权和)
题目描述:n≤50,m≤8n\le50,m\le8n≤50,m≤8题目分析:根据最小生成树有小到大加入边可以将点按照二进制最高位分组,统计所有情况的边权和。Code:#include<bits/stdc++.h>#define maxn 55#define maxm 9using namespace std;const int mod = 258280327;i...原创 2020-01-05 19:59:31 · 324 阅读 · 0 评论 -
LOJ#2018. 「AHOI / HNOI2017」单旋【模拟单旋splay】
题目描述:题目分析:模拟当然不是指直接用splay暴力模拟啦。仔细盯着这个图,想像一下最小值被旋转到根,会发现相当于将最小值的右儿子接到了他的父亲下面,然后他变作根,原来的根变作他的右儿子,其他结构不变,所以我们只需要维护每个点的儿子和父亲以及根是谁,就可以O(1)实现旋转最值。再观察旋转过程中的深度变化,最小值的右儿子深度没有变,其他点深度+1,自己深度变为1。注意到Splay是一棵...原创 2019-12-25 22:21:12 · 257 阅读 · 0 评论 -
LOJ#6580. 「ICPC World Finals 2019」环状 DNA【环形括号序列】
题目描述:给出几种左括号和右括号(用sis_isi和eie_iei表示)的序列(首尾相接),求从哪个位置切开,将不同的括号各自按顺序排成一排,合法括号序列最多。三种括号分别为:(()()), )(, )题目分析:对于一种括号,如果左括号和右括号数不同,无论在哪里切都不合法。而对于左括号和右括号相同的序列,将左括号看做1,右括号看做-1,当且仅当在其前缀取到最小值的后面切开能够得到...原创 2019-12-24 21:33:06 · 169 阅读 · 0 评论 -
省选模拟赛20191217 T2 复活石【狄利克雷卷积快速幂】
题目描述:题目分析:我的做法:考虑最后的iki_kik对g(i)g(i)g(i)的贡献,设i=p1a1p2a2...i=p_1^{a_1}p_2^{a_2}...i=p1a1p2a2...,ik=p1b1p2b2...i_k=p_1^{b_1}p_2^{b_2}...ik=p1b1p2b2...中间的求和符号相当于在算指数由aia_iai降为bib_ibi的方...原创 2019-12-17 20:47:22 · 164 阅读 · 0 评论 -
CSP2019D1T3 树上的数【贪心+链表(并查集)维护偏序】
题目描述:见 洛谷P5659 树上的数题目分析:先看看出题人的题解:如何评价 CSP-J/S 2019 第二轮? 知乎容易想到贪心,每次用最小的数字找到可以匹配的最小编号。如果每次标记一条路径,我们就是要想办法维护一个边的偏序关系:一个点的邻接边相当于形成了一个个链表的关系,选了x就必须接着选y。一次路径标记相当于将路径上的每个点的两条边对应的链表点连接起来。可以从x→y→zx\r...原创 2019-11-23 13:47:42 · 405 阅读 · 0 评论 -
牛客CSP-S提高组赛前集训营5 C 神J上树【树链剖分+倍增/单调栈/区间取min线段树】
题目描述:链接:牛客CSP-S提高组赛前集训营5神树大人和神J来到了神仙树公园。遗憾的是,神仙树公园里没有任何神仙树,只有一棵n个点的普普通通的有根树(以1号点为根)。这棵树每条边有边权。神J打算在这棵树上来回横跳,但神J每次只能从一个节点u跳到它的子孙v,代价为u×dist(u,v)。v是u的子孙当且仅当u在v到根节点的路径上。神J提出了m个询问,每次询问两个点s,t,由于你是神树大人和神...原创 2019-11-08 10:16:19 · 450 阅读 · 0 评论 -
NOIP模拟赛20191030 Star Way To Heaven, God Knows, Lost My Music【Prim, 线段树后缀最大值(李超线段树), 可持久化栈(凸包)】
T1:Star Way To Heaven做多了这种题很容易第一眼想到二分距离然后看上下是否连通,但是6000的n2log显然会T(我信仰了一发之后自己造大数据连1000都要跑3s+。。)再仔细思考一下,答案需要满足小于这个距离的边不能使上下连通,那么至少需要多大的边才能使上下连通呢?最小生成树!上连到下经过的最大边就是我们的答案。O(n2)Prim即可。这启示我们最小值最大除了二分还可以...原创 2019-10-31 21:59:17 · 409 阅读 · 0 评论 -
2019牛客CSP-S提高组赛前集训营1 C 小w的魔术扑克【二选一问题转化为树形选边问题】
题目描述:小w喜欢打牌,某天小w与dogenya在一起玩扑克牌,这种扑克牌的面值都在1到n,原本扑克牌只有一面,而小w手中的扑克牌是双面的魔术扑克(正反两面均有数字,可以随时进行切换),小w这个人就准备用它来出老千作弊。小w想要打出一些顺子,我们定义打出一个l到r的顺子需要面值为从l到r的卡牌各一张。小w想问问你,他能否利用手中的魔术卡牌打出这些顺子呢?输入描述:首先输入一行2个正整数n,k...原创 2019-10-30 15:39:42 · 273 阅读 · 0 评论 -
Codeforces480E Parking Lot【动态(增量)网格最大正方形】
题目描述:题目分析:求的是最大值,我们的答案却在递减,不好做,考虑倒着做,先把所有的障碍加好,再一个一个删除障碍,这样答案就变成递增的了。记当前答案为ans,那么当删除一个障碍之后就只需要考虑包含这个点的正方形对答案的贡献。这里我们要用到悬线法,记录每个点向左和向右最多能延伸的长度L和R。每删除一个障碍只会影响到这一行的悬线,所以可以暴力维护。得到悬线之后考虑怎么检测是否新增了边长为a...原创 2019-10-26 16:21:43 · 246 阅读 · 0 评论