上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 题解 神仙题。 考虑最后一定是放了一个$1$,然后把其他位置都删掉了。 再考虑到对于序列中的每个位置都对应了一次操作。 我们可以对于每个放$1$的操作,把它这次删掉的位置对应的操作当做它的儿子节点。 这样是一个树形结构,应为最后只能剩下一个$1$,所以这是一个有根树。 于是我们把问题转化为了有根树计 阅读全文
posted @ 2019-06-11 19:30 comld 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题目描述 有一些区间,还有一些点。 问最小的k使得选出任意k个区间,每个点都可以匹配上区间,一个区间只能匹配一次。 题解 考虑对于每一个点,我们有$x$个区间包含它,那么答案的一个下界是$n x+1$。 但是这样没有考虑到一个区间被两个点匹配的情况。 那么我们从左到右做,没到一个点,就把右端点最靠左 阅读全文
posted @ 2019-06-11 17:38 comld 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 题解 我们先把这个排列从$1 \sim 2n$表达出来,然后题面中的每一对数我们可以用一条线把他们连起来,那么在序列中表达出的值是这条线的左端点。 如果一开始每个数都没有限制的话,我们则需要求有哪些数会成为左端点,这个其实就是卡特兰数,求答案的话还需要求一个阶乘。 现在有一些位置有了限制,我们就把有 阅读全文
posted @ 2019-06-11 10:46 comld 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题解 首先我们注意到对于任意一种划分,我们都可以把它调整长度为$(len,len 1,len 2....1)$的。所以我们可以用$(\tt{第一个串的位置,第一个串的长度})$来表示一个划分。 所以我们可以设$dp[i][j]$表示$(i,j)$这种方案是否可行,转移是从后往前的,可以用哈希,因为第 阅读全文
posted @ 2019-06-11 08:49 comld 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题解 考虑激活每个节点时,它的每个儿子都是放满的。 那每一次的操作我们可以用一个二元组来表示$(w_i \sum w_{son},\sum w_{son})$。 表示这一次操作完后的增量和这次操作中石子数达到的峰值。 那么一个节点被操作当且仅当它的所有儿子都被操作。 这样很不好处理,所以我们把整个操 阅读全文
posted @ 2019-06-10 20:32 comld 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 题解 $$ dis=day a+b $$ $$ b= day a+dis $$ 然后就变成了斜率优化。 考虑边分治,每次把两边的凸包求出来。 然后再把两边的凸包做闵可夫斯基和求出新的凸包。 最后把分治求的的所有凸包上的点再做一次凸包即可得到答案凸包。 代码 c++ include define N 阅读全文
posted @ 2019-06-04 20:34 comld 阅读(235) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2019-06-02 08:25 comld 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题解 平面图转对偶图。。 首先我们转的话需要给所有的平面标号,然后找到每条边看看他们隔开了哪两个平面。 做法就是对每个点维护它的所有排好序的出边,然后对于每一条有序边找到它的一条后继边。 如果一直找下去,就会找到一个平面,依次标号就好了。 我们转好了对偶图,$dfs$出对偶图的一颗生成树,然后对于一 阅读全文
posted @ 2019-06-01 14:32 comld 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给一颗n个节点的树,每个边上有一个守卫。有m个居民,每个居民有一个散步路径(两个节点的树上最短路)。一个居民高兴当且仅当他获得了一个宠物或者他散步的路径上所有的守卫都有宠物。求最少需要几个宠物能让所有居民高兴。输出方案。 n,m define inf 2e9 define N 20009 阅读全文
posted @ 2019-05-29 21:49 comld 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 题解 对于两种颜色的染色,我们可以把它看做选择问题。 比如说红色的代价小,所以我们尽可能多的染红色。 然后我们发现有限制的同一行或者同一列内染红色的数量是一段区间。 然后网格上的问题转化为横纵坐标匹配问题。 然后就是一个有上下界的网络流,貌似要判定有无解的话只能最大流? 离散化不要离散限制,还有要特 阅读全文
posted @ 2019-05-29 19:45 comld 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 题解 神仙。 考虑这个循环小数的循环节为$l$。 那么有 $$ \frac{x}{y} \left\lfloor\dfrac{x}{y}\right\rfloor=\frac{xk^l}{y} \left\lfloor\dfrac{xk^l}{y}\right\rfloor $$ $$ x \lef 阅读全文
posted @ 2019-05-29 11:18 comld 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题解 考虑容斥,令集合S为我们钦定S集合必须要在1号节点后面,那么答案为。 $$ ans=\sum_{S}( 1)^{|S|}P(S) $$ 然后这个$P(S)$为$\frac{w_1}{w_1+w_S}$。 这个需要想一想,或者我们考虑一个事情,就是每次死一个人概率的分母不会变,所以我们可以把它补 阅读全文
posted @ 2019-05-29 08:54 comld 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题解 可持久化$KMP$。 那个退回操作我们可以把它看做在操作树上$dfs$,所以我们可以先把这个树弄出来。 对于连续一段串的匹配问题。 我们可以搞个$KMP$自动机,输入当前节点编号也就是$nxt$,输入下一段连续的字符串,输出$nxt$跳完之后的值。 然后我们可以把这个字符串的$fail$树弄出 阅读全文
posted @ 2019-05-28 21:44 comld 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题解 如果只有加法没有减法,那么我们朴素进位的时间复杂度是均摊$O(1)$的。 那么减法的话我们维护一个增量的数,一个减量的数,就是一个存所有$a 0$的变量,一个存所有$a define N 1000002 using namespace std; typedef long long ll; ty 阅读全文
posted @ 2019-05-28 11:38 comld 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题解 先把点分树建出来。 对于吗,每一个询问$(l,r,x)$,我们对于x要找到它在点分树上最靠上的父亲节点使得两点之间的点在$l \sim r$中。 然后问题就变成了从一个根出发,可以经过$l \sim r$的点,能访问的颜色个数。 那么因为有了点分树,所以我们对于每个点$dfs$它的子树的复杂度 阅读全文
posted @ 2019-05-28 07:25 comld 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 题解 区间不用种类的数的个数。 这个问题可以转化为对每个点维护一个$pre$,询问$l \sim r$中,有多少个位置是在$0\sim l 1$之间的。 这个问题可以用二维偏序做。 然后对于区间赋值的操作,可以证明,如果我们找到所有有变化的位置并且把它改掉,它的总更改次数为$O(n+m)$级别的。 阅读全文
posted @ 2019-05-27 18:49 comld 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 自闭 2 阅读全文
posted @ 2019-05-27 18:39 comld 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题解 神仙题。 练习赛的时候想了个假建图。 正解太神仙了。 先把不合法情况判掉。 先对时间离散化,每个时间点开一个点。 然后把他们一次串起来,中间连$(A,0)$的边。 我们先假设所有的飞机都停到$B$上了,然后对于每一架飞机,我们但开一个点。 设这个点为$now$,来的时间为$s$,走的时间为$t 阅读全文
posted @ 2019-05-23 20:12 comld 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 自闭 阅读全文
posted @ 2019-05-23 18:45 comld 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题解 首先考虑一条链的情况。 $O O O O O$ 比如说这样一条链。 每个元素应当是这个元素到结尾这条子链中第一个被抽到的,这个概率手算一下发现它是 $$ \frac{p_i}{\sum_{j=i}^np_j} $$ 所以答案其实就是所有i的积。 $O OO O$ 如果出现这样的情况怎么办? 考 阅读全文
posted @ 2019-05-23 10:16 comld 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 题解 非常有意思的一道题。 首先观察可得最终的不能继续操作的状态一定是所有边都连向$n$的。 我们还可以发现最优的操作一定是依次将每条边调整为连向$n$的。 所以最小的操作次数就是$n 3 $连向$n$的边的条数。 我们假设现在拿着一个多边形,我们把n这个点作为这个多边形的顶端,那么每条边都会有一个 阅读全文
posted @ 2019-05-23 08:40 comld 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一个数列,每次询问区间逆序对数,不强制在线。 题解: 如果不强制在线的话,我们可以离线下来搞一个莫队,每次指针左右移动的时候相当于查当前区间中有多少数比它大或者有多少数比它小,这个需要用树状数组维护,时间复杂度$O(n\sqrt{n}logn)$。 但是$300ms$跑不出来。。。 阅读全文
posted @ 2019-05-19 16:08 comld 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 有N个点(N=0那么这个点为定义为good。现在给这N个点间连上N 1条边,使它们构成一个生成树,定义树中的点为great点当且仅当这个点本身是good点且与其相邻的点中至少有另一个good点。树的价值等于树中所有great点的价值和。定义限制价值树是指价值不大于maxVal的树,问对给定的val[ 阅读全文
posted @ 2019-05-18 14:54 comld 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题解 首先我们从$d(i,j)=0$的情况考虑,我们把所有这样的(i,j)缩到一起,那么对于每个缩好的联通块来说,所有$0$边权的边是可以连通整个联通块的。 这个方案数我们可以dp出来,设f表示i个点的合法联通块个数,g表示没有限制的合法联通块的个数。 $g[i]=(k+1)^{\frac{(i ( 阅读全文
posted @ 2019-05-18 09:17 comld 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 我们定义一棵树的删除序列为:每一次将树中编号最小的叶子删掉,将该节点编号加入到当前序列的最末端,最后只剩下一个节点时将该节点的编号加入到结尾。现在给出一棵n个节点的树,有m次操作: :将v号节点的编号变为当前所有节点编号的$max + 1$ :查询v在当前树的删除序列中是第几号元素 :查询u和v在当 阅读全文
posted @ 2019-05-17 16:55 comld 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题目描述 众所周知卡农是一种复调音乐的写作技法,小余在听卡农音乐时灵感大发,发明了一种新的音乐谱写规则。他将声音分成 n 个音阶,并将音乐分成若干个片段。音乐的每个片段都是由 1 到 n 个音阶构成的和声,即从 n 个音阶中挑选若干个音阶同时演奏出来。为了强调与卡农的不同,他规定任意两个片段所包含的 阅读全文
posted @ 2019-05-16 17:27 comld 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题解 首先一开始所有的线段互不相交。 那么对于第二问来说,一定存在一种方法使得所有线段都朝着一个方向动。 比如说我们要让所有线段从上往下走。 那么上面的线段得向下面的线段连边。 这是一个$DAG$,考虑怎么建出来。 我们可以先用扫描线,还是因为线段互不相交,所以在扫描线移动的过程中,当前所有线段的相 阅读全文
posted @ 2019-05-09 08:50 comld 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 题解 我们发现这道题的值域很大,所以考虑把所有区间端点离散化。 然后我们就设一个$dp[i][j]$表示前i个学校,第i个学校强制选,第i个学校选在了j这个区间的方案数。 转移我们可以枚举第一个选在j这个区间的学校k。 $$ dp[i][j]=blabla \sum_{x=1}^{i 1}\sum_ 阅读全文
posted @ 2019-05-08 15:36 comld 阅读(275) 评论(2) 推荐(0) 编辑
摘要: 题解 模拟题意即可,把每次接过去的子树看做一个点,然后这个关系构成了一棵树。 大力倍增即可。 代码 c++ include define N 100009 define ls tr[cnt].l define rs tr[cnt].r using namespace std; typedef lon 阅读全文
posted @ 2019-05-08 09:26 comld 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定$A,B,C$,求: $$ \sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C d(ijk)\ \ \ mod \ 10^9+7 $$ 题解 $$ \sigma_0(ijk)=\sum_{x|i}\sum_{y|j}\sum_{z|k}[(x,y)==1][(x, 阅读全文
posted @ 2019-05-07 17:49 comld 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 题解 树上路径问题可以想到用点分治。 考虑固定一分治点,然后算所有跨过这个点的所有路径的答案和。 假定我们分治重心为$x$,那么一条合法的路径可以表示为$u x\ x v$。 然后我们还要考虑两条路径拼接的情况。 那么考虑对于模板串$m$的一个分割点,$u x$的路径一定是$m$的这个分割点前的串的 阅读全文
posted @ 2019-05-07 10:52 comld 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 题解 我们要求有多少个x满足: $$ x=a_i+P k_1=b_j+Q k_2 $$ 然后移一下: $$ a_i+P k_1=b_j \ (mod\ Q) $$ 可以发现这个东西是有循环节的。 可以发现它的循环周期是$lcm(P,Q)$。 那么我们需要求的是对于每个$a_i$,它在长度为$Q$的环 阅读全文
posted @ 2019-05-06 19:35 comld 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目描述 某学校的每个建筑都有一个独特的编号。一天你在校园里无聊,决定在校园内随意地漫步。 你已经在校园里呆过一段时间,对校园内每个建筑的编号非常熟悉,于是你情不自禁的把周围每个建筑的编号都记了下来——但其实你没有真的记下来,而是把每个建筑的编号除以 2 取余数得到 0 或 1,作为该建筑的标记,多 阅读全文
posted @ 2019-05-06 15:37 comld 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题解 顶 封 作 案。 考虑对限制做容斥。 就是至少零组的 至少一组的+至少两组的。。 容斥系数配正负1就可以了。 然后问题变成了排列方案数。 对于讨论CXK的排列方法可以$n^2dp$出来。 然后其他的排列方法,因为总人数加起来可以大于n,所以我们可能需要枚举每类人出几个,然后可以卷积优化。 Wa 阅读全文
posted @ 2019-05-06 08:11 comld 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题解 观察题目要我们求的东西: $$ ans[k]=\sum_{i}\sum_j \frac{a_i a_j f_k[i][j]}{f[i][j]} $$ 然后我们可以先枚举i,然后对于那个带限制的最短路部分,我们可以把贡献拆成两部分来计算。 $$ ans[k]=\sum_{i}a_i f[i][k 阅读全文
posted @ 2019-05-05 20:58 comld 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题解 这种关于最大值或者最小值的问题,可以往笛卡尔树的方面想。 先考虑一个朴素的$dp$,设$dp[l][r]$表示$l\sim r$的答案,转移是: $$ dp[l][r]=min(dp[l][p 1]+a[p] (r p+1),dp[p+1][r]+a[p] (p l+1)) $$ $$ p=m 阅读全文
posted @ 2019-05-04 14:19 comld 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 题解 首先考虑每个点能够到达的集合,它在树上一定是一个联通块。 先考虑枚举每个点,然后算它能到达多少点。 然后我们把所有跨越这个点的链全都拿出来,那么这个联通块的边数=这个点能够访问的点数=这些链的链并。 考虑传统的求链并的方法,就是按照$dfs$序排序,然后答案就是每个点的deep减去相邻两个点的 阅读全文
posted @ 2019-05-03 11:57 comld 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题目描述 对于一个字符串|S|,我们定义fail[i],表示最大的x使得S[1..x]=S[i x+1..i],满足(x define N 200002 using namespace std; typedef long long ll; const int mod=1e9+7; int la[N= 阅读全文
posted @ 2019-05-03 10:32 comld 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 题目描述 幸福国度可以用 N 个城镇(用 1 到 N 编号)构成的集合来描述,这些城镇 最开始由 M 条双向道路(用 1 到 M 编号)连接。城镇 1 是中央城镇。保证一个 人从城镇 1 出发,经过这些道路,可以到达其他的任何一个城市。这些道路都是 收费道路,道路 i 的使用者必须向道路的主人支付 阅读全文
posted @ 2019-05-03 08:12 comld 阅读(278) 评论(0) 推荐(1) 编辑
摘要: 题解 我们可以先搞一个$dp$出来,$dp[u][i]$表示以$u$号节点为根的子树,选择集合元素中最小的不小于$i$的最优方案。 然后我们可以发现这个$dp$是自带一个后缀$max$的,然后我们把它向后差分一下去维护。 那么观察到对于一个节点,它的所有子树之间是互不影响的,所以我们直接把他们对应位 阅读全文
posted @ 2019-05-01 07:18 comld 阅读(209) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页