11 2020 档案
摘要:题目大意 一个无限长的数轴,初始0时间人在位置0,接下来在ti时位置xi会出现一个蛋糕,必须要在ti瞬间瞬间接住否则失败 人可以在任意时刻放分身,分身接蛋糕但不能动,至多同时存在一个分身,新放的会取代原来的 判断是否能接完所有蛋糕 n<=5000,坐标时间两两不同 题解 做法很多,但是想出一个阳间做
阅读全文
该文被密码保护。
摘要:题目大意 n个数,有一个初始为0的计数器,每选一个数答案会加计数器的值,然后计数器加上该数 有k次计数器归0的机会,求最大答案 题解 我是sb 正数显然直接从大往小选,然后负数从小往大选,如果和小于0了就考虑使用归0 k次归0等价于k+1个挡板,每个数x的贡献为x*到某个挡板的距离 所以把负数排序从
阅读全文
摘要:题目大意 题解 一开始想dp,然后想不出来直接大力猜结论+胡乱构造 显然答案上界是Σmin(2,边i覆盖次数),手玩样例发现可以构出来且举不出反例 考虑构造,显然需要决策的只有覆盖次数>=2的边,则每次把经过这类边剩余路径最少的那条拿出来,随便找一条经过其的路径定向并更新,这样一定可以构出来,然后发
阅读全文
摘要:题目描述 https://loj.ac/p/6611 题解 当s=0时只用考虑相邻两个,所以设f[i,j]表示做完[i,j]的答案,转移枚举最后一个选的k 如果s!=0,那么发现多出来的i+1,i+2与i无关,所以只需要维护i+1,i+2的操作次数 按删的时间建树,则在f[i,j]中维护左链位置以及
阅读全文
摘要:题目大意 给出长为n(n是偶数)的01串S,每次可以把一个长度为偶数的前缀翻转,构造至多n+1次操作把串S变成串T或输出无解 n<=4000 题解 讲杂题时并没有给出操作次数限制,所以以为可以乱做,想每次翻到末尾,这样是3/2n次 首先把两个合成一组,如果01+10、00、11的个数不相等就无解 然
阅读全文
摘要:题目大意 给出一个排列,定义一个排列是合法的当且仅当标记的数满足单调递增 每次等概率选择一个未标记过的且标记后序列合法的数标记,求期望的标记个数 n<=2000 题解 时间不够咋写6题啊 考虑每个数的贡献,枚举数a[x],以(x,a[x])为原点建坐标系,则二四象限的点选了x就必无贡献,选了一三象限
阅读全文
摘要:题目大意 n<=300,k<=n 题解 网上的做法全是容斥,这里讲一种直接算的方法 首先显然破环成链,因为如果两边相交则无论在哪里破都相交,不相交则都不相交 那么一个连通块有其点范围[l,r],并且[l,r]内没有点跑到连通块外去 现在直接枚举[l,r]来计数,计算min在l,max在r的极大连通块
阅读全文
摘要:题目大意 长为n的序列,求最长众数非唯一子串长度 n<=2e5,ai<=n D1:ai<=min(100,n) 题解 D1: 枚举右端点,显然随着左端点不断右移,一定有某个时刻众数非唯一,因此求出当前众数与其他的相等的最小l之后对长度取max 每次+1-1只会改变1所以用桶维护,因为不好直接存所以写
阅读全文
摘要:题目大意 一个长为n的哈希表,每次在ai处加一个元素,其可以往左或往右找位置,设x为最终位置,则贡献为|ai-x| 对所有的不走出边界的a和所有的方向集合b求和,模p n<=500,p是质数 题解 ll:也是简单题 于是顺便把标爆成了nlogn 一开始以为可以走出边界,后来发现看错了 所以直接设一段
阅读全文
摘要:题目大意 一个从0开始的网格图,只有x&y=0的格子(x,y)存在,显然构成以一棵树 设根为(0,0),初始有一些黑色格子(给出的若干条路径并),A先手,之后AB轮流操作,每次可以把一个黑色格子变白,同时把所有祖先任意变色(各自独立),不能操作者输 现在B想要作弊,每次可以在开始前选一个点把其到根的
阅读全文
摘要:题目大意 给出n个点,求n(n-1)/2条直线据原点距离中第k小的 n<=1e5,k<=n(n-1)/2 题解 结论题 首先二分答案,变成判断一条直线AB是否与圆有交 结论:直线AB与圆有交,当且仅当A的切点连线A1A2和B的切点连线B1B2不相交 证明感受一下 所以直接离散化+树状数组即可 cod
阅读全文
摘要:题目大意 题解 貌似之前杂题讲过,但是完全忘了 先假设n<=D,否则取个min之类的 首先显然可以差分后变成一次对子树操作,则变为二元组(vi,wi)表示代价为wi,贡献为vi,且除了1以外的子树最多选d个 考虑假的贪心:按照vi/wi从大到小排序,之后按顺序选 发现这样有个性质:当vi/wi>vj
阅读全文
摘要:题目描述 题解 经典魔塔模型( 设(ai,bi)表示一个块的0/1个数,块i在块j前满足biaj<bjai,化一下变成ai/bi>aj/bj 如果没有树的限制就直接选,否则如果有一个劣的节点在上面,优的节点在下面,则选完劣的后必须要选优的,可以把优的和其父亲合并,注意相同时要先合并上面的 用堆从大到
阅读全文
摘要:题目大意 题解 乱搞题,比D简单 首先把相邻的去重,接着按出现次数从大到小标成012,由于0很多所以只考虑12 如果有11或22,则中间一定要插一个0,可能必要的0会多于1和2所以要成对删1122(删其中一个) 先把12出现次数调整相同,然后开始删,如果1122不够则只可能是完全删完,那么删掉121
阅读全文
摘要:题目描述 题解 设每条边都有一个初始为0的边权,每次查询断成两个块后就把两个块的边权+1,最后得到的树上任意两条边权相同的边之间都有一条边权小于其的边,则操作次数为最小边+1 把边权反过来,即初始为k每次把两侧-1,则变为相同的之间有大于其的 考虑dp,设f[i]表示以i为根的子树中能连上来的边的集
阅读全文
摘要:题目描述 题解 70分没想清楚+时间不够=20分 考场上的奇妙做法: 假设每条蛇都没有脑子,不管自己的死活往下吃,那么最后会形成一棵操作树,(u,v,t)表示u在t时间吃了v 显然根不会被吃,所以其相连的有危险,所以它们会放掉自己儿子中时间最大的那个,设其为y父亲为x,则非x外的蛇知道y是最大的,所
阅读全文
摘要:题目大意 一棵黑白灰的树,每次选择一个连通块内的一个子点集将其删掉,不能同时删黑白点,求最少删完的次数 n<=2e5 题解 不是这DE加起来怎么还没有C难写啊 发现把树删成两个连通块不比从外往内删优,因为可以同时删更多的点 又发现灰色点一定不会先删,一定是相邻的点只剩一个时跟着那个点一起删 转化一下
阅读全文
摘要:题目大意 给出n个不减数组,每个数组可以取一段前缀,求恰好取出k个数的最大和 n,k<=3000,Σ|a|<=1e6 题解 比C阳间 显然只会有最多一个选了的数组没有选满,否则找出两个不满的可以将其调整,一定是越调越优 做法1:设f[i,j,0/1]表示当前到i选了j个,是否已经选过一个未满的,写出
阅读全文
摘要:题目大意 给出n条水平线段和m条竖直线段,将其组合成一个多边形满足封闭且边不相交,构造方案 Σn+m<=1e3,len<=1e3 题解 被C搞死了 显然可以类似 这样构造,红色的按照水平大->小、竖直小->大放,黄色的反之 dp设f[i,j]表示放了前i和为j,bitset优化,最后逆推求出方案 问
阅读全文
摘要:题目大意 给出一个无向图,可以删掉若干点,删i的代价是ai,最大化Σ|剩余连通块bi之和|-代价 n,m<=300 题解 看错题后的版本:每删掉一个点对其相连连通块计算贡献,使最后和最大 完全不可做 先删掉一些点,对剩下的一个块里的贡献同为+1或-1,则可以转化为对每个点赋+1/-1/删掉,最终贡献
阅读全文