第三周
A_Polycarp_and_Coins(cf)
链接:
https://codeforces.com/contest/1551/problem/0
思路:
经典if else,由于需要用1分2分拼,所以结果与3的倍数有关,分类讨论即可
俺是一坨垃圾代码QWQ:
1 | int main() |
Wonderful_Coloring_1(cf)
链接:
https://codeforces.com/contest/1551/problem/B1
思路:
我起手,一把秒了,就俩颜色,我说我是乱涂的,同一个字符3个以上就没法涂了,剩下能涂的全部打上标记,问的是红色能涂上几个,除2即可
俺是一坨垃圾代码QWQ:
1 | int main() |
Wonderful_Coloring_2(cf)
链接:
https://codeforces.com/contest/1551/problem/B2
思路:
我起手,一把被秒了,赛场上的两题选手,赛后看完题解重拳出击!!!其实就是一个贪心(其实赛场上也想到了贪心涂色,不过没长手,越写越乱就没了)。将结果数组全部标记为零(未涂色),如果被涂色的数字能在k种颜色下被涂色,就记录好坐标及对应的数字扔到优先队列里(vector排个序也可,目的是防止同一个数字被涂上相同的颜色),不能被涂色的,需要记录下不能被涂色的数字的个数(非常重要,这破题的一大坑点)。接下来就只需要在去掉不能涂色的数字里的k倍个数里,按顺序涂色就好辣!
俺是一坨垃圾代码QWQ:
1 | int main() |
Binary Decimal(cf)
链接:
https://codeforces.com/contest/1544/problem/A
思路:
虽然没有参赛资格,但我还是要做,想看看大佬们的a题长啥样。不得不说,这题挺有趣的,在经过自己手划拉几个数据后,惊讶地发现答案应该就是每一位的最大一位,太绝了。看了一眼别人的码,确实是这么一肥事。
俺是一坨垃圾代码QWQ:
1 | int main() |
LR Constraints(at)
链接:
https://atcoder.jp/contests/arc124/tasks/arc124_a
思路:
这踏马是A题?我直接疑惑,四十分钟才想出来怎么做。题目比较抽象,大概就是第k位置如果是L则当前位置的i是最左侧的i,R同理是最右,统计所有的排列情况。其实就是当前位置能放几种卡片,然后然后乘法定律一乘就完了
俺是一坨垃圾代码QWQ:
1 | int main() |
XOR Matching 2(at)
链接:
https://atcoder.jp/contests/arc124/tasks/arc124_b
思路:
a数组与b数组的值挨个异或,如果值相等就输出该值。先将两个数组去重,保证不会有相同的数字异或的值干扰结果。
将之后的异或值全部存入map中统计数量,如果大于等于数组长度,就代表该值能够被匹配。输出即可
俺是一坨垃圾代码QWQ:
1 | int main() |
Arithmetic Array(cf)
链接:
https://codeforces.com/contest/1537/problem/A
思路:
加一起,小于n的话可以随便加1个数使平均值为1,大于等于n的加上和-n个0就好啦
俺是一坨垃圾代码QWQ:
1 | int main() |
Bad Boy(cf)
链接:
https://codeforces.com/contest/1537/problem/B
思路:
蕨了,为了使走的步数最大,当然是放在角落啦,输出两个对角就行了,不要太简单
俺是一坨垃圾代码QWQ:
1 | int main() |
Challenging Cliffs(cf)
链接:
https://codeforces.com/contest/1537/problem/C
思路:
先排好序,找到相邻差最小的两个数,放在两边,中间用第二个数右面的构造,再用第一个数左面的构造,这样困难值最高
俺是一坨垃圾代码QWQ:
1 | int main() |
D_Deleting_Divisors.(cf)
链接:
https://codeforces.com/contest/1537/problem/D
思路:
博弈题,经过推导可得出结论,先手拿奇数,后手必赢;先手拿奇数*偶数的偶数,先手必赢;先手拿偶数*偶数(2^n),如果n为奇数后手胜,偶数先手胜
俺是一坨垃圾代码QWQ:
1 | int bitset(int x) |