07 2017 档案

摘要:题目大意: 战后有很多城市被严重破坏,我们需要重建城市。然而,有些建设材料只能在某些地方产生。因此,我们必须通过城市交通,来运送这些材料的城市。由于大部分道路已经在战争期间完全遭到破坏,可能有两个城市之间没有道路。当然在运输线中,更不可能存在圈。现在,你的任务来了。给你战后的道路情况,我们想知道,两 阅读全文
posted @ 2017-07-28 18:44 Yeader 阅读(422) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=2186 题目大意:给定N头牛和M个有序对(A,B),(A,B)表示A牛认为B牛是红人,该关系具有传递性,如果牛A认为牛B是红人,牛B认为牛C是红人,那么牛A也认为牛C是红人。求被其他所有牛认为是红牛的牛的总数。 解题思路:把所有牛看成顶 阅读全文
posted @ 2017-07-27 22:52 Yeader 阅读(199) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/351/D 题目大意:有n个数,每次可以删除掉数值相同并且所在位置成等差数列的数(只删2个数或者只删1个数应该也是可以的),删掉这些数以后可以将剩下的数重新以任意顺序排列,称为一次操作。现在给出m个询问,每个 阅读全文
posted @ 2017-07-20 00:36 Yeader 阅读(481) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/351/problem/D 题目大意:n个数,col[i]对应第i个数的颜色,并给你他们之间的树形关系(以1为根),有m次询问,每次给出vi,ki,要求找出以点vi为根的子树上出现超过ki次的颜色数。 解题思路:这题显然是可以用莫 阅读全文
posted @ 2017-07-18 16:38 Yeader 阅读(402) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/86/D 题目大意:给定一个数组,每次询问一个区间[l,r],设cnt[i]为数字i在该区间内的出现次数,求该区间内所有的cnt[i]^2*i。 解题思路:莫队模板题,改一下add,remove就好了。 阅读全文
posted @ 2017-07-18 11:33 Yeader 阅读(486) 评论(0) 推荐(0)
摘要:题目链接:http://www.spoj.com/problems/DQUERY/ 题目大意:给定一个数组,每次询问一个区间内的不同元素的个数 解题思路:直接套莫队的裸题 阅读全文
posted @ 2017-07-18 10:44 Yeader 阅读(998) 评论(0) 推荐(0)
摘要:题目大意:给你字符串s,和t,字符串s中的'?'可以用字符串t中的字符代替,要求使得最后得到的字符串s(可以将s中的字符位置两两交换,任意位置任意次数)中含有的子串t最多。 解题思路: 因为知道s中的字符位置可以交换无数次,所以只要s中含有可以组成t的字符就一定可以出现子串t。所以就是要令t中的字符 阅读全文
posted @ 2017-07-17 21:01 Yeader 阅读(283) 评论(0) 推荐(1)
摘要:题目大意:告诉你n个字符串以及这些字符串在字符串s中出现的位置(x1,x2.....xn),要求在满足上述条件的情况下,求出字典序最小的字符串s。 解题思路:主要问题是,如果直接模拟是会超时的,比如vvvvvvvvvv 3 1 2 3这样就有大量重复(因为题目说了这些字符串位置不会相互矛盾,所以已经 阅读全文
posted @ 2017-07-12 16:57 Yeader 阅读(303) 评论(0) 推荐(0)
摘要:题目大意:有n个人,给你他们的关系(老板和员工),没有直属上司的人就是整个公司的领导者,这意味着n个人形成一棵树(多叉树)。当一个人被分配工作时他会让他的下属也做同样的工作(并且立即停止手头正在做的工作),题目会询问你其中某个人正在做的工作。 解题思路:其实从“一个人分配他的下属做一样的工作”这里就 阅读全文
posted @ 2017-07-10 23:45 Yeader 阅读(472) 评论(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 阅读(272) 评论(0) 推荐(0)
摘要:题目大意:有t组数据,每组数据给你n张海报(1<=n<=10000),下面n组数据分别给出每张海报的左右范围(1 <= l <= r <= 10000000),下一张海报会覆盖前一张海报,求最后可见(包括完全和不完全可见)的海报有几张。 例如: 如上图所示,答案为4。 解题思路:其实这是一道区间染色 阅读全文
posted @ 2017-07-08 16:32 Yeader 阅读(243) 评论(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 阅读(208) 评论(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 阅读(1248) 评论(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 阅读(471) 评论(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 阅读(278) 评论(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 阅读(897) 评论(0) 推荐(0)
摘要:题目大意:给你n个旅券,上面有开始时间l,结束时间r,和花费cost,要求选择两张时间不相交的旅券时间长度相加为x,且要求花费最少。 解题思路:看了大佬的才会写!其实和之前Codeforces 776C的写法有点像,遍历l,设以l为起始时间时长为time,看是否存在时长为x-time且与当前时段不相 阅读全文
posted @ 2017-07-03 15:42 Yeader 阅读(635) 评论(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 阅读(362) 评论(0) 推荐(0)
摘要:题目大意:给你编号为1-n的箱子,放的顺序不定,有n条add指令将箱子放入栈中,有n条remove指令将箱子移除栈,移出去的顺序是从1-n的,至少需要对箱子重新排序几次。 解题思路:可以通过把栈清空表示已经排过序了,如果下一次remove时栈为空,说明已经排序过且没有新的箱子放入,因为题目确保在需要 阅读全文
posted @ 2017-07-01 20:57 Yeader 阅读(462) 评论(0) 推荐(0)