05 2018 档案

摘要:Link: BZOJ 3576 传送门 Solution: 算是发现博弈论题目的一部分套路了吧 求SG函数,然后用各种奥妙重重的方式降求解SG的复杂度 此题由于每一组独立,用SG函数肯定是没问题的。 先看暴力 $O(n^2)$ 求解SG的方式: 枚举每个$i$分成的份数$m$,只分为$i/m$和$i 阅读全文
posted @ 2018-05-31 22:54 NewErA 阅读(176) 评论(0) 推荐(0)
摘要:Link: BZOJ 1072 传送门 Solution: 一道直接next_permutation纯暴力就能过的题? 难道2007年时大家都不知道next_permutation这个函数吗 还是用复杂度更优的状压DP吧 设$dp[i][j]$为状态为$i$且对$d$余$j$的个数, 注意$dp[( 阅读全文
posted @ 2018-05-31 22:38 NewErA 阅读(219) 评论(0) 推荐(0)
摘要:Link : BZOJ 1296 传送门 Solution: 还是自己DP做少了啊,这种**题一开始还做错了 由于每一条木板间是独立的,且涉及到染色次数的分配 要想到对木板间进行分组DP 而要实现分组DP就要先求出每条木板上染色$x$次能贡献的最大答案 这个用背包DP$O(n^3)$就行了 Code 阅读全文
posted @ 2018-05-31 22:26 NewErA 阅读(389) 评论(0) 推荐(0)
摘要:Link: BZOJ 3631 传送门 Solution: 这题一眼看上去是裸的树剖,但实际上完全没有必要进行区间加的操作 由于不需要在线的查询,我们可以直接用差分数组来解决此题 而这又有两种方式: 1、先轻重链剖分,按树剖更新时一样处理差分数组 对于每一条连续的部分执行$res[pos[top[x 阅读全文
posted @ 2018-05-31 22:12 NewErA 阅读(165) 评论(0) 推荐(0)
摘要:Link: BZOJ 1805 传送门 Solution: 一道思路比较巧的线段树的题目 首先可以发现,答案和顺序是没有关系的,都是$\sum_{i=1}^n {H_i∗(H_i−1)/2}$。 那么可以比较容易得得到以下的贪心策略: 对于第$i$个船帆,对前$H_i$层中的前$K_i$小的数加1 阅读全文
posted @ 2018-05-31 07:25 NewErA 阅读(385) 评论(0) 推荐(0)
摘要:Link: BZOJ 2817 传送门 Solution: 算是比较神的DP了吧, 首先这个绝对值处理起来很难受,肯定要想办法去掉 于是想到从小到大插入的方式,便不存在绝对值的问题了 插入一个数只有5种情况,我们来分类讨论: 1.插入以后它两边都没有数。(权值$-2*i$,方案数$k+1-l$) 2 阅读全文
posted @ 2018-05-30 22:39 NewErA 阅读(254) 评论(0) 推荐(0)
摘要:Link: BZOJ 3571 传送门 Solution: 和 BZOJ2395 的建模完全相同,(BZOJ2395 题解传送门) 仅仅是将其中的基础问题由最小生成树改成了二分图最大完美匹配 只要将原来的Kruscal模块改为KM算法即可 Code: Review: 1、需要注意的就是最小匹配转为最 阅读全文
posted @ 2018-05-30 09:44 NewErA 阅读(197) 评论(0) 推荐(0)
摘要:Link: BZOJ 2395 传送门 Solution: 算是一类比较经典的模型: 即对于一类经典问题,每点由1个权值化为2个权值,最终求$sigma(val_1)*sigma(val_2)$ 对于此题, 设每棵生成树为坐标系上的一个点,$sigma(x_i)$为横坐标,$sigma(y_i)$为 阅读全文
posted @ 2018-05-30 09:26 NewErA 阅读(260) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2282 Solution: 看到球最大值最小 > 想到二分答案 首先要推导出一些性质: 1、这条路径一定在树的直径上 感性证明:直径上的每个点通向直径末端的路径都是这个方向从该点出发的最长距 阅读全文
posted @ 2018-05-30 08:50 NewErA 阅读(202) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=3083 Solution: 算是一道树剖的模板题吧 除了模板以外,新增的操作就是“换$root$” 此时我们分类讨论即可: 1、$x={root}$ 查询$[1,n]$ (需要特判) 2、$ 阅读全文
posted @ 2018-05-29 22:26 NewErA 阅读(139) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1566 Solution: 思路十分精奇的一道题目 题目要求的是$\sum_{i=1}^k a_i^2$ 明显发现$a_i$是难以求解的,于是考虑如何整体处理$a_i^2$ 由于$a_i^2 阅读全文
posted @ 2018-05-29 19:07 NewErA 阅读(171) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2768 Solution: 一道比较基础的最大流的题目 一般看到将点分为两类的题目就要往网络流方向想吧 建图: 源点向每个初始立场为1的人连权值为1的边。 每个初始立场为0的人向汇点连权值为 阅读全文
posted @ 2018-05-29 17:14 NewErA 阅读(196) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1407 Solution: 由于此题里n的范围很小,因此可以直接从小到大枚举m 那么问题转化为一个判定型问题:已知m,求是否会发生冲突 由于$O(m \cdot n^2)$的复杂度符合要求, 阅读全文
posted @ 2018-05-28 23:05 NewErA 阅读(162) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1145 Solution: 算是一道神题了吧 设 f(abcd)为:当选出的四个数相对大小关系为abcd时,有多少种选择方式 则 res = f(1324) - f(1243) -f(143 阅读全文
posted @ 2018-05-28 22:55 NewErA 阅读(299) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1150 Solution: 思路和洛谷P1484完全相同 只不过将求最大不相邻的点权改为最大不相邻的边权 ([P1484] 种树:http://www.cnblogs.com/newera/ 阅读全文
posted @ 2018-05-28 15:11 NewErA 阅读(255) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1177 Solution: 相当于将大矩形分为3块,取每块中最大的正方形 对于此类分成几块的题目,要想到枚举分割线 一共只有这6种情况: 我们只要先预处理左上左下右上右下四个方向最大答案的前 阅读全文
posted @ 2018-05-28 10:12 NewErA 阅读(230) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1195 Solution: 看到数据范围n<=12,就要往状压DP上想 为了保证后项无关性,首先肯定要先将已被包含的子串去除,这样保证两个串合并时必然是首尾相接 接下来预处理出第i个串接在第 阅读全文
posted @ 2018-05-28 09:48 NewErA 阅读(254) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1305 Solution: 发现res是否可行具有单调性,二分答案 容易看出每次check(mid)用网络流判断,关键在于建图: 1)将每一个人拆成两个点,男孩的两个点为X1,X2,女孩为Y 阅读全文
posted @ 2018-05-27 16:19 NewErA 阅读(179) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1228 Solution: 感觉自己对博弈论的理论一直了解得不够透彻 一篇讲原理的文章:Sprague-Grundy定理是怎么想出来的 现在发现其实可以将SG函数的合成看作为Nim游戏,也顺 阅读全文
posted @ 2018-05-27 11:47 NewErA 阅读(208) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1143 Solution: 一道最长反链的模板题 由Dilworth定理可知:最小链覆盖数(偏序集能划分成的最少的全序集的个数) = 最长反链长度 其对偶定理:最长链长度 = 最小反链覆盖数 阅读全文
posted @ 2018-05-27 09:00 NewErA 阅读(198) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1193 Solution: 能立刻看出贪心算法,但发现在小数据时明显不适用 于是我们采取大数据时贪心,到一定范围时爆搜的算法 (似乎有点像AlphaGo的策略?) 在数据大于10时,我们每次 阅读全文
posted @ 2018-05-26 22:51 NewErA 阅读(294) 评论(0) 推荐(0)
摘要:Brief Intro: 给两个人的坐标,一堵墙和一面镜子,询问两人能否看见对方 Solution: 一道以分类讨论为主的计算几何题, 分别讨论两人坐标连线是否经过墙/镜子即可, 难点在于如何求出点x关于线段[A,B]的对称点: 以上给出一种方法:将线段[x,A]延长一倍,求出线段[x,x']的向量 阅读全文
posted @ 2018-05-26 22:27 NewErA 阅读(506) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1951 Solution: 见过最长的数论题题面....... 一道数论的综合题,求解: \[g^{\sum_{d|n} C_n^d}~mod~p\] 我们先看幂能否化简, 由费马小定理可知 阅读全文
posted @ 2018-05-25 15:41 NewErA 阅读(319) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=3110 Solution: 一道树套树的题,外层是权值线段树,里层是区间线段树。 对于权值线段树的节点 u 表示权值区间 [l, r),其对应的区间线段树的节点 v 表示序列 [l1, r1 阅读全文
posted @ 2018-05-25 11:04 NewErA 阅读(233) 评论(0) 推荐(0)
摘要:Brief Intro: 有n+1个点,其中n个点在X轴上,求从第k个点出发最短的汉密尔顿路径 Solution: 分类讨论+逐个枚举 设dist(i)是第i个点到n+1的距离 cal1(l,r)是n+1到dat[l]~dat[r]的最短距离 cal2(l,r)是dat[k]到dat[l]~dat[ 阅读全文
posted @ 2018-05-25 09:17 NewErA 阅读(218) 评论(0) 推荐(0)
摘要:Brief Intro: 对于四元组(v,c,l,r),求其子序列中v最大的和,并使其满足: 1、Ci+Li+Ri相同 2、L1=0,Rn=0 3、Li=Sigma(C1...Ci-1) Solution: 算是有条件约束的DP吧 设dp[k]为选到k且选k的最大值 对于每个条件,我们这样处理: 1 阅读全文
posted @ 2018-05-25 08:50 NewErA 阅读(161) 评论(0) 推荐(0)
摘要:Brief Intro: 给你n个数,每个数有2*CNT[i]个,让你构造一个序列 使得最终的Y值为W(其余见题面) Solution: 就是一道纯构造的题目: 先把特殊情况特殊处理,接下来考虑一般情况: 如果让每种数字都连续放置,则对于每两个相同的A[i],Y则加一 要想最终Y=W,则要将多余的去 阅读全文
posted @ 2018-05-24 23:26 NewErA 阅读(242) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1499 Solution : 能立即发现这是和动态规划相关的题目 令f[t][i][j]表示第t段时间时,钢琴位于(i,j)处时,从第1段时间到第t段时间的最长滑行路程。 f[t][i][j 阅读全文
posted @ 2018-05-24 15:40 NewErA 阅读(267) 评论(0) 推荐(0)
摘要:Link: BZOJ 2653 传送门 Solution: 针对中位数问题的特殊处理: 假设中位数为$x$,那么把小于$x$的赋值−1,把大于等于$x$的赋值+1 然后看看是否有连续的一段$sum\ge 0$,如有则保证能取到这样的$x$ 如果$sum$大于0则证明答案应该更大,相反答案应该更小 $ 阅读全文
posted @ 2018-05-24 10:30 NewErA 阅读(259) 评论(0) 推荐(0)
摘要:Link: BZOJ 1833 传送门 Solution: 比较明显的数位DP 先预处理出1~9和包括前导0的0的个数:$pre[i]=pre[i-1]*10+10^{digit-1}$ (可以分为首位和其它位来考虑问题) 求$(L,R)$的个数,可以用$(1,R)-(1,L-1)$差分来做 在求$ 阅读全文
posted @ 2018-05-23 22:51 NewErA 阅读(271) 评论(0) 推荐(0)
摘要:Brief Intro: 一棵树,删去若干条边,最大化得到的所有连通块大小的乘积 Algorithm: 这其实算是一类题型吧,虽然这是我做的第一题 树形DP,维护关于子树根节点的信息 此处用dp[i][s],表示以i为根的子树,且i所属连通块的大小为s时的最大值 转移时还是树形DP的常规套路,用类似 阅读全文
posted @ 2018-05-23 22:31 NewErA 阅读(243) 评论(0) 推荐(0)
摘要:Brief Intro: 给3条相同长度的边的中点,问是否存在一个严格凸四边形 Algorithm: 明显只要求出一个点就能利用对称性算出其他点的坐标 设中点K,L,M分别在边AB,BC,CD上,易知B、C分别在KL、LM的垂直平分线上 但仍需一个点才能确定B点的位置 于是我们想办法将现有的信息整合 阅读全文
posted @ 2018-05-23 20:12 NewErA 阅读(424) 评论(0) 推荐(1)
摘要:Link: https://www.lydsy.com/JudgeOnline/problem.php?id=2301 Algorithm: 令$g(n,m)$表示在$1<=x<=n,1<=y<=m$满足$gcd(x,y)$是$k$的$(x,y)$的对数。 那么由容斥原理可得$ans=g(b,d)+ 阅读全文
posted @ 2018-05-23 16:24 NewErA 阅读(150) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2342 Algorithm: 解决回文串问题,一般从对称轴下手。 肯定先跑一边Manacher,(可以只记录长度为偶数的回文串) 枚举x为“主”对称轴,实际上对称轴在x到x+1之间。这样外层 阅读全文
posted @ 2018-05-23 09:20 NewErA 阅读(183) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2809 Algorithm: 很容易看出此题贪心的思路: 只要在每个点的子树中贪心选取费用最小的,使其总和不超过m即可 维护最小值,想到用堆,但普通的堆无法进行合并 于是用到数据结构可并堆/ 阅读全文
posted @ 2018-05-22 14:32 NewErA 阅读(199) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2756 Algorithm: 比较新颖的题目 首先发现是对矩阵中相邻两数进行操作 < > 想到黑白染色 于是Delta(BlackSum)=Delta(WhiteSum) 由于最后要变成同一 阅读全文
posted @ 2018-05-22 10:02 NewErA 阅读(176) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2657 Algorithm: 可以发现一个性质:任意两个三角形之间只可能有一种路径 任意两点只有一条路径 > 树 因此我们将每个三角形看成一个点,建树,找最长链即可(最后记得+1) 正好再巩 阅读全文
posted @ 2018-05-21 15:45 NewErA 阅读(216) 评论(0) 推荐(0)
摘要:BZOJ 传送门 Luogu 传送门 BZOJ的sillyB评测机各种无故CE,只好去Luogu上A了o(╯□╰)o Solution: 从数据范围可以发现,这其实是2道题: (1)一个$R*C$的矩形,每次询问一个子矩形的结果,$R,C\le 200$,$A[i][j]\le 1000$。 (2) 阅读全文
posted @ 2018-05-21 09:07 NewErA 阅读(188) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1913 TIP:(注意,这题只能输出6位才能过,7位都不行wtf?) Algorithm: 此题要从四边形的角度去考虑 对于原图中能形成的任意一个四边形: 1、如为凸四边形,明显只有对角和大 阅读全文
posted @ 2018-05-20 09:31 NewErA 阅读(237) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2743 Algorithm: 此题询问区间内出现次数超过1个的数字 明显在线做无从下手,无法在区间两端无序的情况下统计符合要求的数字 但可以发现,如果左端递增,是可以用树状数组维护右端数据的 阅读全文
posted @ 2018-05-19 12:06 NewErA 阅读(160) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1912 Algorithm: K=0:res=(n-1)*2 每条边恰好走2遍 K=1:res=res-树上最长链+1 由于每形成环,环上的边对答案的贡献都会-1,因此只要将树上最长链连成环 阅读全文
posted @ 2018-05-19 10:00 NewErA 阅读(189) 评论(0) 推荐(0)
摘要:Link: 传送门 Algorithm: DP方程:$dp[i]=max(dp[j]+a*(sum[i]-sum[j])^2+b*(sum[i]-sum[j])+c)$ 方程是显然的,但复杂度为$O(N^2)$,需要优化到$O(N)$,这时就需要斜率优化了 推荐博客:https://www.cnbl 阅读全文
posted @ 2018-05-18 22:58 NewErA 阅读(263) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2007 Algorithm: 由于起点高度为0,终点高度为1,明显没有必要有比1大的点 因此得到结论:原图仅由0和1构成,且0和1不交错排布 那么所有对答案的贡献都来自于0和1的分界线,那么 阅读全文
posted @ 2018-05-18 15:01 NewErA 阅读(444) 评论(0) 推荐(0)
摘要:对于需要比较的函数或STL(最常见的为sort,priority_queue) 要对自创的结构进行运算符重载(sort可以写cmp,一样的效果) 1、只能对小于号重载 cmp函数与其起到相同的作用 2、sort:返回值为真则前后不交换 priority_queue:与sort相反,返回值为真则前后交 阅读全文
posted @ 2018-05-18 13:26 NewErA 阅读(307) 评论(0) 推荐(0)
摘要:Link: https://www.lydsy.com/JudgeOnline/problem.php?id=2006 Algorithm: 对于此类区间最值类问题,我们可以通过控制一端不变来寻找当前点的最值,再综合比较 此题中,在求完前缀和后,在左端点确定的情况下,只要寻找前缀和最大的右端点 为了 阅读全文
posted @ 2018-05-18 12:04 NewErA 阅读(183) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2115 Algorithm: 此题一看到是求异或和最大问题的,立即想到使用线性基解题 最终结果发现是由任意一条1~N的路径和若干个环构成的 证明: 1、如果答案中有环不在任意选取的路径上,可 阅读全文
posted @ 2018-05-18 10:00 NewErA 阅读(199) 评论(0) 推荐(0)
摘要:Brief Intro: 1操作:添加一个数 2操作:寻找一个数v,ki∣GCD(xi,v), xi+v≤si, 且v^xi最大 Algorithm: 以前做的关于异或和字符串的题目比较少,这题就当是补基础了吧 此题对v的限制条件很多,其中V、Xi异或值最大我们发现是一类经典问题 建立Trie树,贪 阅读全文
posted @ 2018-05-17 22:37 NewErA 阅读(356) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2819 Algorithm: 此题一眼看上去树剖,但事实上双log会TLE 那么此时就要用到异或运算最重要的性质:自反性 如果设定一个root,只要计算x和y到root的路径即可,并不要轻重 阅读全文
posted @ 2018-05-17 15:34 NewErA 阅读(131) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2818 Algorithm: 一道比较水的数论题 可以发现只要找到所有素数,对于每个素数计算出1~n/p的互质的数的个数 一看到互质,联想到欧拉函数 预处理欧拉函数的前缀和,结果为sigma 阅读全文
posted @ 2018-05-17 13:29 NewErA 阅读(152) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2964 Algorithm: 一道很新颖的背包问题 此题每个状态要维护的量巨多,而转移方式也巨多,直接写转移方程明显是不现实的 那要考虑的就是能否将这些量分开考虑,它们间是否有明确的约束关系 阅读全文
posted @ 2018-05-17 12:04 NewErA 阅读(421) 评论(2) 推荐(0)
摘要:Problem A,B,C: 简单的模拟,注意A中p mod q时对q=0特殊处理(注意范围) Problem D: Brief Intro: 给定长度为N的数组A,将A中所有连续子序列分成最少的组,使得每组任意一对数的积均为完全平方数 求最终分成组数为K的子序列个数,K属于[1,N] Algori 阅读全文
posted @ 2018-05-16 23:04 NewErA 阅读(150) 评论(0) 推荐(0)
摘要:[Codeforces 19E] Fairy 阅读全文
posted @ 2018-05-14 10:19 NewErA 阅读(478) 评论(0) 推荐(0)
摘要:[Codeforces 17E] Palisection 阅读全文
posted @ 2018-05-14 07:23 NewErA 阅读(220) 评论(0) 推荐(0)
摘要:[Codeforces 7E] Defining Macros 阅读全文
posted @ 2018-05-10 17:12 NewErA 阅读(557) 评论(0) 推荐(0)
摘要:[Codeforces 15E] Triangle 阅读全文
posted @ 2018-05-10 17:12 NewErA 阅读(172) 评论(0) 推荐(0)
摘要:[Codeforces 8E] Beads 阅读全文
posted @ 2018-05-10 17:12 NewErA 阅读(408) 评论(0) 推荐(0)
摘要:[Codeforces 8D] Two Friends 阅读全文
posted @ 2018-05-10 17:12 NewErA 阅读(369) 评论(0) 推荐(0)
摘要:[Codeforces 17C] Balance 阅读全文
posted @ 2018-05-10 17:11 NewErA 阅读(1549) 评论(0) 推荐(0)
摘要:[Codeforces 10E] Greedy Change 阅读全文
posted @ 2018-05-10 17:11 NewErA 阅读(516) 评论(0) 推荐(0)
摘要:需要解决的疑问(Updating) 阅读全文
posted @ 2018-05-09 22:16 NewErA 阅读(262) 评论(0) 推荐(0)
摘要:[P1484] 种树 阅读全文
posted @ 2018-05-01 22:50 NewErA 阅读(346) 评论(0) 推荐(0)