贪心
࿐ཉི༗࿆一鲸落,万物生 ༗࿆ཉི࿐
这个作者很懒,什么都没留下…
展开
-
Codeforces Global Round 23 D. Paths on the Tree(树形DP+贪心)
对于前val%cnt+1的子节点,f[u][1]+=f[son][1],对于后面的子节点f[u][1]+=f[son][0],注意这里是val%cnt+1,而不是(val+1)%cnt,因为此时结点u是在原来经过val次的基础上额外增加了一 次经过次数两者是不相等的。对于前val%cnt的子节点,f[u][0]+=f[son][1],对于后面的子节点f[u][0]+=f[son][0]f[u][1]:表示结点u多经过一次所能获得的价值。给定一个 n 个节点的有根树,根节点编号为 1。原创 2022-10-18 21:47:03 · 401 阅读 · 0 评论 -
Codeforces Round #822 (Div. 2) D. Slime Escape
题目大意:给我们一个长度为n的数组,并给我们一个数字k,表示我们起始位于a[k]位置,也就是我们初始的健康值为a[k],题目保证a[k]>=0,我们可以向左向右走,但是当走到一个位置的时候我们的健康值要加上当前位置x上的值a[x],注意每个位置上的值只有第一次经过的时候才会加入健康值,当第二次经过的时候就不用加了,问我们能否在健康值始终大于等于0的条件下走出这个数组,也就是说走到a[1]或者是a[n]位置。原创 2022-09-28 21:25:36 · 452 阅读 · 0 评论 -
Codeforces Round #822 (Div. 2) C. Removing Smallest Multiples
题目大意:给我么一个集合s,s中包含1~n所有数字,现在我们要进行一种操作,操作如下:首先选定一个数字k,在集合中存在k的倍数,然后我们可以删除k的最小的倍数,注意k也是自己的倍数,代价为k,现在给我们一个长度为n的01序列,第i个字符为1表示在进行所有操作之后数字i没有被删除,否则为0就是被删除了,问我们将原来的集合变成现在集合所需要的最小花费是多少?原创 2022-09-28 21:03:54 · 179 阅读 · 0 评论 -
Educational Codeforces Round 134 (Rated for Div. 2) D. Maximum AND(贪心)
解题思路:如果要让n个数字相与后的某一位为1,那么这n个数字的该位都应该是1,而为了让这一位上出现1应该是让0和1进行异或,为了让最终的数字尽可能大,我们可以贪心的从最高位开始枚举,尽可能让一个数字的该位为1,另一个为0,所以一个数字要尽可能大,另一个要尽可能小,所以对于a,b两个数组,一个从大到小排序,一个从小到大排序,从高位开始枚举,如果当前位最终结果为1,那么继续,如果不为1,那么将所有a,b数组中所有数字的该位置成1,然后再排序,置1的目的是排除该位对其他位的影响。原创 2022-09-20 22:20:31 · 104 阅读 · 0 评论 -
杭电多校十 1009-Painting Game
题目大意:给我们n个排成一行的格子,有两个人在玩游戏,在游戏的每一局这个人可以选择一个格子涂黑,前提是把这个格子涂黑之后不能有两个相邻的涂黑的格子,当不能再涂的时候游戏结束,给我们格子的数量以及先手的名字,Alice想要让涂黑的格子尽可能少,Bob想要涂黑的格子尽可能多,问我们当游戏结束的时候涂黑的格子有多少个。综上所述,每7个格子是一个循环,一定会有3个格子被涂成黑色,剩下的就是处理0~6个格子的情况了,同样也是按照我们上面的策略。原创 2022-08-19 18:28:57 · 870 阅读 · 0 评论 -
Codeforces 1704 C. Virus
题目大意:有n个房子围成一个环,其中有m个房子被病毒感染,每一天可以选择一个未被感染的房子保护,以后将不会被感染,而其他没有被保护的房子,如果和一个被感染的房子相邻且在之前没有被保护就会被感染,需要注意的是每一天都是先选择要保护的房子,然后病毒才会扩散,问最终被感染的房子最少有多少。...原创 2022-08-04 10:43:02 · 273 阅读 · 0 评论 -
2022 杭电多校3 I - Package Delivery (贪心)
题目大意给我们n个区间,我们可以选择一个端点,将端点所在的区间给拿走,但是我们一次最多拿k个区间,问最少拿多少次可以将所有区间拿完。解题思路上自己比赛时手写的思路,字迹较丑,不喜勿喷。...原创 2022-07-27 17:28:28 · 158 阅读 · 0 评论 -
Supermarket POJ - 1456
原题有点抽象这里就直接放的中文题目,做题的时候我一开始就都错题了QAQ,我理解成了他的保质期是第D天,那他就只能在第D天被卖出,结果一直wa,找了个正确代码一堆拍才知道题读错了。。。。,真就是读题一小时,做题5分钟了,不废话了,开始分析。题目告诉我们商品必须在保质期之前卖掉才可以获得利润,那我们可以采用贪心的思路根据物品的价值从大到小进行排序,并用一个数组对卖出物品的那一天进行标记,如果物品在它保质期的这一天可以卖出那就在这一天卖出,然后将这一天标记一下,否则就从保质期这一天开始往前找,一旦遇到可...原创 2021-10-22 11:07:57 · 65 阅读 · 0 评论