Codeforces Round #693 (Div. 3)
栗子栗子栗子栗子
这个作者很懒,什么都没留下…
展开
-
1472 E. Correct Placement
https://codeforces.com/contest/1472/problem/E题意:有好多个矩形,已知它们的长a和宽b和出现顺序。对于每个矩形A,寻找任意一个矩形B,使得A能放在B上且不盖住B(即Aa<Ba&&Ab<Bb||Aa<Bb&&Ab<Ba),找不到就输出-1。首先要注意时找到任意一个矩形即可。我们先定义a为较大值,b为较小值,这样就只需要判断Aa<Ba&&Ab<Bb。然后我们以a为升序排列数组,这样原创 2021-01-05 20:52:00 · 2161 阅读 · 4 评论 -
1472 D. Even-Odd Game
https://codeforces.com/contest/1472/problem/D题意:一个博弈题,姐姐A和弟弟B从一堆数中可以选一个数或者ban一个数。姐姐先来,姐姐A可以选一个偶数加到自己的积分池,或者ban掉一个奇数。弟弟B可以选一个奇数加到自己的积分池,或者ban掉一个偶数。(ban掉或是选了的数就不能再用了~)。现在给你一个数组,问双方都在最优解的情况下谁会赢(或平局)?每个人都可以拿(给自己加分)或者禁(不让对分加禁了的数字的分),所以是拿还是禁就是看能拿的选择和能禁的选择中谁的贡献原创 2021-01-05 20:20:49 · 485 阅读 · 0 评论 -
1472 C. Long Jumps
https://codeforces.com/contest/1472/problem/C题意:给你一个数组,你初始的分数是0,你可以从数组中任何一个位置开始,规则为当前分数加上此时所在的数组位置的元素值,然后你的位置会跳到i+a[i],如果i+a[i]>n,就结束。问怎样才能使得分最大?可以知道一旦确定了初始位置,所得分数也就确定了,但是直接模拟肯定会超时…所以我们观察观察,可以发现从后往前来看,当前位置开始的分数就是当前的数字大小a[i]加上i+a[i]位置的分数,所以是个递推,倒着来推就行~原创 2021-01-05 20:09:41 · 345 阅读 · 0 评论 -
1472 B. Fair Division
https://codeforces.com/contest/1472/problem/B题意:给你一堆由面值为1或2的硬币,问你能不能把这堆硬币分成两堆,使得两堆硬币面值和相同。可以发现如果硬币和如果是奇数,无法平均分配(硬币无法锯开~),然后在和为偶数的前提下,如果面值为2的硬币数量为奇数,面值为1的硬币数量为0,那也是无法平均分配的。剩下的情况下就是2的数量为偶数(包括0),1的数量为偶数辣,肯定能平均分。(如果2的数量是偶数1的数量是奇数就无法满足和为偶数了~)#include <bi原创 2021-01-05 19:53:42 · 1904 阅读 · 2 评论 -
1472 A. Cards for Friends
https://codeforces.com/contest/1472/problem/A题意:已知一张纸在长或者宽为偶数时可以将纸对折一次,纸张数翻倍。现给你一张已知长和宽的纸,并且告诉你目标纸张数,问你能不能实现。偶数能x2,奇数就停止,分别去求长和宽能被2除几次,记和为k,答案就是2的k次方。#include <bits/stdc++.h>using namespace std;#define qc std::ios::sync_with_stdio(0);int mai原创 2021-01-05 19:43:46 · 367 阅读 · 0 评论