摘要:
题意: 排队买饭,时间为前一个人和后一个人的异或和,每个人允许其后面$B[i]$ 个人先买到饭,问最少的总用时。 思路: 用$dp[i][j][k]$表示$1~i-1$已经买好饭了,第i个人后面买饭情况为$j$,最后一个打饭的是$i+k$。 #include <algorithm> #include 阅读全文
摘要:
题意 小L有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为1~N(2<=N<=10^15)。他的环形花园每天都会换一个新花样,但他的花园都不外乎一个规则,任意相邻M(2<=M<=5,M<=N)个花圃中有不超过K(1<=K<M)个C形的花圃,其余花圃均为P形的花圃。 例如,N=10,M=5,K= 阅读全文
摘要:
题意: 有n个区间,每个区间只能有一个斑点奶牛,问最多有几个斑点奶牛。 思路: 首先要处理出每个点的$L[i], R[i]$。 $L[i]$表示$L[i]~i-1$之间一定有一个点。i也是选中的。 $R[i]$表示$R[i]~i$之间只能有i这个点是选中的。 通过处理出$L[i]$和$R[i]$,$ 阅读全文
摘要:
传送门:https://codeforces.com/contest/1051/problem/E 题意: 把一个数分成许多小段,每一段的值在L和R间。问有多少种分法。 思路 : 首先,需要快速处理出每个位子 ,最近和最远可以组合的区间。如何处理这个区间,由于时限比较紧张,可以用哈希的方法,因为是长 阅读全文
摘要:
传送门: 题意: 将一个数字串分成许多不同的小串,使得这些小串代表的数字严格递增,要求最后一个数字尽可能地小。 然后满足字典序尽可能大。 思路: 由于最后一个数字要尽可能地小,所以先处理出每个数的$L[i]$, 即第i位最少要和$L[i]$这个位子的值组合才能满足要求。求出$L[i]$后,固定好最后 阅读全文
摘要:
传送门:https://www.luogu.org/problemnew/show/P2467 参考与学习:https://www.luogu.org/blog/user55639/solution-p2467 题意: 求波动数列 思路: 设$dp[i][j]$ 表示长度为$i$, 开始位子为$j$ 阅读全文
摘要:
gym/102059 待通过:A、D、G、J、M 已补过:E E:电路题,判断一个图是不是简单电路。不需要特殊的技巧,利用set存图,把度数为2的点都删掉,融入到一条边上即可。 #include <algorithm> #include <iterator> #include <iostream> 阅读全文
摘要:
传送门 思路: 这道题要把给定的每个坐标利用切比雪夫坐标表示,这样两个点的距离就是max(dx,dy),而不是一开始的dx + dy,有利于线段树的维护,又由于询问的是区间的最大差值,限制是两个点是属于不同门派的,所以我们可以维护每个区间的最大,次大值,最小次小值。 #include <algori 阅读全文
摘要:
BZOJ3170 题意: 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1。现在N个松鼠要走到一个松鼠家去,求走过的最短距离。 n <= 1e5; 思路: 题意描述的是切比雪夫距离,就是两点之间的距离为max(dx,d 阅读全文
摘要:
传送门 题意: 有m个区间,n个$a[ i ]$ , 选择若干个区间,使得整个数组中的最大值和最小值的差值最小。n<=1e5,m<=300; 思路: 可以知道每个i,如果一个区间包含这个点,就让这个区间发挥作用。枚举每个i,找到最大值即可。 当然这个复杂度不对,我们可以通过线段树保存数组的最大值和最 阅读全文
摘要:
传送门 题意: 给出一个序列,输出每个数x对应的一个ans,要求ans在数列中,并且ans & x = 0;数列的每个数小于(4e6) 思路: 这道题的方向比较难想。想到了就比较轻松了,可以这样考虑,如果(11011)2的答案知道了,那么(11001)2,(11000)2等的答案其实就是那个答案。 阅读全文
摘要:
传送门 题意: 询问每只绵羊通过序列跳出去的次数。 思路: 分块,预处理每个块中每个位子跳出块的第一个位子就行。 阅读全文
摘要:
https://codeforces.com/contest/551/problem/E 分块真强。 题意就是1、区间加,2、询问整个区间中,最远的两个x的距离。 分块,然后,每次找位子用二分找即可。 #include <algorithm> #include <iterator> #include 阅读全文
摘要:
E. Covered Points 利用克莱姆法则计算线段交点。n^2枚举,最后把个数开方,从ans中减去。 ans加上每个线段的定点数, 定点数用gcs(△x , △y)+1计算。 阅读全文
摘要:
1、分块 (区间加法,查询小于x的个数) 技巧:开vector对区间sort,注意每次暴力更新的区间需要重新把数据放入vector中。 https://loj.ac/problem/6278 #include <algorithm> #include <iterator> #include <ios 阅读全文
摘要:
P2331 [SCOI2005]最大子矩阵 题意 : 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。 第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值 阅读全文
摘要:
洛谷P2216 )逼着自己写DP 题意: 给定一个带有数字的矩阵,找出一个大小为n*n的矩阵,这个矩阵中最大值减最小值最小。 思路: 先处理出每一行每个格子到前面n个格子中的最大值和最小值。然后对每一列求出长度为n的前面算出来的最大值的最大值,前面算出来的最小值的最小值。如果直接做是n的三次方,但是 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/358/E 题意: 出题人有两个数组,A,B,请你把两个数组归并起来使得cost=∑i∗ci 最小,归并要求原数组的数的顺序在新数组中不改变。 题解: 先分别处理A和B数组,把A先分成n段,把某段均值大于前面的一段,就把这两段合 阅读全文
摘要:
duxing201606的原味鸡树 题意: 给定一颗有n(n<=1e9)个节点的完全二叉树,1e5次询问,问某个节点有几个子节点。 思路: 自己在月赛上没有思路,问了zfq才知道。 设两个指标,L、R,因为是范围,所以每次L向左孩子一直下去,R向右孩子一直下去,每次下探答案就要加上2的i次,L~R间 阅读全文
摘要:
模拟拼图 题意: 给定n块拼图,每个拼图为四方形,对应四条边有四个数字,如果为0,表示这个边是在边界的,其他数字表示和另一个拼图的一条边相接。保证每个非零数只出现两次。 思路: 模拟,但是要注意几个情况,第一就是只有一行或一列的时候,对于0的判断,还有就是拼图的个数要和n相等。 阅读全文