上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 题意: 有n个区间,每个区间只能有一个斑点奶牛,问最多有几个斑点奶牛。 思路: 首先要处理出每个点的$L[i], R[i]$。 $L[i]$表示$L[i]~i-1$之间一定有一个点。i也是选中的。 $R[i]$表示$R[i]~i$之间只能有i这个点是选中的。 通过处理出$L[i]$和$R[i]$,$ 阅读全文
posted @ 2019-01-31 11:14 ckxkexing 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://codeforces.com/contest/1051/problem/E 题意: 把一个数分成许多小段,每一段的值在L和R间。问有多少种分法。 思路 : 首先,需要快速处理出每个位子 ,最近和最远可以组合的区间。如何处理这个区间,由于时限比较紧张,可以用哈希的方法,因为是长 阅读全文
posted @ 2019-01-29 16:12 ckxkexing 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 传送门: 题意: 将一个数字串分成许多不同的小串,使得这些小串代表的数字严格递增,要求最后一个数字尽可能地小。 然后满足字典序尽可能大。 思路: 由于最后一个数字要尽可能地小,所以先处理出每个数的$L[i]$, 即第i位最少要和$L[i]$这个位子的值组合才能满足要求。求出$L[i]$后,固定好最后 阅读全文
posted @ 2019-01-28 16:25 ckxkexing 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://www.luogu.org/problemnew/show/P2467 参考与学习:https://www.luogu.org/blog/user55639/solution-p2467 题意: 求波动数列 思路: 设$dp[i][j]$ 表示长度为$i$, 开始位子为$j$ 阅读全文
posted @ 2019-01-27 20:01 ckxkexing 阅读(169) 评论(0) 推荐(0) 编辑
摘要: gym/102059 待通过:A、D、G、J、M 已补过:E E:电路题,判断一个图是不是简单电路。不需要特殊的技巧,利用set存图,把度数为2的点都删掉,融入到一条边上即可。 #include <algorithm> #include <iterator> #include <iostream> 阅读全文
posted @ 2019-01-26 17:11 ckxkexing 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 这道题要把给定的每个坐标利用切比雪夫坐标表示,这样两个点的距离就是max(dx,dy),而不是一开始的dx + dy,有利于线段树的维护,又由于询问的是区间的最大差值,限制是两个点是属于不同门派的,所以我们可以维护每个区间的最大,次大值,最小次小值。 #include <algori 阅读全文
posted @ 2019-01-25 11:27 ckxkexing 阅读(318) 评论(0) 推荐(0) 编辑
摘要: BZOJ3170 题意: 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1。现在N个松鼠要走到一个松鼠家去,求走过的最短距离。 n <= 1e5; 思路: 题意描述的是切比雪夫距离,就是两点之间的距离为max(dx,d 阅读全文
posted @ 2019-01-24 23:29 ckxkexing 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意: 有m个区间,n个$a[ i ]$ , 选择若干个区间,使得整个数组中的最大值和最小值的差值最小。n<=1e5,m<=300; 思路: 可以知道每个i,如果一个区间包含这个点,就让这个区间发挥作用。枚举每个i,找到最大值即可。 当然这个复杂度不对,我们可以通过线段树保存数组的最大值和最 阅读全文
posted @ 2019-01-24 21:09 ckxkexing 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意: 给出一个序列,输出每个数x对应的一个ans,要求ans在数列中,并且ans & x = 0;数列的每个数小于(4e6) 思路: 这道题的方向比较难想。想到了就比较轻松了,可以这样考虑,如果(11011)2的答案知道了,那么(11001)2,(11000)2等的答案其实就是那个答案。 阅读全文
posted @ 2019-01-23 20:42 ckxkexing 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意: 询问每只绵羊通过序列跳出去的次数。 思路: 分块,预处理每个块中每个位子跳出块的第一个位子就行。 阅读全文
posted @ 2019-01-23 16:39 ckxkexing 阅读(147) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.com/contest/551/problem/E 分块真强。 题意就是1、区间加,2、询问整个区间中,最远的两个x的距离。 分块,然后,每次找位子用二分找即可。 #include <algorithm> #include <iterator> #include 阅读全文
posted @ 2019-01-23 10:35 ckxkexing 阅读(157) 评论(0) 推荐(0) 编辑
摘要: E. Covered Points 利用克莱姆法则计算线段交点。n^2枚举,最后把个数开方,从ans中减去。 ans加上每个线段的定点数, 定点数用gcs(△x , △y)+1计算。 阅读全文
posted @ 2019-01-22 13:30 ckxkexing 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 1、分块 (区间加法,查询小于x的个数) 技巧:开vector对区间sort,注意每次暴力更新的区间需要重新把数据放入vector中。 https://loj.ac/problem/6278 #include <algorithm> #include <iterator> #include <ios 阅读全文
posted @ 2019-01-21 23:31 ckxkexing 阅读(169) 评论(0) 推荐(0) 编辑
摘要: P2331 [SCOI2005]最大子矩阵 题意 : 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。 第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值 阅读全文
posted @ 2019-01-20 16:10 ckxkexing 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 洛谷P2216 )逼着自己写DP 题意: 给定一个带有数字的矩阵,找出一个大小为n*n的矩阵,这个矩阵中最大值减最小值最小。 思路: 先处理出每一行每个格子到前面n个格子中的最大值和最小值。然后对每一列求出长度为n的前面算出来的最大值的最大值,前面算出来的最小值的最小值。如果直接做是n的三次方,但是 阅读全文
posted @ 2019-01-20 11:30 ckxkexing 阅读(143) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/358/E 题意: 出题人有两个数组,A,B,请你把两个数组归并起来使得cost=∑i∗ci 最小,归并要求原数组的数的顺序在新数组中不改变。 题解: 先分别处理A和B数组,把A先分成n段,把某段均值大于前面的一段,就把这两段合 阅读全文
posted @ 2019-01-20 10:06 ckxkexing 阅读(493) 评论(0) 推荐(0) 编辑
摘要: duxing201606的原味鸡树 题意: 给定一颗有n(n<=1e9)个节点的完全二叉树,1e5次询问,问某个节点有几个子节点。 思路: 自己在月赛上没有思路,问了zfq才知道。 设两个指标,L、R,因为是范围,所以每次L向左孩子一直下去,R向右孩子一直下去,每次下探答案就要加上2的i次,L~R间 阅读全文
posted @ 2019-01-19 23:23 ckxkexing 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 模拟拼图 题意: 给定n块拼图,每个拼图为四方形,对应四条边有四个数字,如果为0,表示这个边是在边界的,其他数字表示和另一个拼图的一条边相接。保证每个非零数只出现两次。 思路: 模拟,但是要注意几个情况,第一就是只有一行或一列的时候,对于0的判断,还有就是拼图的个数要和n相等。 阅读全文
posted @ 2019-01-19 10:29 ckxkexing 阅读(283) 评论(0) 推荐(1) 编辑
摘要: gym/102021/K 题意: 给定n(n<=60)个直线 ,长度<=1000; 可以转化为取 计算 ans = (sum + 10 - g) / ( n + 1) 在小于5的条件下的最大值,其中sum为任取n个的直线长度和,g是给定常数。 思路: 用类似背包的求法,把可能取到的结果用dp[i][ 阅读全文
posted @ 2019-01-18 20:04 ckxkexing 阅读(262) 评论(0) 推荐(0) 编辑
摘要: P2051 [AHOI2009]中国象棋 题意: 给定一个n*m的空棋盘,问合法放置任意多个炮有多少种情况。合法放置的意思是棋子炮不会相互打到。 思路: 这道题我们可以发现因为炮是隔一个棋子可以打出去,所以每一行每一列最多放置两个炮。 这样子我们就可以试着压缩状态,记录前i行有几列是放一个棋子的,有 阅读全文
posted @ 2019-01-18 16:23 ckxkexing 阅读(160) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页