上一页 1 2 3 4 5 6 7 8 9 10 ··· 22 下一页
摘要: 题目大意 题解 貌似之前杂题讲过,但是完全忘了 先假设n<=D,否则取个min之类的 首先显然可以差分后变成一次对子树操作,则变为二元组(vi,wi)表示代价为wi,贡献为vi,且除了1以外的子树最多选d个 考虑假的贪心:按照vi/wi从大到小排序,之后按顺序选 发现这样有个性质:当vi/wi>vj 阅读全文
posted @ 2020-11-15 22:03 gmh77 阅读(94) 评论(0) 推荐(0)
摘要: 题目描述 题解 经典魔塔模型( 设(ai,bi)表示一个块的0/1个数,块i在块j前满足biaj<bjai,化一下变成ai/bi>aj/bj 如果没有树的限制就直接选,否则如果有一个劣的节点在上面,优的节点在下面,则选完劣的后必须要选优的,可以把优的和其父亲合并,注意相同时要先合并上面的 用堆从大到 阅读全文
posted @ 2020-11-15 15:06 gmh77 阅读(113) 评论(0) 推荐(0)
摘要: 题目大意 题解 乱搞题,比D简单 首先把相邻的去重,接着按出现次数从大到小标成012,由于0很多所以只考虑12 如果有11或22,则中间一定要插一个0,可能必要的0会多于1和2所以要成对删1122(删其中一个) 先把12出现次数调整相同,然后开始删,如果1122不够则只可能是完全删完,那么删掉121 阅读全文
posted @ 2020-11-15 10:21 gmh77 阅读(159) 评论(0) 推荐(0)
摘要: 题目描述 题解 设每条边都有一个初始为0的边权,每次查询断成两个块后就把两个块的边权+1,最后得到的树上任意两条边权相同的边之间都有一条边权小于其的边,则操作次数为最小边+1 把边权反过来,即初始为k每次把两侧-1,则变为相同的之间有大于其的 考虑dp,设f[i]表示以i为根的子树中能连上来的边的集 阅读全文
posted @ 2020-11-10 22:37 gmh77 阅读(448) 评论(0) 推荐(1)
摘要: 题目描述 题解 70分没想清楚+时间不够=20分 考场上的奇妙做法: 假设每条蛇都没有脑子,不管自己的死活往下吃,那么最后会形成一棵操作树,(u,v,t)表示u在t时间吃了v 显然根不会被吃,所以其相连的有危险,所以它们会放掉自己儿子中时间最大的那个,设其为y父亲为x,则非x外的蛇知道y是最大的,所 阅读全文
posted @ 2020-11-10 21:18 gmh77 阅读(603) 评论(0) 推荐(0)
摘要: 题目大意 一棵黑白灰的树,每次选择一个连通块内的一个子点集将其删掉,不能同时删黑白点,求最少删完的次数 n<=2e5 题解 不是这DE加起来怎么还没有C难写啊 发现把树删成两个连通块不比从外往内删优,因为可以同时删更多的点 又发现灰色点一定不会先删,一定是相邻的点只剩一个时跟着那个点一起删 转化一下 阅读全文
posted @ 2020-11-06 20:15 gmh77 阅读(261) 评论(0) 推荐(0)
摘要: 题目大意 给出n个不减数组,每个数组可以取一段前缀,求恰好取出k个数的最大和 n,k<=3000,Σ|a|<=1e6 题解 比C阳间 显然只会有最多一个选了的数组没有选满,否则找出两个不满的可以将其调整,一定是越调越优 做法1:设f[i,j,0/1]表示当前到i选了j个,是否已经选过一个未满的,写出 阅读全文
posted @ 2020-11-06 19:19 gmh77 阅读(244) 评论(0) 推荐(0)
摘要: 题目大意 给出n条水平线段和m条竖直线段,将其组合成一个多边形满足封闭且边不相交,构造方案 Σn+m<=1e3,len<=1e3 题解 被C搞死了 显然可以类似 这样构造,红色的按照水平大->小、竖直小->大放,黄色的反之 dp设f[i,j]表示放了前i和为j,bitset优化,最后逆推求出方案 问 阅读全文
posted @ 2020-11-02 09:17 gmh77 阅读(346) 评论(0) 推荐(0)
摘要: 题目大意 给出一个无向图,可以删掉若干点,删i的代价是ai,最大化Σ|剩余连通块bi之和|-代价 n,m<=300 题解 看错题后的版本:每删掉一个点对其相连连通块计算贡献,使最后和最大 完全不可做 先删掉一些点,对剩下的一个块里的贡献同为+1或-1,则可以转化为对每个点赋+1/-1/删掉,最终贡献 阅读全文
posted @ 2020-11-01 09:02 gmh77 阅读(300) 评论(0) 推荐(0)
摘要: (以下省去向量符号) 性质:设H是ABC的垂心O是外心,则有OH=OA+OB+OC 证明: 设OD=OB+OC,则OD//AH,有AH=xOD=xOB+xOC 那么OH=OA+AH=OA+xOB+xOC 同理可得OH=OB+BH=yOA+OB+yOC=OC+CH=zOA+zOB+OC 对比得x=y= 阅读全文
posted @ 2020-10-31 19:16 gmh77 阅读(1982) 评论(0) 推荐(1)
摘要: 题目描述 题解 虽然不会做,但是感觉3500还是高了 首先在博弈问题中,如果一个状态的sg=i,那么一定存在一条从该状态出发的长度为i的链 设f[i,j]表示以i结尾,最后差为j的sg,则显然sg不超过√2maxc 所以直接dp存sg,设f[i,j]表示以i结尾,sg为j的最大差,显然随着差的不断减 阅读全文
posted @ 2020-10-29 19:08 gmh77 阅读(285) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-10-26 20:48 gmh77 阅读(17) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-10-26 20:35 gmh77 阅读(7) 评论(0) 推荐(0)
摘要: 题目大意 给出一棵树,每条边边权为0/1,支持动态翻转边权,求每次操作后的最长和为偶数的链长 n<=5e5,5s 题解 lkyyds 还剩40min时胡乱思考,rush了3k然后假了 后来dyp点了一下发现最长链的两个端点一定有至少一个是直径端点 证明:如果直径的操作次数为偶数那么直接选直径,否则考 阅读全文
posted @ 2020-10-25 22:49 gmh77 阅读(304) 评论(0) 推荐(0)
摘要: 题目大意 有n个人,第i个人有一个ai,表示其第[k(2ai)+1,k(2ai)+ai]天在 每天可以给至多一个人发一枚奖牌,求所有人都发了只少K枚奖牌的最小时间 n<=18,K,ai<=1e5 题解 如果能想到hall定理的话就没了 一个人拆成K个点,二分答案,暴力加边,hall定理判断,要预处理 阅读全文
posted @ 2020-10-25 15:54 gmh77 阅读(316) 评论(0) 推荐(0)
摘要: 题目大意 有n个点集,第i个点集的大小为ai,所有点互不相同,一条边连接两个点集中的某一对点,求以点集为单位的生成树个数同时满足每个点只被连最多一次 2<=n<=2e5 题解 直接爬 考虑prufer序上计数,一个度数为x的数的出现次数为x-1,数i的度数为j的方案为A(ai,j) \(\prod_ 阅读全文
posted @ 2020-10-25 07:30 gmh77 阅读(237) 评论(0) 推荐(0)
摘要: 题目大意 一棵树上有m个人,每个人有出现时间、速度以及起点终点,到达终点时会瞬间消失,求最早两人相遇的时间 n,m<=1e5 题解 树剖变成若干线段求交,按照时间排序后set维护即可,相交的两个只可能相邻所以只用考虑相邻两个的 注意考虑k相等的情况 code #include <bits/stdc+ 阅读全文
posted @ 2020-10-24 07:39 gmh77 阅读(135) 评论(0) 推荐(0)
摘要: 题目大意 题解 矩乘线段树 code #include <bits/stdc++.h> #define fo(a,b,c) for (a=b; a<=c; a++) #define fd(a,b,c) for (a=b; a>=c; a--) #define add(a,b) a=((a)+(b)) 阅读全文
posted @ 2020-10-23 19:46 gmh77 阅读(115) 评论(0) 推荐(0)
摘要: 题目大意 n个数,AB交替取走其中一个(取完后位置不变),取的数要和上一个人取得位置相邻,A第一次取或剩下没有相邻的则可以任意取 求当AB都最大化其所取的数之和时的最终结果 n<=3e5,ai<=1e3 题解 不会 当n为偶数时A只会取第一个或者最后一个,然后AB交替取,否则如果取中间的话会分成奇偶 阅读全文
posted @ 2020-10-23 19:23 gmh77 阅读(307) 评论(0) 推荐(1)
摘要: 题目描述 题解 《暴力》 597 考虑如何匹配一个子序列,每次在S串找到最近的T串的下一位匹配 那么设f[s,t]表示已经匹配了s,剩下还能匹配的是t,有前导0 比如[101,0011]可以转移到[1101,001]、[0101,0]、[101,空] 具体可以记f[i,j]表示二进制位为j,在第j位 阅读全文
posted @ 2020-10-23 18:44 gmh77 阅读(158) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 22 下一页