摘要: 题意 给出三个长为n的排列a,b,c,求满足ai<aj,bi<bj,ci<cj的(i,j)对数 1≤n≤2e6 毒瘤出题人出cdq板子题还多摁了个0 根据cdq的时间优化程度可以拿到36-100的分数 然后发现很重要的一点就是三个序列都是排列 所以可以每两个序列做一遍二维偏序,设顺序对个数分别为X, 阅读全文
posted @ 2018-10-19 09:28 CBDfake 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 题意 一棵n个节点的树,q次询问,每次询问编号为到l~r的节点构成的联通块个数 发现一条边(u,v)如果在联通块内,则l≤u≤r且l≤v≤r, 这就是二维偏序问题 所以每次求出满足条件的边的个数num,ans即为r-l+1-num 阅读全文
posted @ 2018-10-18 22:06 CBDfake 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题意 n个区间[l,r],m个位于xi的点,如果一个区间包含一个点,则这个区间可以与这个点匹配,求最大匹配数 n,m≤200000 USACO上的水题加强了一下数据。。。 每个区间按r排序,用multiset存点,lower_bound O(logn)查询 时间复杂度:O(nlogn) 阅读全文
posted @ 2018-10-18 21:56 CBDfake 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题意 给出两个由数字和字母组成的非空字符串S,T,求: 1、S与T的最长公共子序列的长度。 2、S与T的本质不同的非空公共子序列的个数。 3、S与T的各种长度的本质不同的非空公共子序列的个数。 |S|,|T|≤300 1、设f[i][j]为S的前i个字符和T的前j个字符的最长公共子序列长度 f[i] 阅读全文
posted @ 2018-10-16 21:28 CBDfake 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意 有Q个长度为N的D进制串,要求在一个串内不能有连续k位相同,设一个串的所有取值方案数为p, 要求输出Qlog2p向下取整的值 不管log2和高精度,其实这就是USACO的一道原题 设f[i]为前i位满足条件的方案总数,f[i]=(m-1)*∑f[j](i-k+1≤j≤i-1) log2可以在高 阅读全文
posted @ 2018-10-16 20:51 CBDfake 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 题意 在一个网格图上,每次删掉一条边(u,v),再询问能否从u到v,如果能,就输出"HAHA",并删掉给出的该情况对应的边,否则就输出"DAJIA",并删掉另一条边 网格图大小<=500 1.删掉一条边,就相当于把边两侧的块联通了 于是就想到了并查集 2.两个顶点删边后不连通的情况: 即块A和块B在 阅读全文
posted @ 2018-10-16 20:30 CBDfake 阅读(78) 评论(0) 推荐(1) 编辑
摘要: 题意 给定n个物品,模数P,k个背包,可以将所有物品的重量加x再模P(0<=x<P),把所有物品放进背包中,求重量最大的背包的最小重量值 n<=10000,P<=10000 暴力枚举x,二分答案,随机化对x的枚举,如果更优就继续二分,否则就continue 时间复杂度:O(nP+nlognlogP) 阅读全文
posted @ 2018-10-16 16:43 CBDfake 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个长为n的序列,求有多少个非空子序列能够分成和相同的两份 n<=20,ai<=10^8 20分暴力: O(2^n)枚举每个子序列暴力乱搞 正解: 折半查找 先枚举左边的情况 再枚举右边的情况 最后把两种情况排个序,暴力统计 时间复杂度:O(玄学) 阅读全文
posted @ 2018-10-16 16:21 CBDfake 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 题意 给出n个与坐标轴平行的线段,保证没有两条共线的线段具有公共点,没有重合的线段 找出最大的十字形并输出大小R,大小为R的十字形指的是以一个中心点向四周延伸出R单位长度形成的图形 1≤n≤100000,所有坐标的范围在-10^9~10^9中 暴力 把线段按长度排序,O(n^2)枚举+O2 阅读全文
posted @ 2018-10-16 16:10 CBDfake 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 题意 在n*m大小的棋盘上放象棋中的马,使它们不能互相攻击,求最多能放的马的个数。 1≤n,m≤10^9 找规律可发现: 对于n>2且m>2的棋盘,把马交错放置即为最佳方案 对于n≤2或m≤2的棋盘特殊处理即可 阅读全文
posted @ 2018-10-16 15:54 CBDfake 阅读(99) 评论(0) 推荐(0) 编辑