上一页 1 2 3 4 5 6 7 8 ··· 17 下一页
摘要: 链接: http://codeforces.com/contest/145/problem/E 题意: 维护一个只有数字4和7的数列,以下有两种操作: 1.将[l,r]区间4变为7,7变为4。 2.询问全局最长不下降子序列的长度。 输出所有2操作的答案 题解: 线段树维护。 维护四个信息: 1.区间 阅读全文
posted @ 2017-08-17 22:18 Flowersea 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/475/problem/D 题意: 给你一个a数组,每次询问一个x,问有多少区间的gcd等于x 题解: 直接暴力打表,因为gcd的值不会有太多不同的,所以不会超时 代码: 阅读全文
posted @ 2017-08-17 15:06 Flowersea 阅读(161) 评论(0) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/contest/689/problem/D 题意: 给出两个数组,问有多少个区间l,r满足 题解: 先用st表预先处理任意一个区间的最值,然后枚举每个左端点,二分找到满足条件的最近和最远的右端点即可 代码: 阅读全文
posted @ 2017-08-17 11:58 Flowersea 阅读(189) 评论(1) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/contest/808/problem/D 题意: 给你一个数组a,问能否移动一个数的位置使得可以分成两部分,这两个部分的和相等 题解: 要么把后面的数移到前面,要么把前面的数移到后面,分别算一下,先用map存一下,不过还要特判当有一个数为sum/ 阅读全文
posted @ 2017-08-16 12:59 Flowersea 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/817/problem/E 题意: 3种操作: 1 插入一个数 2 删除一个数 3 给出一个数pi和l,询问有多少个数pj满足pi^pj<l 题解: 把每个数用bitset变成字符串,然后建字典树,询问的时候当碰到 l 的某一位为1 阅读全文
posted @ 2017-08-15 18:25 Flowersea 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/817/problem/D 题意: 给你n个数a[1..n]定义连续子段imbalance值为最大值和最小值的差,要你求这个数组的imbalance总值 题解: 考虑每个位置作为最值向两边的最大拓展,最小值取负号,最大值取正号,求和 阅读全文
posted @ 2017-08-15 17:09 Flowersea 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/819/problem/B 题意: 有n个数,从1到n乱序排列,定义这n个数的秩序值为∑(a[i]-i) (1<=i<=n), 你每次将这个数组向右循环移位p次, 问p等于多少时,这n个数的秩序值最小? 题解: 记录下每个数是在目标 阅读全文
posted @ 2017-08-15 11:48 Flowersea 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/818/problem/E 题意: 给你n个数,问有多少个子串的乘积模k等于0 题解: 我们先用线段树保存每一段的乘积%k 然后枚举每一个位置i,二分找到最后一个pos,使得从pos到i之间的乘积能被k整除 这样从1到pos之间任意 阅读全文
posted @ 2017-08-14 17:28 Flowersea 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/825/problem/E 题意: 给出一个有向无环图,且保证两点之间没有重边。现在要给1~N号点重新编号,要求满足下面两个要求: 1.对于原来编号u,v的两点,若存在一条从u指向v的边,那么重新编号后,u的编号要小于v的编号。 2 阅读全文
posted @ 2017-08-14 15:19 Flowersea 阅读(126) 评论(0) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/contest/833/problem/B 题意: 给你n个数,分成k段,每段的值为其中不同的数的个数,求每段的值的和的最大值 题解: 显然需要用到动态规划。我们用dp[i][j]表示前j个数分成i段价值和的最大值。容易得到状态转移方程为 dp[i 阅读全文
posted @ 2017-08-14 13:22 Flowersea 阅读(162) 评论(0) 推荐(1) 编辑
摘要: 链接: http://codeforces.com/contest/788/problem/C 题意: 给你K种浓度的Cola,问最少需要多少升,可以配出制定浓度的Cola 代码: 阅读全文
posted @ 2017-08-14 10:56 Flowersea 阅读(184) 评论(1) 推荐(1) 编辑
摘要: 链接: http://poj.org/problem?id=2777 题意: 有L个气球,开始颜色为1,每次给l,r之间的气球染色x,然后询问l,r区间有多少种不同的颜色 题解: 因为颜色最多有30种,所以对这30中颜色状态压缩一下,放在线段树里面,这样就容易更新了 最后只要计算一下query返回值 阅读全文
posted @ 2017-08-13 22:52 Flowersea 阅读(184) 评论(2) 推荐(2) 编辑
摘要: 链接: http://codeforces.com/contest/839/problem/D 题意: 给出一些数,求取出一些数,当他们的GCD大于0时,将数量乘GCD累加到答案上,求累加和。 题解: 这道题比赛的时候忘了考虑重复了,wa掉之后发现可能会出现重复,然而又不会写了。。 这道题需要知道一 阅读全文
posted @ 2017-08-13 21:54 Flowersea 阅读(160) 评论(0) 推荐(2) 编辑
摘要: 链接: http://codeforces.com/contest/274/problem/B 题意: 给出一棵树,每个点有权值,每次操作可以对一个联通子集中的点全部加1,或者全部减1,且每次操作必须包含点1,问最少通过多少次操作可以让整棵树每个点的权值变为0. 题解: 定义状态up[u],down 阅读全文
posted @ 2017-08-12 20:41 Flowersea 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 链接: http://codeforces.com/contest/463/problem/D 题意: 给出k个排列,问这k个排列的最长公共子序列的长度。 题解: 首先cnt记录的是i在j的前面有多少个,因为是k的排列的公共子序列,所以只有当cnt[i][j]==k的时候才会考虑 然后就是求这么多组 阅读全文
posted @ 2017-08-12 10:31 Flowersea 阅读(100) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 17 下一页