摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1711 1 #include<iostream> 2 using namespace std; 3 int nx[10000+5], b[10000+5], a[1000000+5]; 4 int n, m; 5 阅读全文
posted @ 2018-01-30 21:36 Schenker 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 逆序对的定义:长度为n的数组a,求满足i<j时a[i]>a[j]条件的数对个数。 第一次接触这种问题的人可能是更先想到的是n^2去暴力数前面有几个比他大的数。 n^2算法就是数一下前面有多少个数比现在这个数大 这样全部跑完只后就是逆序数了。 其中重点是 前面有多少个数比现在这个数大 但是每次从1 f 阅读全文
posted @ 2018-01-30 21:24 Schenker 阅读(769) 评论(0) 推荐(1) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2544 阅读全文
posted @ 2018-01-30 20:07 Schenker 阅读(217) 评论(2) 推荐(0) 编辑
摘要: 题意:一共有n名员工, n-1条关系, 每次给一个人分配任务的时候,(如果他有)给他的所有下属也分配这个任务, 下属的下属也算自己的下属, 每次查询的时候都输出这个人最新的任务(如果他有), 没有就输出-1。 题解:需要用DFS建树来确立关系, 然后用线段树进行区间覆盖。 DFS建树: 从Boss 阅读全文
posted @ 2018-01-30 19:27 Schenker 阅读(260) 评论(4) 推荐(0) 编辑
摘要: 题意: 一共有n张海报, 按次序贴在墙上, 后贴的海报可以覆盖先贴的海报, 问一共有多少种海报出现过。 题解: 因为长度最大可以达到1e7, 但是最多只有2e4的区间个数,并且最后只是统计能看见的不同海报的数目,所以可以先对区间进行离散化再进行区间覆盖的操作。 由于墙上不贴东西的时候对后面没有影响, 阅读全文
posted @ 2018-01-30 16:44 Schenker 阅读(199) 评论(0) 推荐(0) 编辑