摘要: 题目大意:有n个人,给你他们的关系(老板和员工),没有直属上司的人就是整个公司的领导者,这意味着n个人形成一棵树(多叉树)。当一个人被分配工作时他会让他的下属也做同样的工作(并且立即停止手头正在做的工作),题目会询问你其中某个人正在做的工作。 解题思路:其实从“一个人分配他的下属做一样的工作”这里就 阅读全文
posted @ 2017-07-10 23:45 Yeader 阅读(467) 评论(0) 推荐(0)
摘要: 题目大意:多组数据,每组给一个n(1=<n<=8000),下面有n行,每行有l,r,color(1=<color<=8000),表示将l~r颜色变为color,最后求各种颜色(1~8000)所占区段数,如果所占区段为0则不用输出。 解题思路:基本还是跟区间染色问题差不多,但要注意一些东西 ①这里l, 阅读全文
posted @ 2017-07-08 23:04 Yeader 阅读(268) 评论(0) 推荐(0)
摘要: 题目大意:有t组数据,每组数据给你n张海报(1<=n<=10000),下面n组数据分别给出每张海报的左右范围(1 <= l <= r <= 10000000),下一张海报会覆盖前一张海报,求最后可见(包括完全和不完全可见)的海报有几张。 例如: 如上图所示,答案为4。 解题思路:其实这是一道区间染色 阅读全文
posted @ 2017-07-08 16:32 Yeader 阅读(241) 评论(0) 推荐(0)
摘要: 下定决心要学线段树了,每种类型的线段树题都弄一个代码模板吧(直接拿模板题的代码),有遇到新的类型会补上去的。 一、区间求最值(单点修改): 1 #include<iostream> 2 #define LC(a) ((a<<1)) 3 #define RC(a) ((a<<1)+1) 4 #defi 阅读全文
posted @ 2017-07-06 21:55 Yeader 阅读(205) 评论(0) 推荐(0)
摘要: 题目大意:一个竹竿长度为p,它的score值就是比p长度小且与且与p互质的数字总数,比如9有1,2,4,5,7,8这六个数那它的score就是6。给你T组数据,每组n个学生,每个学生都有一个幸运数字,求出要求买n个竹子每个竹子的score都要大于或等于该学生的幸运数字,每个竹竿长度就是花费,求最小花 阅读全文
posted @ 2017-07-05 16:15 Yeader 阅读(1245) 评论(0) 推荐(0)
摘要: 有时候我们可能会遇到让你求x^n的题目,是不是很简单直接求就可以了,复杂度O(n)。如果x和n(1=<x=<n<=1e9)都很大让你求x^n(因为数字太大所以都会要求取模的)呢?如果用传统办法那按照O(n)的复杂度来写显然是会超时的,那我们就需要一个叫做快速幂取模的算法(O(logn))了。 算法基 阅读全文
posted @ 2017-07-05 13:55 Yeader 阅读(468) 评论(0) 推荐(0)
摘要: 题目大意:如果一个数t=x^a+y^b(a,b都是大于等于0的整数)那就是一个unlucky数字。给你x,y,l,r(2 ≤ x, y ≤ 10^18, 1 ≤ l ≤ r ≤ 10^18),求出l到r内没有unlucky数字的最小区间。 解题思路:可以知道a,b最多也不会超过60(2^60>1e1 阅读全文
posted @ 2017-07-04 16:16 Yeader 阅读(276) 评论(0) 推荐(0)
摘要: 题目大意:一场选美比赛有N个人,可以分成N/x,每组x人。每组的比较次数为x(x-1)/2,f[N]为最后决出冠军所需的比较次数,可以通过改变x的值使f[N]改变。题目给出t,l,r(1 ≤ t < 109 + 7, 2 ≤ l ≤ r ≤ 5·106)。求 t^0⋅f(l)+t^1⋅f(l+1)+ 阅读全文
posted @ 2017-07-04 09:54 Yeader 阅读(895) 评论(0) 推荐(0)
摘要: 题目大意:给你n个旅券,上面有开始时间l,结束时间r,和花费cost,要求选择两张时间不相交的旅券时间长度相加为x,且要求花费最少。 解题思路:看了大佬的才会写!其实和之前Codeforces 776C的写法有点像,遍历l,设以l为起始时间时长为time,看是否存在时长为x-time且与当前时段不相 阅读全文
posted @ 2017-07-03 15:42 Yeader 阅读(634) 评论(0) 推荐(0)
摘要: 题目大意:给出n个数(a1.....an),和一个数k,问有多少个区间的和等于k的幂 (1 ≤ n ≤ 10^5, 1 ≤ |k| ≤ 10, - 10^9 ≤ ai ≤ 10^9) 解题思路:首先,可以从题目得出k的幂最大不能超过n*ai=1e14。然后,我们先求出前缀和sum[1]...sum[ 阅读全文
posted @ 2017-07-02 16:42 Yeader 阅读(359) 评论(0) 推荐(0)