10 2017 档案
摘要:【BZOJ1003】物流运输(动态规划,最短路) 题面 Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某
阅读全文
摘要:【BZOJ1477】青蛙的约会(拓展欧几里得) 题面 题目描述 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青
阅读全文
摘要:题面 Description 农夫约翰为他的奶牛们购买了一份名字叫Good Hooveskeeping的定期杂志,因此奶牛们在挤奶期间就有了大量的阅读素材。遗憾的是在最新的一期上,有一篇有点儿不适当的文章,是关于如何烹饪完美的牛排。 FJ不想让她们看到那篇文章,(显然,这份杂志需要更好的编辑监督)。
阅读全文
摘要:题面 Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一个自己喜欢的面 具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特
阅读全文
摘要:题面 "题面中有图片的存在,所以就贴个地址把" 题解 简单题,,,, 原来一直觉得不会做。。。 现在发现是一道傻逼题 暴力压两行的状态 发现就需要滚一维。 然后暴力检查一下状态的可行性 DP检查MAX就可以了 cpp include include include include include i
阅读全文
摘要:题面 "这种傻逼题懒得粘贴了。。。" 题解 傻逼题 f[i][j][k]表示当前第i列,当前放置状态为j,已经放了k个 暴力判断状态合法性,暴力判断转移合法性,然后统计答案 cpp include include include include include include inc
阅读全文
摘要:【BZOJ1801】【AHOI2009】中国象棋(动态规划) 题面 题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当
阅读全文
摘要:【BZOJ3436】小K的农场(差分约束) 题面 "由于BZOJ巨慢无比,使用洛谷美滋滋" 题解 傻逼差分约束题, 您要是不知道什么是差分约束 您就可以按下Ctrl+W了 cpp include include include include include include include in
阅读全文
摘要:【BZOJ2330】【SDOI2012】糖果 题面 题目描述 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,lxhgww需要满足小朋友们的K个要
阅读全文
摘要:【BZOJ4010】【HNOI2015】菜肴制作(拓扑排序) 题面 Description 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴。 ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1。由于菜肴之间口味搭配的问题,
阅读全文
摘要:【BZOJ2684】【CEOI2004】锯木厂选址(斜率优化,动态规划) 题面 万恶的BZOJ因为权限题的原因而做不了。。。 我要良心的提供题面 Description 从山顶上到山底下沿着一条直线种植了n棵老树。当地的政府决定把他们砍下来。为了不浪费任何一棵木材,树被砍倒后要运送到锯木厂。 木材只
阅读全文
摘要:【BZOJ1096】【ZJOI2007】仓库建设(斜率优化,动态规划) 题面 Description L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内 陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接
阅读全文
摘要:【Luogu2900】土地征用(斜率优化,动态规划) 题面 Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000). 每块土地的
阅读全文
摘要:【BZOJ3931】【CQOI2015】网络吞吐量(最短路,网络流) 题面 "跑到BZOJ上去看把" 题解 网络流模板题??? SPFA跑出最短路,重新建边后 直接Dinic就行了 大火题嗷。。。 cpp include include include include include include
阅读全文
摘要:【BZOJ3262】陌上花开(树套树) 题面 ~~对于权限题,我这种苦逼肯定是从别的OJ上搞的对不对???~~ "CJOJ" "洛谷" Description 有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量
阅读全文
摘要:【BZOJ2734】【HNOI2012】集合选数(状态压缩,动态规划) 题面 Description 《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中。同学们不喜欢这种具有枚举性 质的
阅读全文
摘要:"懒得搞题目了" "哦对了,这题双倍经验" 题解 装压DP 利用位运算很容易解决相邻位的问题 其实我的还是太复杂了 具体的,更加好的位运算的写法可以参考YL大佬,但是我也搞不到他代码,因为他太强了。 然而他博客停更了。。。。 cpp include include include include i
阅读全文
摘要:【BZOJ1911】【APIO2010】特别行动队 题面 Description 你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号, 要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如(i, i + 1, …, i + k)的序列。
阅读全文
摘要:斜率优化DP QWQ upd:这里是yyb的更新,今天是2019.3.18的晚上。 我觉我的这篇文章就是在扯蛋,所以到 "这里" 看斜率优化把QwQ。 题外话 考试的时候被这个玩意弄得瑟瑟发抖 大概是 "yybGG的Day4" 小蒟蒻表示根本不会做..... 然后自己默默地搞了一下斜率优化 这里算是
阅读全文
摘要:【BZOJ1010】【HNOI2008】玩具装箱 题面 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了
阅读全文
摘要:【BZOJ4196】【NOI2015】软件包管理器 题面 题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有
阅读全文
摘要:【BZOJ1483】【HNOI2009】梦幻布丁 题面 题目描述 N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. 输入格式: 第一行给出N,M表示布丁的个数和好友的操作次数. 第二行N个
阅读全文
摘要:【BZOJ1058】【ZJOI2007】报表统计 题面 题目描述 Q的妈妈是一个出纳,经常需要做一些统计报表的工作。今天是妈妈的生日,小Q希望可以帮妈妈分担一些工作,作为她的生日礼物之一。 经过仔细观察,小Q发现统计一张报表实际上是维护一个非负整数数列,并且进行一些查询操作。 在最开始的时候,有一个
阅读全文
摘要:【JSOI2008】最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:L不超过当前数列的长度。 2、 插入操作。 语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果
阅读全文
摘要:【SHOI2012】魔法树 题面 BZOJ上找不到这道题目 只有洛谷上有。。 所以粘贴 "洛谷的题面" 题解 树链剖分之后直接维护线段树就可以了 树链剖分良心模板题 cpp include include include include include include using namespace
阅读全文
摘要:【BZOJ1207】【HNOI2004】打鼹鼠 题面 "BZOJ题面" 题解 考虑到m的范围只有10000 O(m^2)的复杂度是可以接受的 所以直接暴力DP 每次枚举前面出现的鼹鼠 检查是否能够转移过来就可以啦 cpp include include include include include
阅读全文
摘要:【Luogu1937】仓配置 题面 "直接找洛谷把。。。" 题解 很明显的贪心吧 按照线段的右端点为第一关键字,左端点第二关键字排序 然后线段树维护区间最小就可以啦 cpp include include include include include include include include
阅读全文
摘要:【NOI2002】银河英雄传说 题面 题目描述 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争。泰山压顶集团派宇宙舰队司令莱因哈特率领十万余艘战舰出征,气吞山河集团点
阅读全文
摘要:题面 "我们也要换个花样,这回提供洛谷的题面" 题解 线段树+树链剖分大水题 维护颜色段的方法很简单呀。。。 维护当前区间内的颜色段个数, 以及当前区间左端和右端的颜色, 合并的时候考虑是否要减一下就行了 至于跳LCA进行Modify的时候稍微注意一下细节 cpp include include i
阅读全文
摘要:"题面链接" 题解 首先构建出AC自动机 然后在AC自动机上面跑DP 转移很显然从Trie树的节点跳到他的儿子节点 但是要注意一个问题, 在计算的时候,每一个节点加入后能够 造成的贡献 要加上他的子串的贡献 至于DP: 设f[i][j]表示已经使用了i个字母 当前在Trie树的第j个节点上面能够产生
阅读全文
摘要:"题目链接,我是真的懒得调题目的格式。。。" 题解 树链剖分搞一下LCA 把线段树弄出来 这只是形式上的线段树 本质上是维护一段区间的一个堆 每次把堆插入节点, 询问的时候查询线段树上的堆的最大值就行了 但是在插入节点的时候 把节点插入到非当前树链剖分经过的节点中 这里要稍微处理一下。 cpp in
阅读全文
摘要:"题目链接" 题解 这不就是luogu的线段树2的板子吗。。。。 没有任何的区别。。。 上代码吧。。。 cpp include include include include include include include include include using namespace std; d
阅读全文
摘要:题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族。被族人恭称为“先知”的Alpaca L. Sotomon是这个家族的领袖,外人也称其为“所驼门王”。所驼门王毕生致力于维护家族的安定与和谐,他曾亲自率军粉碎河蟹帝国主义的野蛮侵略,为族人立下赫赫战功。所驼门王一生财宝无数,但因其生性节俭低调
阅读全文
摘要:"我已经沉迷于粘贴题目地址了。。。" 题解 很显然的贪心呀, 就是一定是最短的若干条路径的长度 所以,不断拓展k短路就可以了 至于怎么用A 评估函数f(x)=dis[x]+g[x] 其中,dis是到N号节点的距离 g[x]是从起点出发的当前距离 每次拿f(x)的最小的点进行BFS 一直拓展到能量用完
阅读全文
摘要:题面 题目描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 输入输出格式 输入格式: 输入两个整数M,N.1 include include include include
阅读全文
摘要:"越来越懒了,不想粘题目" 题解 样例的输入是个很好的提醒, 把他往左边对齐之后 如果要打掉某个位置,那么必须要打掉右上方的所有砖 然后就很明显的一个DP了。。。。 cpp include include include include include include include include
阅读全文
摘要:"题面戳我" 题解 把每个数都直接看做一个多项式,每一位就是一项 现在求用FFT求出卷积 然后考虑一下进位就可以啦
阅读全文
摘要:"题目戳我" 一道模板题 自己尝试证明了大部分。。。 剩下的还是没太证出来。。。 所以就是一个模板放在这里 以后再来补东西吧。。。。 cpp include include include include include include include using namespace std; de
阅读全文
摘要:"题面戳我" 题解 放一个板子在这里 用主席树维护一下每个版本就可以啦。。。 cpp include include include include include include using namespace std; define MAX 1000100 inline int read() {
阅读全文
摘要:"题目戳我" 题解 其实感觉16年的难度不是很大???? 这道题去年考场上DP都想出来了。。。 只是因为不会数学期望。。。然后GG。。。。 这道题目只要把数学期望搞出来就可以啦 设f[i][j][0/1]表示前i门课程中,已经换了j门,上一个课程是否换了教室 然后转一下期望就可以啦。。。。 cpp
阅读全文
摘要:"题面戳我" 题解 我原来也觉得是一道不可做的难题。。 其实,,,很简单的啦。。。 对于当前状态 我们出牌的方式大致分为两类 一类是不用考虑点数的,包括单张,对子,三带一等 另一类就是需要考虑点数的,包括顺子等 因此,每种状态下,首先考虑不用考虑点数的出牌方法 尝试打完,更新打完。 搜索的作用是考虑
阅读全文
摘要:"题目戳我" 题解 很简单的一道题。。。 看来那时候还是我太菜了。。。 设f[i][j][k][0/1]表示在第一个串中的位置i,匹配到了位置j,一共分了k段,0/1表示上一个位置是否在某一段中 转移就很简单了呀。。。。 如果能够匹配上(不能够匹配上直接复制状态就行了。。。) 自己YY一下转移就行了
阅读全文
摘要:"不想弄题面了。。。" 题解 做这道题目我真的好蠢。。。 好容易的数学题目 很明显自己写高精度吧。。。(不解释了) 被dalaoD了,底下的题解可能是假的。看代码里的注释把QaQ / 剩下的如何计算。 要有两类情况 ①老师之间有男生 那么,这种情况下,直接插空就行了 先把M个女生插进去A(m,n+1
阅读全文
摘要:题面 题目描述 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其中 fi 0;保证任何时候骑士战斗力值的绝对值不超过 10^18。 题解 左偏树+标记 向上合并左偏树,把战
阅读全文
摘要:"题目戳我" 懒得粘贴题目了。。就这要凑合一下吧。。。 题解 反正棋盘的状态不会变的。。。 所以,预处理一下??? 恩,如果一个棋子要移动到某个目标位置的话, 可以看成只有空格和这个子要动呀(其他的有区别吗??) 因此,我们考虑预处理一个数组move[i][j][k][l] 表示在(i,j)位置,空
阅读全文