摘要:
【题解】 树链剖分模板题。。 阅读全文
摘要:
【题解】 权值线段树。查询当前牌堆顶的牌并且删掉就好了。 阅读全文
摘要:
洛谷 1144 dijkstra+手写堆 阅读全文
摘要:
【题解】 线段覆盖问题。线段树或者并查集都可以。不离散化居然能过? 阅读全文
摘要:
【题意概述】 给出一个[0,1,000,000,000]的整数数轴,刚开始每个位置都为0,有n个区间加操作,最后询问数轴上最大的数是多少。 【题解】 我写的是离散化后线段树维护区间最值。 其实貌似不用线段树QAQ... 阅读全文
摘要:
【题意】 给出一棵树。现在可以在树中删去m条边,使它变成m+1棵树。要求最小化树的直径的最大值。 【题解】 二分答案。$Check$的时候用$DP$,记录当前节点每个儿子的直径$v[i]$,如果$v[i]+1>mid$,那么就断掉连向儿子的这条边。如果$v[i]+v[j]+2>mid$,那么在i与j 阅读全文
摘要:
【题解】 离散化+Two Pointer. 离散化的时候有些特殊姿势。 阅读全文
摘要:
【题解】 题意没说明白。。其实字典序是指在序列中的位置而不是指a[i]的值。。一开始理解错了,想了好久QAQ 其实就是求出f[i]表示以i为开头的最长上升子序列的长度,然后对于每个询问,O(n)扫一遍贪心地判断就好了。 阅读全文
摘要:
【题解】 需要用到裴蜀定理。 k个瓶子能倒出的燃料的最小值是这k个瓶子的容量的gcd. 那么原问题转化为在n个数中找到k个数使得它们的gcd最大。因为n的范围很小,所以对每个数求出所有因数并排序,最后找出现次数大于等于k的因数就是答案了。 阅读全文
摘要:
【题解】 $i$在$1-->n$的范围内是$n/i$个数的约数。 阅读全文
摘要:
【题解】 因为本题数据范围实在是很小,所以直接写了大暴力。 阅读全文
摘要:
【题解】 二分图匹配。 左边的点是属性值,右边的点是装备。把装备与其对应的两个属性值连边,然后从小到大枚举属性值跑二分图匹配,当无法匹配的时候推出。答案就是当前的属性值-1. 阅读全文
摘要:
洛谷3386 阅读全文
摘要:
【题解】 明显是道数学题。 需要在草稿纸上写写画画,在这里我只写一些结论。 首先我们可以发现,当k恒定时,不管n增加到多大,第k层的最少段数都是不变的。因为我们必定可以找到一种加入一条新的直线的方式,使得这条直线与之前的n条直线的n个交点中,n-1个在第k层的上方,1个在第k层上,且使得原来第k层最 阅读全文
摘要:
【题解】 显然把m拆分成2的幂之和可以做到拼凑出1~m的任意数并且钱袋最少 阅读全文
摘要:
【题解】 设给出的信息为$a[i]$,每个格子的雷数为$f[i]$ 我们可以发现$f[i]=a[i-1]-f[i-1]-f[i-2]$ 也就是说只要确定了前两个格子的情况,全部的情况都可以计算了。 那么我们枚举前两个格子的情况,检查是否合法即可。 阅读全文
摘要:
【题意】 有一个n*m的整数组成的矩阵,现请你从中找出一个x*x的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 【题解】 单调队列。 设原来的矩阵为$a[i][j]$. 先用单调队列处理出每个位置的$b[i][j]=min(a[i][k]),k=j-x+1 --> j$. 再用单调队列处 阅读全文
摘要:
【题解】 贪心。因为有平局的情况所以需要稍微思考,最普通的贪心是不可行的。我们可以构造一个这样的贪心策略:先把a,b排序,若a最弱的打得过b最弱的,那就打;否则,若a最强的打得过b最强的,那就打。否则就用a最弱的与b最强的对战,把自己的损失降到最小。 阅读全文
摘要:
【题解】 Nim游戏。 不是很会证明。自己随便yy了一下。 分三种情况: 1,全部为1,偶数堆时先手胜,否则后手胜; 2,Xor值为0,那么后手胜。因为后手拥有控场权。若先手拿走一整堆,后手可以拿走相同颗数的一堆的全部或者剩下一个,这取决于后手的需要,即总共有多少种颗数的堆。若种类数为偶数,则他全部 阅读全文
摘要:
【题解】 分块。块内排序。块内二分出第一个大于等于c的数。 阅读全文