摘要: 离线做先按照t[]建线段树,维护区间的有效天数以及可用时间然后把t[]从小到达排序,记得记录t中元素在线段树中的位置把询问按照d从小到大排序,依次考虑由于按照d排序,所以当前询问肯定是d最短的,我们在t数组中找到大于当前d的第一个元素位置,把这之前的元素全部从线段树中删除,表示这些天数无效因为当前d... 阅读全文
posted @ 2016-01-21 21:07 Septher 阅读(266) 评论(0) 推荐(0)
摘要: 每盘菜都要吃到,而且吃的时间是一样我们按照区间右端点从小到大排序,排在前面的是要优先满足的假如1号区间是[l,r],2号区间在r之后还有选择,所以1号先考虑二分一下答案判断一下就好#include"cstdio"#include"queue"#include"cmath"#include"stack... 阅读全文
posted @ 2016-01-21 21:00 Septher 阅读(267) 评论(0) 推荐(0)
摘要: 题目要求我们选尽量多的点,同时两两不相邻可以想到把棋盘按照国际象棋的棋盘样式染色,那同一种颜色的点之间肯定是不相邻的,同时我们也就把图转化为了一个二分图题目要求也就变成了求这个二分图里的最大点权独立集最大独立集:包含尽量多顶点的集合,其中任意两点不相邻,所谓的不相邻也就是两点没有连边最小点覆盖:选取... 阅读全文
posted @ 2016-01-20 21:08 Septher 阅读(973) 评论(0) 推荐(0)
摘要: 一开始以为是费用流。。半天搞不出经过学弟讲解才知道是这么个问题先用floyd求出任意两个事物间的最短距离,题目要求在所有牛都能找到机器的前提下,最长距离最小(其实看到这样的字眼就应该想到二分),我们可以二分答案对于每一个答案建图跑网络流,只建容量小于mid的边,看看是否所有的牛都能找到机器就好不知道... 阅读全文
posted @ 2016-01-20 20:53 Septher 阅读(190) 评论(0) 推荐(0)
摘要: #include"cstdio"#include"queue"#include"cmath"#include"stack"#include"iostream"#include"algorithm"#include"cstring"#include"queue"#include"map"#includ... 阅读全文
posted @ 2016-01-19 21:06 Septher 阅读(275) 评论(0) 推荐(0)
摘要: 题意:求树上两条不相交路径的最大乘积题目要求两条路径不相交,而给的又是一棵生成树,所以断开任意一条边,都能把原图分成两个部分所以我们枚举断开的边,在每一部分分别求树的直径,维护最大的乘积就是结果#include"cstdio"#include"queue"#include"cmath"#includ... 阅读全文
posted @ 2016-01-19 20:56 Septher 阅读(161) 评论(0) 推荐(0)
摘要: 题意:给N个矩形,会相互重叠,重叠部分只算一次面积,求总面积把X坐标排序后离散化成0~m标号,每个标号代表一个点及其和下一个点之间的长度,所以m个点有m-1段。按0~m-1标号建线段树上边赋值为-1,下边赋值为1,这样一段长度非零的时候,说明当前该段长度是被覆盖的,还需要被计算这里比较难维护的就是区... 阅读全文
posted @ 2016-01-19 20:52 Septher 阅读(288) 评论(0) 推荐(0)
摘要: N个房间,入住的人只能安排连续的房间莫名其妙T了半天- -||query函数没写好~虽然我觉得我写得挺对的,就是不让过#include"cstdio"#include"queue"#include"cmath"#include"stack"#include"iostream"#include"alg... 阅读全文
posted @ 2016-01-18 19:56 Septher 阅读(152) 评论(0) 推荐(0)
摘要: 第一步要做的是映射,把目标序列映射成1~n,然后按照这个映射规则把当前序列映射一下接下来也稍微有点贪心的意思吧:从1开始放置,位置在它之前的元素,如果找到的元素不在该在的位置,并且和当前元素互换后,找到的元素的目标位置在当前元素的左边,才换似乎有点抽象。。。就拿样例来说吧映射后当前序列是3 2 4 ... 阅读全文
posted @ 2016-01-17 19:24 Septher 阅读(308) 评论(0) 推荐(0)
摘要: 表示这类题目完全不会把表达式转化后:xi+wi=xj)好像还是看不出什么- -|| 满足上式的i j两点就能抱团,那我们要找尽量多的点满足上述关系其实上述两个式子是等价的(想一想)所以只需要满足xi+wi=t){ ans++; t=node[i].x+n... 阅读全文
posted @ 2016-01-17 19:13 Septher 阅读(273) 评论(0) 推荐(0)