06 2017 档案

摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3681 【题解】 这题和bzoj3218很像,都是有二维限制关系的网络流。 先考虑了bzoj3218是用主席树来建图然后网络流,感觉这题也能这样做(在dfs序上,主席树建图) 后来发现这样好像不 阅读全文
posted @ 2017-06-30 20:16 Galaxies 阅读(444) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3218 【题解】 按照最小割建模,S->x连流量为white的边,x->T连流量为black的边,割掉S->x表示取黑色,割掉x->T表示取白色,一开始加上所有贡献。 考虑奇怪的格子,一定是对于 阅读全文
posted @ 2017-06-29 20:54 Galaxies 阅读(619) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4842 【题解】 同 http://www.cnblogs.com/galaxies/p/20170627_c.html 输出一个方案就行了 # include <queue> # includ 阅读全文
posted @ 2017-06-28 14:11 Galaxies 阅读(702) 评论(0) 推荐(0)
摘要:【题目大意】 一个合法的引号序列是空串;如果引号序列合法,那么在两边加上同一个引号也合法;或是把两个合法的引号序列拼起来也是合法的。 求长度为$n$,字符集大小为$k$的合法引号序列的个数。多组数据。 $1 \leq T \leq 10^5, 1 \leq n \leq 10^7, 1\leq k 阅读全文
posted @ 2017-06-27 21:27 Galaxies 阅读(484) 评论(1) 推荐(0)
摘要:【题目大意】 有$n$天,每天能吃饭、睡觉、什么事也不干 每天吃饭的愉悦值为$e_i$,睡觉的愉悦值为$s_i$,什么都不干愉悦值为0。 要求每连续$k$天都要有至少$E$天吃饭,$S$天睡觉。 求最大愉悦值。 $k \leq n \leq 1000, 0\leq s_i, e_i \leq 10^ 阅读全文
posted @ 2017-06-27 15:56 Galaxies 阅读(660) 评论(1) 推荐(0)
摘要:【题目大意】 有$n$个位置,每个位置有一个数$x_i$,代表从$i$经过1步可以到达的点在$[\max(1, i-x_i), \min(i+x_i, n)]$中。 定义$(i,j)$的距离表示从$i$到$j$经过多少步,从$j$到$i$经过多少步,这两个取最小值。 求任意两点间最大的距离。 $1\ 阅读全文
posted @ 2017-06-27 14:08 Galaxies 阅读(341) 评论(0) 推荐(0)
摘要:【题目大意】 给出一棵带权树,有两类点,一类黑点,一类白点。 求切断黑点和白点间路径的最小代价。 $n \leq 10^5$ 【题解】 直接最小割能过。。但是树形dp明显更好写 设$f_{x,0/1/2}$表示$x$这个点的子树中,0表示没有带颜色的点连到这个子树的根$x$,1表示黑点连到$x$,2 阅读全文
posted @ 2017-06-27 14:01 Galaxies 阅读(218) 评论(0) 推荐(0)
摘要:【题目大意】 给出一个$n$个数的序列$\{a_n\}$,其中有些地方的数为0,要求你把这个序列填成一个1到$n$的排列,使得: $(a_i, a_j) = 1$,当且仅当$(i, j) = 1$。多组数据。 $n \leq 3\times 10^5, T\leq 10$ CodeForces:无多 阅读全文
posted @ 2017-06-26 17:43 Galaxies 阅读(560) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3688 【题解】 看到K<=10就觉得很py了。 令f[i,j,0/1]表示到第i个数,选了j段,前面是上升/下降的方案数 转移就前面的一坨求和就行了。 然后发现可以在对应的p[i].y的位置插 阅读全文
posted @ 2017-06-25 19:28 Galaxies 阅读(363) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3678 【题解】 好久没写Splay了,看到这题splay很开心码了十分钟写完了交上去,一看怎么T了 仔细一看,插入原来不能暴力插入啊,复杂度会到达$O(nq)$的,只要每次插入100000,再 阅读全文
posted @ 2017-06-25 18:20 Galaxies 阅读(287) 评论(0) 推荐(0)
摘要:【题目大意】 给出平面上$n$个点,求一条连接$n$个点的不相交的路径,使得转换的方向符合所给长度为$n-2$的字符串。 $n \leq 5000$ 【题解】 考虑取凸包上一点,然后如果下一个是‘R',也就是向右转,那么就连到最左的点,这样下一次无论连到哪里都是向右;如果是'L',同理。 由于每次都 阅读全文
posted @ 2017-06-24 20:14 Galaxies 阅读(246) 评论(0) 推荐(0)
摘要:【题目大意】 定义times(a, b)表示用辗转相除计算a和b的最大公约数所需步骤。 那么有: 1. times(a, b) = times(b, a) 2. times(a, 0) = 0 3. times(a, b) = times(b, a mod b) + 1 对于$1 \leq x \l 阅读全文
posted @ 2017-06-24 19:41 Galaxies 阅读(402) 评论(0) 推荐(0)
摘要:【题目大意】 有$n$个人,每个人有一个初始位置$x_i$和一个速度$v_i$,你需要选择若干个人来感染一个傻逼病毒。 当两个人相遇(可以是正面和背面),傻逼病毒会传染,求经过无限大时间后,传染完所有人的方案数。 【题解】 考虑经过无限大时间后结束的数列,一定是按$v_i$排序的。 对于第i个人,如 阅读全文
posted @ 2017-06-24 17:02 Galaxies 阅读(374) 评论(0) 推荐(0)
摘要:【题目大意】 有n个岛屿,第i个岛屿有有向发射站到第$p_i$个岛屿,改变到任意其他岛屿需要花费$c_i$的代价,求使得所有岛屿直接或间接联通的最小代价。 $1 \leq n \leq 10^5, 1 \leq p_i,c_i \leq 10^9$ 【题解】 显然最后是个大环,特判原来就是大环的情况 阅读全文
posted @ 2017-06-23 20:17 Galaxies 阅读(330) 评论(0) 推荐(0)
摘要:【题目大意】 $1 \leq n,m \leq 400$ N字形表示:上图第1行第1个那种;Z字形表示上图第1行第2个那种。 【题解】 很容易得到结论: 考虑如果紫色比绿色先消去,那么黄色一定会比对应的白色先消去(这样才能消去白色)。 然后我们可以知道,设取走$(x, y)$靠左的正方形,要$L(x 阅读全文
posted @ 2017-06-23 19:25 Galaxies 阅读(265) 评论(0) 推荐(0)
摘要:【题目大意】 给一个n个数的序列,q次操作,每次选择区间$[l,r]$,给出数p,对于区间$[l,r]$的每个数$x$,做如下操作: 如果$x > p$,就交换$x$和$p$。求每次操作后$p$的值。 $1\leq n\leq 4\times 10^5, 1\leq q \leq 25000$ 【题 阅读全文
posted @ 2017-06-23 16:53 Galaxies 阅读(258) 评论(0) 推荐(0)
摘要:【题目大意】 给出$\{P_i\}$,求经过以下操作后能够得到的不同序列个数: 第一步,选择$i, j$,交换$P_i,P_j$;第二步,把所有$P_x=i$的$P_x$变为$j$,把所有$P_x=j$的$P_x$变为$i$。 $n \leq 10^5$ 【题解】 显然就是求 给出一个基环内向森林, 阅读全文
posted @ 2017-06-22 14:22 Galaxies 阅读(238) 评论(0) 推荐(0)
摘要:【题目大意】 给你$n$个点,被一个半径为$R$的元圆划分成内(包含边界)、外两个部分。 要连若干线,每个点只能连一条线,不存在重点和三点共线。 线只能连在内部点和外部点之间,线长度不超过$d$。 如果一个外部点$w$和三个内部点$x,y,z$距离都不超过$d$,且两个内部点$x,z$没有和外部点$ 阅读全文
posted @ 2017-06-21 18:06 Galaxies 阅读(424) 评论(0) 推荐(0)
摘要:【题目大意】 询问[L,R]中选若干个数异或起来得到的答案集合大小。多组数据。 对于50%的数据,$R - L \leq 10^4$ 对于100%的数据,$R - L \leq 10^{18}, T \leq 10^2$ 【题解】 考虑50%的数据,暴力线性基即可。 这样的复杂度是$O(T(R-L) 阅读全文
posted @ 2017-06-21 17:32 Galaxies 阅读(257) 评论(0) 推荐(0)
摘要:【题目大意】 给出$n$个三维向量,设当前向量长度为$L$,每次沿着向量等概率走$[0,L]$个长度。一个球每秒半径增加1个长度,直到覆盖位置,每秒耗能为球体积,求总耗能的期望。 设最后半径为R,那么求得就是$ \int_0^R \frac{4}{3}\pi x^3\, dx.$的期望。 $1 \l 阅读全文
posted @ 2017-06-20 19:57 Galaxies 阅读(444) 评论(0) 推荐(1)
摘要:【题目大意】 给出一个n重循环,每重循环有范围$[l, r]$,其中$l$,$r$可能是之前的变量,也可能是常数。求循环最底层被执行了多少次。 其中,保证每个循环的$l$,$r$最多有一个是之前的变量。设所有常数最大值为C。 $1 \leq n \leq 26, 1\leq C \leq 10^5$ 阅读全文
posted @ 2017-06-20 15:17 Galaxies 阅读(364) 评论(0) 推荐(0)
摘要:传送门:https://loj.ac/problem/6102 【题解】 贴一份zyz在知乎的回答吧 https://www.zhihu.com/question/61218881 其实是经典问题 # include <stdio.h> # include <string.h> # include 阅读全文
posted @ 2017-06-19 23:38 Galaxies 阅读(649) 评论(0) 推荐(0)
摘要:传送门:https://loj.ac/problem/6100 【题解】 我们考虑维护从某个端点开始的最长满足条件的长度,如果知道了这个东西显然我们可以用主席树来对每个节点建棵关于右端点的权值线段树,然后区间修改,标记永久化,询问就可以差分了 考虑如何求出某个端点开始的最长满足条件的长度,也就是某个 阅读全文
posted @ 2017-06-19 19:03 Galaxies 阅读(592) 评论(1) 推荐(1)
摘要:传送门:https://loj.ac/problem/6087 【题解】 这垃圾题目卡空间啊。。。 k=1相信大家都会,把所有数异或起来就是答案了。 考虑k=2,把所有数异或起来得到两个答案数的异或值,考虑异或值为1的某一位,这一位一定是一个数为0,一个数为1造成的。 我们对每个二进制位存 这个二进 阅读全文
posted @ 2017-06-19 12:56 Galaxies 阅读(1469) 评论(0) 推荐(0)
摘要:【题目大意】 有一棵n个点的完全二叉树,边权均为1,每个点有小鸟容量c[i] 依次来了m只小鸟,第i只小鸟初始位置在pos[i]上,问来了x只小鸟的时候,怎样安排小鸟的路线可以使得小鸟移动的边权和最小,且每个点的小鸟个数不超过小鸟容量。n,m<=3*10^5 【题解】 一眼看过去费用流 有两种方法 阅读全文
posted @ 2017-06-18 19:47 Galaxies 阅读(260) 评论(0) 推荐(0)
摘要:【题目大意】 求n*n的棋盘,每行每列都有2个黑格子的方案数。 n<=10^7 【题解】 zzq的做法好神奇啊 行列建点,二分图 左边有i个点,右边有j个点的方案数 f[i,j] 左边有i个点,2个已经有1个度,右边有j个点的方案数 g[i,j] g[i,j] = f[i-2,j-1]*j + g[ 阅读全文
posted @ 2017-06-18 18:44 Galaxies 阅读(257) 评论(0) 推荐(0)
摘要:【题目大意】 给出一棵树,求有多少对点(u,v)满足其路径上不存在两个点a,b满足(a,b)=1 n<=10^5 【题解】 考虑找出所有不符合的点对,共有n*ln(n)对,他们要么是祖先->儿子边,要么是不是。 考虑祖先->儿子边,那么一个点在祖先以上,一个点在儿子以下的点对全部无法访问。 考虑另外 阅读全文
posted @ 2017-06-18 16:57 Galaxies 阅读(328) 评论(0) 推荐(0)
摘要:【题目大意】 给出n个数,a[1]...a[n],称作集合S,求 其中f[i] = 2f[i-1] + 3f[i-2],给出f[0],f[1]。mod 99991 n<=100000 【题解】 暴力dp,用矩阵作为存储值,复杂度O(n^2) # include <ctype.h> # include 阅读全文
posted @ 2017-06-17 20:16 Galaxies 阅读(243) 评论(0) 推荐(0)
摘要:【题目大意】 给出n个字符串,求有多少组字符串之间编辑距离为1~8。 n<=200,∑|S| <= 10^6 【题解】 首先找编辑距离有一个n^2的dp,由于发现只找小于等于8的,所以搜旁边16个状态即可。 复杂度O(n^2|S| * 16) # include <vector> # include 阅读全文
posted @ 2017-06-17 16:17 Galaxies 阅读(579) 评论(0) 推荐(0)
摘要:【题目大意】 给一棵树,求有多少条路径满足总和-最大值 是P的倍数 n<=10^5, P<=10^7 【题解】 一看就是点分治嘛 不考虑子树合并,考虑poj1741的做法,每次考虑经过重心的路径,用优先队列,从小到达添加并求答案即可。 容斥下。 # include <queue> # include 阅读全文
posted @ 2017-06-16 23:24 Galaxies 阅读(162) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3052 http://uoj.ac/problem/58 【题解】 树上莫队+带修改,分块大小n^(2/3)即可。 复杂度O(n^(5/3)) # include <math.h> # incl 阅读全文
posted @ 2017-06-15 09:18 Galaxies 阅读(210) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3757 【RE提示】本题不支持提交了,具体可以见discuss,可以通过discuss的方法来做。 【题解】 树上莫队,就是把in/out的DFS序记录下来,每次查找要么查in[a]...in[ 阅读全文
posted @ 2017-06-14 22:19 Galaxies 阅读(357) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2396 【题解】 我们随机一个1*n的矩阵D,根据矩阵乘法的结合律,如果A*B=C,右D*(A*B)=D*C,即(D*A)*B=C,那么矩阵乘法就是O(n^2)的复杂度了。 多随机几次即可。 # 阅读全文
posted @ 2017-06-14 14:42 Galaxies 阅读(239) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2120 http://www.lydsy.com/JudgeOnline/problem.php?id=2453 【题解】 带修改莫队,分块大小n^(2/3),总复杂度O(n^(5/3)) 简单 阅读全文
posted @ 2017-06-14 11:45 Galaxies 阅读(266) 评论(0) 推荐(0)
摘要:【题目大意】 n个点m条边带权无向图,求前k个点之间的最短距离,多组数据。 T<=10,n<=50000,k<=1000 【题解】 首先暴力O(Tknlogn)是过不了的。。。 考虑比暴力优秀一点的做法?随机化! 我们随机一半的点分在A,一半的点分在B,S向A中点连边,边权0;B中点想T连边,边权0 阅读全文
posted @ 2017-06-13 20:30 Galaxies 阅读(794) 评论(4) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3875 【题解】 容易列出dp,但是是有后效性,我们用spfa来去除这种后效性即可,如果一个点可更新,把前面所有点加进来即可。 # include <queue> # include <stdi 阅读全文
posted @ 2017-06-13 15:43 Galaxies 阅读(500) 评论(0) 推荐(0)
摘要:传送门:https://loj.ac/problem/6045 【题解】 由于存在完美匹配,所以选择k个药就要选择>=k个药材,我们要求的是选择k个药正好选择k个药材。 那么定义选一种减肥药的代价为-pi+INF,选一种药材的代价为INF,这样最小割肯定是恰好选k个 那么 最后答案就是最小割 - Σ 阅读全文
posted @ 2017-06-13 14:55 Galaxies 阅读(381) 评论(0) 推荐(0)
摘要:传送门:https://jzoj.net/senior/#main/show/2700 【题目大意】 令n为正整数,S(n)为n的各位数字之和,令 小Z喜欢的数一定能表示成 x * D(x) 这种形式。 小D也是个开朗的人,他知道QQ号码是随出来的。那么,他想知道在区间[L, R]中,他喜欢的数出现 阅读全文
posted @ 2017-06-13 14:16 Galaxies 阅读(788) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4605 【题解】 序列上的第k大我们可以用线段树内套一个能查询序列某些地方有多少数的数据结构来做。 那么平面上很显然就是kdtree。 然后我们要调调重构块大小,大概是2000. 然后发现这样还 阅读全文
posted @ 2017-06-12 20:28 Galaxies 阅读(318) 评论(0) 推荐(0)
摘要:传送门:https://jzoj.net/senior/#main/show/2701 【题目大意】 给出矩阵A,求矩阵B,使得 最小,矩阵B每个元素在[L,R]内 n<=200,1<=Aij,L,R<=1000, L<=R 【题解】 我们二分答案x,然后对行列建点,每行向每列连[L,R]的边,然后 阅读全文
posted @ 2017-06-12 13:29 Galaxies 阅读(205) 评论(0) 推荐(0)
摘要:传送门:https://loj.ac/problem/6029 【题解】 考虑如果有一些近似连续的段 比如 2 2 2 3 3 3,考虑在除3意义下,变成0 0 0 1 1 1,相当于整体-2 又:区间增加很容易造成这种段,所以我们猜测可以暴力维护 用一棵线段树即可。(好像真的能暴力维护啊 我不知道 阅读全文
posted @ 2017-06-11 22:02 Galaxies 阅读(903) 评论(0) 推荐(0)
摘要:传送门:https://loj.ac/problem/6030 【题解】 以下把白称为0,黑称为1. 发现只有全空才是无解,否则考虑构造。 每一列,只要有0的格子都需要被赋值1次,所以设有x列有含有0的格子,则至少要赋值x次。 现在我们就需要一个全1的行来给这些有0的列赋值。 考虑构造一个全1的行。 阅读全文
posted @ 2017-06-11 15:28 Galaxies 阅读(757) 评论(0) 推荐(0)
摘要:传送门:https://loj.ac/problem/6043 【题解】 我们考虑这是个置换,所以一定形成了很多不相交的环。 对于每个环,我们只能选一段、不选、选一段、不选这样交替下去。 显然只有偶环是有解的,所以只考虑偶环。 每个偶环有2种方案(第一个选,第一个不选),直接枚举是O(2^(n/2) 阅读全文
posted @ 2017-06-11 11:46 Galaxies 阅读(627) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1420 http://www.lydsy.com/JudgeOnline/problem.php?id=1319 【题解】 求x^A=B(mod P),其中P是质数。 考虑对两边取log,设g为 阅读全文
posted @ 2017-06-11 11:40 Galaxies 阅读(264) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3307 【题解】 这什么垃圾题啊卡空间卡时间卡栈 然后我会了一种新姿势:人工栈(好像也不难啊喂) 我们发现对于每种物品,只需要在u这地方的权值线段树上+1,v的权值线段树上+1,LCA的权值线段 阅读全文
posted @ 2017-06-10 21:23 Galaxies 阅读(239) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4302 【题解】 出自2015多校-学军 题意大概是给出一个n*m的格子有一个格子(x,y)是坏的,用一些矩形覆盖没有坏的格子,使得每个矩形都有一面靠着边界。求最大的矩形的面积最小。 稍微分析就 阅读全文
posted @ 2017-06-10 19:43 Galaxies 阅读(211) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4196 【题解】 百年不用算法:树链剖分 刚刚推了一发还是很简单的嘛 在支持子树修改的同时支持链修改。 由于子树肯定是在线段树中连在一坨的所以一样修改。 # include <stdio.h> 阅读全文
posted @ 2017-06-10 15:53 Galaxies 阅读(159) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4721 【题解】 维护一个全局增量p后就可以用堆来实现操作了。 发现切割成的也满足单调关系,所以直接用三个队列做就行了。 怎么满足啊?观察。。 # include <queue> # inclu 阅读全文
posted @ 2017-06-10 14:54 Galaxies 阅读(156) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1578 【题解】 由于连续买相当于每天买,第二天卖,然后再买。所以每天最后钱尽量多一定是最优的。 所以对于m天,每天做一次O(n*70w)的完全背包dp即可。 # include <stdio. 阅读全文
posted @ 2017-06-09 22:27 Galaxies 阅读(261) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1577 【题解】 我们把每坨奶牛按s排个序。 对于每坨奶牛,如果车上有空位置就塞。 否则,看下车上是否有奶牛的e值比他大,就把这个奶牛扔下去(当做没上过车),把新的奶牛拉上来(因为更大的区间显然 阅读全文
posted @ 2017-06-09 17:31 Galaxies 阅读(227) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1574 【题解】 贪心把report的点的旁边所有点破坏即可。 # include <stdio.h> # include <string.h> # include <iostream> # i 阅读全文
posted @ 2017-06-09 16:23 Galaxies 阅读(251) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1575 【题解】 动态规划,令f[i,j]表示前i个选了j个,且第i个必选的最小值。 转移就枚举上一个,再暴力算贡献即可。 复杂度O(n^4) # include <stdio.h> # inc 阅读全文
posted @ 2017-06-09 16:09 Galaxies 阅读(179) 评论(0) 推荐(1)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1572 【题解】 这么傻逼的题会想错啊。。。 想到用优先队列维护了但是维护的方向想错了。 按时间排序 用优先队列维护当前p最大的当前时间个。 然后加入 如果不满就加,否则选一个扔掉。最后统计队列 阅读全文
posted @ 2017-06-08 21:50 Galaxies 阅读(208) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1571 【题解】 动态规划,设f[i,j]表示第i天能力值为j最多滑几个坡 可以不滑、选个耗时最小的破滑(预处理),或者学习。 复杂度O(TS*100) 可以把那个S优化掉。 # include 阅读全文
posted @ 2017-06-08 21:28 Galaxies 阅读(194) 评论(0) 推荐(0)
摘要:从前有条离散的山脉,这个离散的山脉由 n 个点组成,每个点的高度为 hi。根据大陆板块的那一套理论,这条山脉的形态会发生变化。具体的,每次大陆板块运动会导致一个区间的山脉高度变化。因为一些不可描述的原因,每次大陆板块运动,会使 l 到 r 中的所有点的高度加上一个等差数列{ai},并且{ai}的公差 阅读全文
posted @ 2017-06-08 15:12 Galaxies 阅读(165) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1233 【题解】 家里网络坏了一天。。。 这题有个很神奇的结论:当底层最小的时候,一定有一种方案叠得最高。 这样就可以dp了。又发现前缀和s是单调递减(从后往前),所以维护单调队列即可。 注释里 阅读全文
posted @ 2017-06-08 15:06 Galaxies 阅读(313) 评论(4) 推荐(1)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1232 【题解】 这种删边的题一般都是最小生成树,考虑边权,因为要往返,所以边权是原来边权*2+两端点权。 这样起点会少算一次。我们求出最小生成树后找一个点权最小的当起点就行了。。 # incl 阅读全文
posted @ 2017-06-07 15:49 Galaxies 阅读(237) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1230 【题解】 线段树裸题啊 # include <stdio.h> # include <string.h> # include <iostream> # include <algorith 阅读全文
posted @ 2017-06-07 15:19 Galaxies 阅读(244) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1231 【题解】 状压dp!f[S][i]表示状态为S,最后一个奶牛为i的方案数,枚举前一个奶牛判断即可。 # include <stdio.h> # include <string.h> # 阅读全文
posted @ 2017-06-07 15:18 Galaxies 阅读(270) 评论(1) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3939 【题解】 f[i][j] = s[i-1][j-1] - sum[a[i][j]] 用cdq分治来处理横坐标,先处理上面的dp值,再讨论上面部分对下面的贡献,然后分治处理下面的dp值即可 阅读全文
posted @ 2017-06-07 14:48 Galaxies 阅读(260) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4430 【题解】 把每只骆驼在第一个人、第二个人、第三个人的位置找出来,然后做三维偏序即可。 排序+cdq分治+BIT # include <stdio.h> # include <string 阅读全文
posted @ 2017-06-07 11:15 Galaxies 阅读(215) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3039 【题解】 最大全1子矩阵。 用单调栈,先处理出来(i,j)向左有多少个连续的1,然后根据这个加入单调栈。 记得加的时候pos需要更新到最后弹出的位置。 # include <stdio. 阅读全文
posted @ 2017-06-06 21:22 Galaxies 阅读(191) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4300 【题解】 令f[i]表示二进制下上一个数第i位为1的最大长度 那么至少有一位这个数和上一个数都为1,就可以转移了。 # include <stdio.h> # include <stri 阅读全文
posted @ 2017-06-06 20:51 Galaxies 阅读(257) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4059 【题解】 考虑分治。定义过程solve(l,r)为判断全在[l,r]范围内的所有连续子序列是不是non-boring的 那么我们预处理每个地方的前一个与它相同的数pre[i]和后一个与它 阅读全文
posted @ 2017-06-06 16:54 Galaxies 阅读(265) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3328 【题解】 真心巧妙。 这个式子看起来不大好,稍作化简。 斐波那契数列第n项是斐波那契矩阵的n次方的左上角的数。 化成矩阵形式。 考虑二项式定理的矩阵形式。 就差一个[i mod k = 阅读全文
posted @ 2017-06-06 10:59 Galaxies 阅读(576) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2318 【题解】 令f[i]表示剩i个石子,A先手赢的概率;g[i]表示剩i个石子,A后手赢的概率。 如果想选的话,f[i]可以通过g[i-1]和g[i]转移来,系数推推即可。同理g[i]可以通 阅读全文
posted @ 2017-06-06 10:22 Galaxies 阅读(176) 评论(0) 推荐(0)
摘要:1. KingdomAndTrees 给出n个数a[1..n],求一个数组b[1..n]满足b严格递增,且b[1]>=1。 定义代价为W = max{abs(a[i]-b[i])},求代价最小值。 n<=50 【题解】 二分代价W,贪心判断。当前肯定越小越优,如果下一个加上当前二分的值,小于等于当前 阅读全文
posted @ 2017-06-05 15:52 Galaxies 阅读(333) 评论(0) 推荐(1)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3262 【题解】 cdq分治。 这题是三维偏序问题。我们先对整体排序,合并相同的,记原来的n为N,剩下的个数为n。 然后对于b排序,把a重新编号为1...n cdq分治的时候呢,我们定义过程so 阅读全文
posted @ 2017-06-05 12:56 Galaxies 阅读(245) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2738 【题解】 整体二分,然后用二维树状数组(单点修改区间查询)统计即可。 不知道为什么跑的特别慢(可能是我的整体二分常数太大?) # include <stdio.h> # include 阅读全文
posted @ 2017-06-05 09:56 Galaxies 阅读(154) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3110 【题解】 整体二分,把op=1的c变成n-c+1这样值域就是[1,2n+1],然后就是第k小了这样好做,最后输出记得变回来。 我们定义过程solve(l,r,al,ar)表示答案在[l, 阅读全文
posted @ 2017-06-05 09:02 Galaxies 阅读(195) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2527 【题解】 整体二分思想,其实就是把一坨二分拿一起处理了。。。 (事实上这题暴力好像。。不需要二分?) 我们定义solve(l,r,al,ar)为当前二分区间为[l,r],在这个区间的公司 阅读全文
posted @ 2017-06-04 21:35 Galaxies 阅读(213) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1758 【题解】 一看就知道是分数规划问题就二分了。 权值全部扣去二分的值x,转成判断是否存在L<=len<=U的路径,权值和>=0 这就是一个点分的问题了。 已经有一个二分了所以里面的点分只允 阅读全文
posted @ 2017-06-03 22:54 Galaxies 阅读(749) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1630 http://www.lydsy.com/JudgeOnline/problem.php?id=2023 【题解】 直接dp,f[i,j]表示第i个种族选了j只蚂蚁的方案数,转移枚举这个 阅读全文
posted @ 2017-06-03 17:41 Galaxies 阅读(213) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3237 【题解】 先写了一个对询问分治然后不断加边的分治。 发现有可能一条边在几乎每个分治区间都会判,就gg了。 然后get一个比较正常的idea,就是我计算总删边次数cnt,先把没删的添加到边 阅读全文
posted @ 2017-06-03 15:59 Galaxies 阅读(202) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4104 【题解】 脑洞+找规律做出来的。。 我用样例作为说明吧 样例给了我们这个 AAAC.A B 看起来没啥用 这是那个矩阵的最后一列对吧。 第一列是什么呢?我们都知道,按字典序排列。 .AA 阅读全文
posted @ 2017-06-03 11:41 Galaxies 阅读(198) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3211 【题解】 区间开根号,由于每个数被开根号不会很多次就变成1,每次我们暴力开根下去,同时记录s[x]表示x这个区间内是不是全是1,如果是就不用开下去了 这样保证了每个数最多被开不多次。 # 阅读全文
posted @ 2017-06-03 11:09 Galaxies 阅读(174) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4897 【题解】 第一次看这题想的是f[l,r]的区间dp发现仅记录这两个好像不能转移啊 会出现abaca这种情况,也就是拿走的段在原序列中不连续。 考虑为什么会出现这个情况,肯定是这三个a里的 阅读全文
posted @ 2017-06-03 09:47 Galaxies 阅读(289) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4025 【题解】 考虑对时间分治,用可撤回的启发式合并并查集来维护连通性。 二分图的条件是没有奇环,用并查集判即可。 对于时间区间[l,r],如果边在这期间都存在,那么就加入并查集,对于剩下的边 阅读全文
posted @ 2017-06-02 23:05 Galaxies 阅读(174) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3969 【题解】 二分答案x,贪心选取,如果选取了i个,有j对,那么要满足i<=2*j*k(不然有数就没位置放了) # include <stdio.h> # include <string.h 阅读全文
posted @ 2017-06-02 21:20 Galaxies 阅读(267) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3709 【题解】 打完怪最后的体力是固定的,设为lst 我们考虑回血量>=扣血量的怪,这些肯定优先打,顺序肯定是按照扣血量从小到大打,这一定是最优策略,打不了就是NIE了 接着由于lst固定,我 阅读全文
posted @ 2017-06-02 20:34 Galaxies 阅读(238) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2017-06-02 20:04 Galaxies 阅读(28) 评论(0) 推荐(0)
摘要:【题目大意】 f(i)=((Af(i-1)+B)/(Cf(i-1)+D)) mod P。 给出f(0), A, B, C, D, P, n,求f(n)。 多组数据T<=1e4 n<=1e18, P <= 1e9, |f(0)|,|A|,|B|,|C|,|D| <= 1e9 保证任何时候存在逆元。 【 阅读全文
posted @ 2017-06-02 15:23 Galaxies 阅读(229) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3685 【题解】 写个set+fread即可。 # include <set> # include <stdio.h> # include <string.h> # include <iostr 阅读全文
posted @ 2017-06-01 16:11 Galaxies 阅读(178) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1391 【题解】 简单最小割建模。 加当前弧优化!!! # include <queue> # include <stdio.h> # include <string.h> # include 阅读全文
posted @ 2017-06-01 15:54 Galaxies 阅读(213) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1070 【题解】 建图非常巧妙 需要仔细思考 我们考虑对第i个工人,倒数第j次修车建点,对于这里面每个点,连到T,流量1费用0表示只能用一次(废话)。 对于每辆车k,都可以连到这个点,流量1,费 阅读全文
posted @ 2017-06-01 15:27 Galaxies 阅读(157) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1066 【题解】 网络流,考虑建模,拆点来满足限制跳多少次即可。 第2000个AC! # include <queue> # include <stdio.h> # include <strin 阅读全文
posted @ 2017-06-01 14:48 Galaxies 阅读(161) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1123 【题解】 tarjan算割点的时候顺便统计即可。 割点的条件是 low[to[i]]>=dfn[x],说明删掉点x这一段就不和其他联通了。 先算不包含祖先的其他连通块的贡献,最后加包含祖 阅读全文
posted @ 2017-06-01 14:28 Galaxies 阅读(389) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1558 【题解】 这题恶心死人了啊。。 网络上题解很多都是看代码看代码。。真是太不负责任了。。我这里详细说一下吧。。 题解在代码下面。 # include <stdio.h> # include 阅读全文
posted @ 2017-06-01 11:04 Galaxies 阅读(947) 评论(0) 推荐(3)