`
暴风雪
  • 浏览: 388739 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
第二次参加cf,饮恨两题了   A:大水,分别求出最高的人和最矮的人所在的位置。如果有多个人高度相同且都是最高的话要选靠左边的,有多个人高度相同且都是最矮的话要选靠右边的。然后计算把最高的人和最矮的人分别安 ...
大致题意:    告诉你有一列长度为n的数列和m个关系式。每个关系式的表述为:    si ni “gt” c 或者是  si ni “lt” c。分别代表该数列第si项一直加到第si+ni项的和大于c,和第si项一直加到第si+ni项的和小于c。求是否存在满足以上m个要求的数列。是则输出“lamentable kingdom”,否则输出“successful conspiracy”。   大致思路:     把问题转化为差分约束。将差分约束系统中的点sum[i]设为这个数列前i项的和。当要求第si项一直加到第si+ni项的和大于c的时候,就等价于sum[si+ni]-sum[si-1]& ...
(本文假设读者已经有以下知识:最短路径的基本性质、Bellman-Ford算法。)    比如有这样一组不等式:   X1 - X2 <= 0X1 - X5 <= -1X2 - X5 <= 1X3 - X1 <= 5X4 - X1 <= 4X4 - X3 <= -1X5 - X3 <= -3X5 - X4 <= -3不等式组(1)    全都是 ...
转载自【Matrix67】,原博客地址http://www.matrix67.com/blog/archives/115感谢原作者。如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。    我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I'm matrix67",字符串B="matrix",我们就说B是A的子串。你可以委婉地问你的MM:“假如你要向你喜欢的人表白的话,我的名字是你 ...
大致题意:     已知n个同学和5种衣服,要让每一个人都有衣服穿。已知每个同学可以穿的衣服种类,每种衣服的数量。求衣服的数量能否满足同学的需求。 大致思路:     标准的二分图多重匹配,设超级源汇点,超级源点向每个同学连边,容量都为1。每个同学都向他需要的衣服连边,容量也是1。每件衣服向汇点连边,容量为其数量。对这个图求出最大流,如果得到的值等于n则表示可以提供给所有人衣服,否则就是无法提供。 (在家里刷了3天终于刷到水题了,擦~~睡个好觉吧) 详细代码: #include<iostream> #include<cstring> #include<cst ...
大致题意:     在世界末日,有n个人要去m个星球。给出每个人能去的星球和每个星球能容纳的人数。判断是否存在可行的安排方案。n (1 <= n <= 100000), m (1 <= m <= 10) 大致思路:     以为是水题上来就直接套二分图多重匹配来做,结果被TLE到各种吐血~~ 。后来看了题解才明白,这里要用状态压缩。因为所有的人可以按照可以去的星球划分为2^m类人。这样不按照人头来建图而用人的种类来建图,点的规模会大大缩小。终于领会到二进制压缩的妙处了。 详细代码: #include<iostream> #include<cstr ...
大致题意:    有n个工件,已知第i个工件需要pi天加工,而且只能在第si天到第ei天加工这个工件。每天可以并行加工m个工件。求所有工件是否都能在规定期限内加工完成。大致思路:    应该算是最简单的网络流题目了吧,把工作和日期都抽象成节点,设源汇点。从源点向每一个工件连边,容量为完成工作所需要的天数。每个工作都向可以加工他的日期连边,容量为1。每个日期都向汇点连边,容量为每天可以加工工件数量的最大值。求出最大流,如果从源点出发的边都满流则说明存在可行的方案。    最后一道水最大流,结束我的费用流/最大流/最小割学习。接下来,无源汇网络流,有上下界的网络流,差分约束,数据结构神马的,该搞起的 ...
Global site tag (gtag.js) - Google Analytics