随笔分类 -  基本算法 贪心

摘要:好的时隔多年终于来更博客了 题目链接 题意很明确了,一眼就知道是要贪心,但是怎么贪呢? 对于a1,a2,a3,不妨令a1<a2<a3,那么就有三种取法: s1=(a1*a2+1)*a3+1=a1*a2*a3+a3+1; s2=(a2*a3+1)*a1+1=a1*a2*a3+a1+1; s3=(a1* 阅读全文
posted @ 2018-10-22 14:00 Child-Single 阅读(329) 评论(0) 推荐(0)
摘要:Description 与很多奶牛一样,Farmer John那群养尊处优的奶牛们对食物越来越挑剔,随便拿堆草就能打发她们午饭的日子自然是一去不返了。现在,Farmer John不得不去牧草专供商那里购买大量美味多汁的牧草,来满足他那N(1 <= N <= 100,000)头挑剔的奶牛。 所有奶牛都 阅读全文
posted @ 2017-10-14 08:16 Child-Single 阅读(218) 评论(0) 推荐(0)
摘要:Description 奶牛们计划着去海滩上享受日光浴。为了避免皮肤被阳光灼伤,所有C(1 <= C <= 2500)头奶牛必须在出门之前在身上抹防晒霜。第i头奶牛适合的最小和最 大的SPF值分别为minSPF_i和maxSPF_i(1 <= minSPF_i <= 1,000; minSPF_i 阅读全文
posted @ 2017-10-13 21:06 Child-Single 阅读(212) 评论(0) 推荐(0)
摘要:Description Input 第1行:两个用空格隔开的整数:N和M * 第2行到N+1行:第i+1行表示一个整数C_i * 第N+2到N+M+1行: 第i+N+1行表示2个整数 A_i和B_i Output * 第一行: 一个整数表示最多能够被满足的要求数 Sample Input 5 4 1 阅读全文
posted @ 2017-10-13 19:49 Child-Single 阅读(168) 评论(0) 推荐(0)
摘要:Description 霸中智力测试机构的一项工作就是按照一定的规则删除一个序列的数字,得到一个确定的数列。Lyx很渴望成为霸中智力测试机构的主管,但是他在这个工作上做的并不好,俗话说熟能生巧,他打算做很多练习,所以他希望你写一个程序来快速判断他的答案是否正确。 霸中智力测试机构的一项工作就是按照一 阅读全文
posted @ 2017-10-03 22:53 Child-Single 阅读(207) 评论(0) 推荐(0)
摘要:题目链接 题目大意:给定n个点,告诉你第i个点的父亲是fa[i],求最少需要改变多少个点的父亲使得所有点走k步均到达1。 分析:首先明确一点,如果要改变一个点的父亲就干脆把它的父亲改为1,这样一定是最优的。 如果1的父亲是1本身,那么别的点走到1的步数只要<=k即可(1为自环); 而当1的父亲不是1 阅读全文
posted @ 2017-09-27 21:41 Child-Single 阅读(428) 评论(0) 推荐(0)
摘要:Description Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会。当然,她会选择最方便的地点来举办这次集会。每个奶牛居住在 N(1<=N<=100,000) 个农场中的一个,这些农场由N-1条道路连接,并且从任意一个农场都能够到达另外一个农场。道路i连接农场A_ 阅读全文
posted @ 2017-09-20 14:16 Child-Single 阅读(110) 评论(0) 推荐(0)
摘要:题目链接 分析:因为每个事件的代价(也就是时间)是一样的,因此很容易想到应该是贪心。但是这里我们换一种思路来做:不是从大往小选,而是从前往后选,当时间不够用时就把利润最小的舍弃掉加入当前事件的,所以这里我们要先把事件按照第一维截止时间从小到大,第二维利润从小到大排序,然后枚举1~n,开一个利润从小到 阅读全文
posted @ 2017-09-13 14:20 Child-Single 阅读(255) 评论(0) 推荐(0)
摘要:题目链接 中文翻译版题目 ps:两个略有不同,原题数据范围是n<=3e5,且数据保证输入的b是a的祖先。 算法:ccz 大爷自创,大概就是并查集+启发式合并+平衡树维护。 分析: 先dfs预处理出每个点的深度,然后对于每个点都建立一棵平衡树来储存以这个点为起点的路径,按照第一关键字终点的深度从小到大 阅读全文
posted @ 2017-09-05 19:56 Child-Single 阅读(220) 评论(0) 推荐(0)
摘要:听说这道题可以用树状数组什么鬼的做,反正我不会,还是老老实实打manacher+贪心大法吧…… 我们只要在跑manacher的过程中,用一个结构体(也可以直接用数组)来记录以每个字符为对称轴的最长回文的最左端和最右端,然后就得到了一些线段,于是问题完美地转换成了求取最少段的线段来完全覆盖一个区间了, 阅读全文
posted @ 2017-06-07 23:32 Child-Single 阅读(264) 评论(0) 推荐(0)