06 2017 档案

摘要:上次貌似在处理RMQ问题时提起了倍增,这玩意可以求动态LCA(比较牛),现在我们在讲dfs时间戳的时候发现了一个求静态LCA的算法 何为时间戳? 在这里我们定义两个数组f和d,在深度优先搜索时记录这两个的值——f表示对这个店开始搜索的时间,d表示对这个店完成搜索的时间 我们假设所有操作花费的都是单位 阅读全文
posted @ 2017-06-30 10:31 dancer16 阅读(262) 评论(0) 推荐(0)
摘要:星空中有n颗星星,有n-1对星星间被人为地连上了线,每条连线有各自的长度。所有星星被连成了一个整体。现在,你要在星系中找到一个最大的十字形星座。即,你要找到两条星星构成的路径,使得它们恰好有一颗公共星(这颗公共星不能是某条路径的端点),且两条路径的长度和最大。 左图红线表示了一个合法的十字形星座,而 阅读全文
posted @ 2017-06-18 21:55 dancer16 阅读(323) 评论(0) 推荐(0)
摘要:问题描述你现在有N对手套,但是你不小心把它们弄乱了,需要把它们整理一下。N对手套被一字排开,每只手套都有一个颜色,被记为0~N-1,你打算通过交换把每对手套都排在一起。由于手套比较多,你每次只能交换相邻两个手套。请你计算最少要交换几次才能把手套排整齐。输入格式输入第一行一个N,表示手套对数。第二行有 阅读全文
posted @ 2017-06-17 14:31 dancer16 阅读(298) 评论(0) 推荐(0)
摘要:问题 E: 卡片游戏 题目描述 小D举办了元旦联欢活动,其中有一个卡片游戏。 游戏的规则是这样的:有n张卡片,每张卡片上正面写着一个小于等于100的正整数ai,反面都是一样的花色。这n张卡片正面朝下叠成一堆,玩这个游戏的人从中可以抽出连续的k(1≤k≤n)张卡片。如果对于这k张卡片上的数字的平均值a 阅读全文
posted @ 2017-06-17 10:10 dancer16 阅读(244) 评论(0) 推荐(0)
摘要:围栏问题 时间限制: 2 Sec 内存限制: 128 MB 题目描述 在一片草原上,有n只兔子无忧无虑地生活着。这片草原可以划分成m×m的方阵。每个方格内最多有一只兔子。 一位饲养员负责喂养这些兔子。为了方便,她需要用篱笆建造最多k座围栏,将草原上的兔子全部围起来。 围栏需要满足以下条件: (1)必 阅读全文
posted @ 2017-06-17 09:22 dancer16 阅读(293) 评论(0) 推荐(0)
摘要:问题 C: 种树 题目描述 为了绿化乡村,H村积极响应号召,开始种树了。 H村里有n幢房屋,这些屋子的排列顺序很有特点,在一条直线上。于是方便起见,我们给它们标上1~n。树就种在房子前面的空地上。 同时,村民们向村长提出了m个意见,每个意见都是按如下格式:希望第li个房子到第ri个房子的房前至少有c 阅读全文
posted @ 2017-06-15 15:14 dancer16 阅读(194) 评论(0) 推荐(0)
摘要:题目描述 工匠小K最近有n个零件需要加工。每个零件都需要ti天的时间来完成,每个零件每延迟一天加工都要缴纳一定的罚金si。延迟的天数为从今天算起到该工作开始的那天,第一个零件加工没有罚金。现在小K想知道怎样安排加工顺序可以使他要交的罚金最少,最少是多少。 这个数可能会很大,请输出这个数对m取模后的结 阅读全文
posted @ 2017-06-13 14:17 dancer16 阅读(168) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2017-06-11 11:57 dancer16 阅读(13) 评论(0) 推荐(0)
摘要:题目描述 小生和小森在玩兔子之谜游戏。有三只兔子排成一排。知道每只兔子的初始位置,以及三个兔窝的位置。 游戏的规则是,重复以下步骤k次:选择两个不同的兔子A和B,分别位于a和b。A可以跳过B到达2*b-a的点: 跳跃是不允许其他小兔子已经在点2*b-a的位置上: 跳跃也不允许一次跳过一个以上的兔子: 阅读全文
posted @ 2017-06-11 09:54 dancer16 阅读(451) 评论(0) 推荐(0)
摘要:先给一个线性规划的定义: 在通用的线性规划问题中,我们通常给定一个m*n的矩阵A,一个m维的向量和一个n维向量(权值函数)。我们希望找到一个n维向量x,使得在由Ax<=b给定的m个约束条件下优化目标函数ci*xi,这里的优化是指目标函数的取值最大。 根据矩阵乘法,我们大概脑补出这样一幅图 ps:上图 阅读全文
posted @ 2017-06-10 20:59 dancer16 阅读(1875) 评论(0) 推荐(0)
摘要:上次我们学习了Dijkstra,其有一个不错的时间复杂度上限:O(n log n),但其对于负权边的处理会出错啦 一个简单的小例子: 这个图中如果我们发现以3号点为原点,跑一边dijkstra的话 我们先会取2号点进入原点集合,再取一号点。这样得到的dist[2]=3,dist[1]=4 错! 我们 阅读全文
posted @ 2017-06-10 19:14 dancer16 阅读(388) 评论(0) 推荐(0)
摘要:rope准确的中文翻译是可持久化平衡树,具牛逼 其貌似不是标准的stl容器,在名称空间__gnu_cxx中 其用起来和string差不多 s.insert(a,b) 在s的第a位插入b(b可为字符串) s.erase(a,b)在s的第a位删除b 输出时直接将s[c]表示s的第c位数 先脑补一下,并且 阅读全文
posted @ 2017-06-10 14:40 dancer16 阅读(733) 评论(0) 推荐(0)
摘要:背景 2009NOIP余姚中学内部暑期集训7月14号模拟赛第三题 描述 Cpg 正在游览一个梦中之城,在这个城市中有n棵摇钱树。。。这下,可让Cpg看傻了。。。可是Cpg只能在这个城市中呆K天,但是现在摇钱树已经成熟了,每天每棵都会掉下不同的金币。Cpg每天可以砍掉其中一颗,并获得其树上说有的金币( 阅读全文
posted @ 2017-06-08 21:26 dancer16 阅读(229) 评论(0) 推荐(0)
摘要:dijkstra是一种单元最短路径算法,其能在较好时间复杂度内处理这一问题。但其对负权圈的处理让人不太满意——会陷入死循环 其思想和Prim算法差不多,都是贪心。 把图中的所有点划分为两个集合:包含远点S和不包含原点S的 每次从不包含原点S的集合中找出一个离原点S最近的点(这样就没有点能够比这个点更 阅读全文
posted @ 2017-06-08 19:35 dancer16 阅读(9451) 评论(2) 推荐(0)
摘要:刚学c++的时候总是在cin或cout上TLE,于是发誓不再用cin。但是cin真的比scanf好看很多,于是百度一下发现这样可以优化cin 只要加上这一句话,就能取消cin与std间的同步性 或者读入一个字符串再操作 或者就用常见的输入输出优化啦 阅读全文
posted @ 2017-06-07 22:44 dancer16 阅读(1002) 评论(0) 推荐(0)
摘要:转载一下YH大佬的blog地址http://blog.csdn.net/jokercold 。。 直译小丑严寒2333 以及HK大佬 http://blog.csdn.net/yuyaohekai 宿命的PSS 题目描述 最小生成树P.S.S在宿命的指引下找到了巫师Kismi。P.S.S希望Kism 阅读全文
posted @ 2017-06-05 20:16 dancer16 阅读(336) 评论(0) 推荐(0)
摘要:设有两个n阶多项式 A(n)=an-1x^n-1+an-2x^n-2+...+a0 B(n)=bn-1x^n-1+bn-2x^n-2+...+b0 则如何求A(n)与B(n)的乘积? 通常的方法是 C(n)的表达形式是 C(n)=c(2n-2)x^(2n-2)+c(2n-1)x^(2n-1)+... 阅读全文
posted @ 2017-06-03 17:01 dancer16 阅读(2908) 评论(1) 推荐(0)
摘要:map是c++的一类关联式容器,其基于红黑数结构,内部自动有序 插入一个键值为key,实际值为val的值:map[key]=val;insert(pair<类型 ,类型>(key,val)); 放一个模板题 一箭多雕 题目描述 小明喜欢武侠小说,在武侠世界里,他不但练就了一箭双雕的能力,还可以一箭多 阅读全文
posted @ 2017-06-03 13:58 dancer16 阅读(260) 评论(0) 推荐(1)
摘要:裸题-【bzoj2724】[Violet 6]蒲公英 就是求[l,r]间的最小众数(顾名思义) 现有一个小定理:令i=rep(a)为a集合的最小众数,于是我们有rep(a∪b)∈rep(a)∪b; 这个显然。 先思考一下无修改的操作: 既然是分块,中间整块的信息肯定直接用(不然就是暴力啦) 但是这里 阅读全文
posted @ 2017-06-01 16:31 dancer16 阅读(456) 评论(0) 推荐(0)

描述