两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:the_great_wave_off_kanagawa:week_summary_7 [2020/07/24 15:44] airbust |
2020-2021:teams:the_great_wave_off_kanagawa:week_summary_7 [2020/07/24 17:38] (当前版本) lkw981105 [Ket98] |
||
---|---|---|---|
行 7: | 行 7: | ||
CF 1381A1 Prefix Flip (Easy Version) | CF 1381A1 Prefix Flip (Easy Version) | ||
- | * 分类:思维 | + | * 分类:思维 |
- | * 题意:给定一个01字符串,每次可以选择一个$x$,然后操作。操作方法为把该字符串的$x$前缀全部反转(0变成1, 1变成0),然后翻转(首尾交换)。目标是使该字符串变成另外一个01字符串。要求给出翻转方案。字符串的长度为$n(n \leq 1000)$,操作次数不超过$3n$。 | + | * 题意:给定一个01字符串,每次可以选择一个$x$,然后操作。操作方法为把该字符串的$x$前缀全部反转(0变成1, 1变成0),然后翻转(首尾交换)。目标是使该字符串变成另外一个01字符串。要求给出翻转方案。字符串的长度为$n(n \leq 1000)$,操作次数不超过$3n$。 |
- | * 思路:很明显是要从后往前满足。考虑第$i$个位置,如果已经一样了就可以不用管,如果不一样那么它将会由第一个位置得到。所以如果第一个位置和当前一样,首先要操作前缀1使得第一个和点前$i$的不一样,然后再操作前缀$i$就可以满足$i$了。 | + | * 思路:很明显是要从后往前满足。考虑第$i$个位置,如果已经一样了就可以不用管,如果不一样那么它将会由第一个位置得到。所以如果第一个位置和当前一样,首先要操作前缀1使得第一个和点前$i$的不一样,然后再操作前缀$i$就可以满足$i$了。 |
==== kazamori ==== | ==== kazamori ==== | ||
行 20: | 行 20: | ||
==== Ket98 ==== | ==== Ket98 ==== | ||
- | Boundary | + | Clam and Fish |
- | 分类:计算几何 | + | 分类:思维 |
- | 题目大意:考虑所有经过原点的圆,在所给$n$个点中,找出在同一个圆上最多的点的数量。 | + | 题目大意:有$n$个笼子,里面可能有(1)空(2)蛤蜊*1(3)鱼*1(4)鱼*1和蛤蜊*1。有四种操作:(1)把蛤蜊做成饲料供后边的笼子来使用(2)用饲料捕捉鱼(3)如果笼子有鱼,可直接捕捉鱼(4)什么都不做。问最多可以捕捉多少鱼? |
- | 思路:一开始因为测试用例,我错以为是以所给的点中选择一个点作为圆心,之后就一直错。其实圆心不局限在所给点中,只要圆经过所给点即可。利用圆周角的思路。先枚举所有的点$A$,然后在每一次枚举中在枚举一遍所有的点$B$,计算圆周角$ABO$的cos值,寻找出众数的数量。在每一次枚举的众数的数量,寻找最大的那一个即可。 | + | 思路:题目可能比较长,但其实矛盾点就是在蛤蜊*1的笼子应该是拿去作饲料还是拿去捕捉鱼。这里有两种解法。 |
- | 在寻找众数的时候,我是利用了sort()来找。同时本题在计算圆周角的时候,需要注意$B$点可能会在$AO$的任意一边,所以要用叉积判断一下,然后利用内接四边形对角互补来处理一下,即把cos值取负。最后,还需要注意共线点的处理,例如(0,1),(0,2)的答案应该为1。 | + | 比赛的时候我使用倒序读取,need记录目前所需的饲料。碰到空笼子则need++,碰到有蛤蜊的笼子分两种情况(1)need==0时用于捕捉鱼(2)need!=0时用于做饲料。有鱼的笼子全部捉鱼即可。 |
+ | |||
+ | 第二种是顺序读取,贪心把所有的蛤蜊做成饲料,最后把剩下的饲料/2,一半用于做饲料,一半用于捉鱼。 | ||
===== 个人 ===== | ===== 个人 ===== | ||
行 36: | 行 38: | ||
=== 比赛 === | === 比赛 === | ||
- | * [[https://atcoder.jp/contests/aising2020|AIsing Programming Contest 2020]] | + | 无 |
==== kazamori ==== | ==== kazamori ==== | ||
行 47: | 行 49: | ||
=== 比赛 === | === 比赛 === | ||
- | * [[https://atcoder.jp/contests/aising2020|AIsing Programming Contest 2020]] | + | 无 |