随笔分类 - 二分
摘要:Ombrophobic Bovines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20459 Accepted: 4403 Description FJ's cows really hate getting wet so m
阅读全文
摘要:2724: [Violet 6]蒲公英 Description Input 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1
阅读全文
摘要:给出一个长为n的数列,以及n个操作,操作涉及区间加法,询问区间内小于某个值c^2的元素个数。 样例输入 4 1 2 2 3 0 1 3 1 1 1 3 2 1 1 4 1 1 2 3 2 样例输出 3 0 2分析:复习了一下分块. 对于修改操作,在整块外的直接暴力修改,否则给每个块维护一个修改标记.
阅读全文
摘要:Milk Patterns Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 17196 Accepted: 7612 Case Time Limit: 2000MS Description Farmer John has noti
阅读全文
摘要:Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 32531 Accepted: 10843 Description A musical melody is represented as a sequen
阅读全文
摘要:2594: [Wc2006]水管局长数据加强版 Description SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一条从A至B的水管的路径,接着通过信息化的控制中心通知
阅读全文
摘要:1486: [HNOI2009]最小圈 分析:分数规划. 其实就是最小化,令其 = ans,那么化简一下就是:.如果ans过大,则左边会小于0,如果过小,则左边会大于0.事实上这就是一个二分的过程.将ans看作平均权值.代到式子中,那么式子表示的意义就是将所有边权减掉ans后是否存在负环. 这里用d
阅读全文
摘要:1014: [JSOI2008]火星人prefix Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m
阅读全文
摘要:2653: middle Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整。给你一个 长度为n的序列s。回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c,d]之间的子序列中,最大的中位数。 其中a<b<c<d
阅读全文
摘要:TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 16851 Accepted: 8069 Description Calculate the number of toys that land in each bin of
阅读全文
摘要:B. XK Segments time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output While Vasya finished eatin
阅读全文
摘要:D. Pair of Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output D. Pair of Numbers ti
阅读全文
摘要:Number Sequence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 40638 Accepted: 11826 Description A single positive integer i is given. Wri
阅读全文
摘要:分析:高级数据结构学傻了.....一眼看上去觉得是莫队,发现带修改,于是分块,由于写的常数很大,只有70分. 正解很简单,记录下颜色为c的每只兔子的位置,每次二分找这个区间有多少只这种颜色的兔子就可以了,交换操作就交换位置,颜色.可能会存不下,所以用vector. 70分分块: 正解:
阅读全文
摘要:分析:暴力分有90,真良心啊. a,b这么大,连图都建不出来,肯定是有一个规律.把每个点的父节点写出来:0 1 1 12 123 12345 12345678,可以发现每一个循环的长度刚好是斐波那契数列中的第i项,那么求个前缀和,二分求一下LCA就可以了.
阅读全文
摘要:分析:非常像货车运输那道题.先求一下最大生成树.求完之后会发现并不好处理.通常这类求生成树的题目不会就分析kruscal算法的性质.每往最大生成树中加一条边,如果配重大于这条边权,那么这条边所连的两个集合就都要建一个仓库.也可以这么想:本来在所有点都建仓库,如果配重小于这条边的边权,那么少建一个仓库
阅读全文
摘要:分析:要遍历所有的区间,肯定是枚举左端点,然后再枚举右端点.关键是怎么高效地求区间&,|,一般而言是用前缀和的,但是&,|不满足区间可减性,所以可以考虑线段树?这道题不带修改操作,用线段树太浪费了,那么可以用ST表来维护. 查询做到O(1)了,但是怎么快速枚举区间呢?枚举左端点和右端点肯定只能选择一
阅读全文
摘要:分析:因为每一组编号都是连续的嘛,所以能分成一组的尽量分,每次加边后dfs判断一下1和n是否连通.有向图的判连通没有什么很快的方法,特别注意,并查集是错的!这个算法可以得到60分. 事实上每一次都不需要从点1开始dfs,因为之前很多点都遍历到了,再从1开始会重复.如果新加的一条边的起点没有被访问过,
阅读全文
摘要:分析:首先肯定是要用线性筛把素数全部给筛出来的,然后可以维护一个前缀和数组记录1~i个素数的和,对于每一个询问可以从n到1+k枚举它的右端点,然后利用前缀和统计一个长度为K的区间和,看看是不是满足条件.其实这个可以利用二分来加速,然后就做完了. 二分的时候如果有多个条件需要满足,可以拆分开来讨论l,
阅读全文