上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 28 下一页
摘要: 这是一道模板题。 给定一棵 nnn 个节点的树,初始时该树的根为 111 号节点,每个节点有一个给定的权值。下面依次进行 mmm 个操作,操作分为如下五种类型: 换根:将一个指定的节点设置为树的新根。 修改路径权值:给定两个节点,将这两个节点间路径上的所有节点权值(含这两个节点)增加一个给定的值。 阅读全文
posted @ 2018-10-19 18:17 探险家Mr.H 阅读(684) 评论(0) 推荐(0) 编辑
摘要: T1 判断一个括号序列的位置$i$和$n-i+1$是否一样 暴力 T2 给一个长方体,每个点有权值,每次可以选一个子长方体减h 查询第几次操作后出现一个小于0的点 长方体体体积1e5 操作1e5 考虑二分答案,然后记录三维前缀和,check的时候直接操作mid次,看有没有小于0的就可以了 操作时三维 阅读全文
posted @ 2018-10-18 17:35 探险家Mr.H 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 看到这个标题立刻想到:、 “绝地科学家,八倍不屏息啊,八百里外把头打啊...” 首先我们发现如果只考虑第二个操作,这棵树就是假的,我们可以直接莫队解决 如果考虑换根的话...可以把一个操作换成小于等于9个操作就可以了 当然怎么换,有一些非常恶心的分类讨论 嘤嘤嘤 YNOI 题是好题 但是要卡常 首先 阅读全文
posted @ 2018-10-17 19:34 探险家Mr.H 阅读(690) 评论(10) 推荐(1) 编辑
摘要: 一棵树上放k个摄像头,每个摄像头可以监视和这个点邻接的所有点但不能监视它本身 求监视到所有点的方案数 sol: 树形dp,思路很简单,$dp[i][j][0/1][0/1]$表示$i$号点的子树里放了$j$个摄像头,$[这个点是否已经被监视到]$,$[这个点放没放摄像头]$的方案数 转移的时候很麻烦 阅读全文
posted @ 2018-10-17 15:38 探险家Mr.H 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 我 是 个 傻 逼 T1 给你一个长度不超过10的数字串,问你可不可以加若干加号和一个等号使它变成一个等式 sol: 搜 T2 给一个01串,每个地方有一个代价$c_i$,交换两个字符的代价是$c_i + c_j$ 求最后逆序对数 - 交换代价的最大值 $n \leq 1000$ sol: 首先想到 阅读全文
posted @ 2018-10-15 18:59 探险家Mr.H 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 有一个圆方树,每次给出一个点集,询问虚树上圆点数量-询问点数量 sol:题意读懂就很简单了...可以建虚树dp 也可以考虑每一条链对答案的贡献,最后要注意单独计算虚树根对答案的贡献 #pragma GCC optimize("-funsafe-loop-optimizations") #pragma 阅读全文
posted @ 2018-10-10 19:05 探险家Mr.H 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 给你一个n * m的网格,你要从(0,0)走到(n,m)并且走的时候不越过y = x这条直线,求有多少种不同的走法 嗯...要高精度 python (感谢会考 fac = {} def C(n,m): return fac[n] / (fac[m] * fac[n-m]) fac[0] = 1 fo 阅读全文
posted @ 2018-10-10 13:55 探险家Mr.H 阅读(171) 评论(0) 推荐(0) 编辑
摘要: Alice和Bob轮流在n*m的棋盘上放棋子 a[i][j]表示Alice放在这的收益,b[i][j]表示Bob放在这的收益 一个地方没有棋子且它的左边上边都有棋子才能放棋子,边界外视为有一圈棋子 n,m<=10,求两人都用最优方案时,Alice可以赢多少 sol:上次用的轮廓线dp,现在已然不会写 阅读全文
posted @ 2018-10-09 14:13 探险家Mr.H 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 维护一个方阵,支持 1.删掉一个点,剩下的点先向左看齐再向前看齐 2.询问一个位置上是哪个点 $n,m,q \leq 3 \times 10^5$ sol: 我们每行前$m-1$列维护一个线段树,最后一列维护一棵线段树 然后搞n + 1个vector 这个线段树只需要维护“这个节点下面有多少点已经被 阅读全文
posted @ 2018-10-08 16:03 探险家Mr.H 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 有一棵带边权有根树,有m个运输计划,你可以把一条边变成0,所有计划一起开始 求完成所有计划的最短时间 sol: 先二分,我们发现,用时mid以下的计划是没用的(要所有计划都完成) mid以上的计划,如果不相交,直接就是false 如果相交,找到他们最大的一条交边,把那条边变成0,然后看最大计划 - 阅读全文
posted @ 2018-10-08 15:47 探险家Mr.H 阅读(185) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 28 下一页