11 2017 档案
[NOIP2014D2]
摘要:T1 Problem "洛谷" Solution 枚举那个点的位置,再O(n)扫一遍求出覆盖的公共场合的数量。。。 所以时间复杂度为O(128 128 n) Code T2 Problem "洛谷" Solution 注意读入时连是反向边比较好处理。一下都是按反向边处理的。 先一遍dfs把不能够连到 阅读全文
posted @ 2017-11-04 23:18 WizardCowboy 阅读(125) 评论(0) 推荐(0)
[NOIP2014D1]
摘要:T1 Problem "洛谷" Solution 一道非常裸的模拟题。直接枚举每次猜拳就可以了。 Code 阅读全文
posted @ 2017-11-04 23:15 WizardCowboy 阅读(101) 评论(0) 推荐(0)
[NOIP2013D2]
摘要:T1 Problem "洛谷" Solution 这是线性扫描题吧。 就从1 ~ n 循环,若比起面高,则 ans += h[i] h[i 1]。 Code T2 Problem "洛谷" Solution 其实就是求一个数列里拐点数+1,然后O(n)扫一遍就好了。 Code 阅读全文
posted @ 2017-11-04 23:09 WizardCowboy 阅读(108) 评论(0) 推荐(0)
[NOIP2013D1]
摘要:T1 Problem "洛谷" Solution 感觉我写的也不是正解。。。 我是先找出每个循环节的长度l。。。然后用快速幂求出10 ^ k % l的值。。 Code T2 Problem "洛谷" Solution 首先可以证明当Ai在A中大小排名和Bi在B中大小排名相等时,其差的平方时最小的。。 阅读全文
posted @ 2017-11-04 23:05 WizardCowboy 阅读(108) 评论(0) 推荐(0)
[Codeforces375E]Red and Black Tree
摘要:Problem 给定一棵有边权的树。树上每个点是黑或白的。黑白点能两两交换。 求符合任意一个白点到最近黑点的距离小于等于x时,黑白点交换次数最少为多少。 Solution 明显是一题树形DP。我们先跑一边Floyd。 F[i][j][k]表示以i为根的子树中,连向结点j,子树中已经确定有k个是黑点所 阅读全文
posted @ 2017-11-04 22:54 WizardCowboy 阅读(303) 评论(0) 推荐(0)
[Codeforces178F2]Representative Sampling
摘要:Problem 给定n个字符串Si,任意选出k个字符串Ai,使得其中任意两个字符串lcp之和最大。 Solution 建一棵trie树,枚举每一个节点对答案的贡献,树形dp,时间复杂度像是O(N^3) 由于每个点对只在自己LCA的时候枚举到贡献,所以是O(N^2) Notice 这道题分析时间复杂度 阅读全文
posted @ 2017-11-04 22:15 WizardCowboy 阅读(345) 评论(0) 推荐(0)
[BZOJ1596]电话网络
摘要:Problem 给你一棵树,可以在每个点上选择造塔或不造,每座塔可以覆盖这个节点和相邻节点,问覆盖整棵树的最小塔数。 Solution 看到这道题的第一眼,我就觉得是一题贪心题,但看见出题的时候分类在树形DP,于是就没仔细想贪心。 树形DP:f[u][0]表示u被其儿子覆盖,f[u][1]表示u上有 阅读全文
posted @ 2017-11-04 22:04 WizardCowboy 阅读(129) 评论(0) 推荐(0)
[BZOJ3167]Sao
摘要:Problem 给你n个任务,n 1个关系,ab代表a在b前或者a在b后 问你有几种拓扑序 Solution f[i][j]表示第i个节点前有j个节点的方案数 设当前节点为x,儿子节点为s,若x依赖于s,那么 若s依赖于x,那么 Notice 要预处理出C数组 Code 阅读全文
posted @ 2017-11-01 13:57 WizardCowboy 阅读(168) 评论(0) 推荐(0)
[Codeforces543D]Road Improvement
摘要:Problem 刚开始每条边都是坏的,现在要选取一个点使得其他点到这个点的路径上最多只有一条坏路,问至少要修好多少条边 Solution 如果以1为根,那么是个简单的树形DP 设根从u转移到v,那么u的父亲会变成v(f[u]需要删除v的贡献), u的原来的父亲会变成u的孩子(f[u]需要加上原父亲的 阅读全文
posted @ 2017-11-01 09:40 WizardCowboy 阅读(155) 评论(0) 推荐(0)
[ZH模拟赛20171031T2]Bubble
摘要:Problem 让你求出LIS的长度,并且求出不同的LIS序列的交集(即必须被包含在LIS中的点) Solution 我们求出正的LIS和倒着的,如果一个位置上,第一次的f值+f值减掉1(本身算了2次)等于LIS的长度,那么这个位置存在于LIS中 我们再对f[i]hash一下,如果只有1次,那么这个 阅读全文
posted @ 2017-11-01 09:09 WizardCowboy 阅读(141) 评论(0) 推荐(0)
[ZH模拟赛20171031T1]Substring
摘要:Problem 给你两个字符串,你可以在第一个字符串中去掉任意长度的头和尾,使得第一个字符串中包含子序列为第二个字符串 问你有多少种方法 Solution 我们只需要预处理出每个位置上,往前的最后一个a~z字符的位置 然后枚举后面删到哪里,在O(M)求出前面删到哪个位置 用乘法原理统计答案 Noti 阅读全文
posted @ 2017-11-01 08:30 WizardCowboy 阅读(99) 评论(0) 推荐(0)