LINK:Multiplication 4 害怕别人不知道我有多菜 那就上张图: 赛时 太慌了 (急着AK 题目不难却暴露我的本性 根本不思考无脑写 wa了还一直停不下来的debug 至少被我发现了10个漏洞 且最后还存在bug. 放弃治疗然后走人了.啊啊啊 下次再不认真思考我把番给戒了. 原本的想法是 有负数的时候很难办 先把0分开 然后负数两两组合 正数也是如此然后开始贪心. 最后特判k为1的情况 这个情况接一堆分类讨论 但是当时少讨论一种情况 代码过于繁杂 导致GG. 今天花了几分钟想了一…
题意:有\(n\)个数,从中选\(k\)个数累乘,求最大的乘积\((mod\ 10^9+7)\). 题解: 1.假如全是负数,并且选奇数个,那么从小到大选. 2.否则,考虑当前状态,假如\(k\)是奇数,那么我们先选一个最大的,然后再选两个最大的正数相乘或者两个负数相乘后最大,每次这样选即可. 代码: int n,k; ll a[N]; ll mp[N]; bool cmp(ll x,ll y){ return abs(x)<abs(y); } int main() { ios::sync_wi…
题意:有一个空环和\(n\)个点,每次可以选择一个点放在空环上,并且获得周围两个点中最小的那个的权值,问能获得的最大的权值是多少? 题解:我们每次都优先放最大的进去,注意每次放的时候都要将这个点放在当前能去得到的最大权值的周围,这样的话,每个最大值我们都能取两次,所以我们只要加一个最大的权值,然后剩下的权值两次两次的加即可. 代码: int n; ll a[N]; bool cmp(ll a,ll b){ return a>b; } int main() { ios::sync_with_std…
AtCoder Beginner Contest 173 题解 目录 AtCoder Beginner Contest 173 题解 A - Payment B - Judge Status Summary C - H and V D - Chat in a Circle E - Multiplication 4 F - Intervals on Tree A - Payment 首先我们可以把所有不用找零的部分都付掉,这样就只剩下了\(A \mod 1000\)这样一个"\(A\)除以\(10…
比赛链接:https://atcoder.jp/contests/abc173/tasks A - Payment 题意 计算只用 $1000$ 元支付某个价格 $n$ 的找零是多少. 代码 #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; cout << (1000 - n % 1000) % 1000 << "\n"; } B - J…
题意:有一张图,.表示白色,#表示黑色,每次可以将多行和多列涂成红色(也可不涂),问有多少种方案,使得剩下黑点的个数为\(k\). 题解:又学到了新的算法qwq,因为这题的数据范围很小,所以可以用二进制枚举来将所以情况枚举出来. 关于二进制枚举:对于一个集合\(n\),有\(2^n\)个子集,而\([0,2^n]\),我们可以用\(n\)的二进制来表示,对于每一位,如果该位是\(1\),就表示选,所以我们先确定某种情况,然后再去遍历每一位,就能将\(2^n\)的每种情况枚举出来. 对于这题,我们…
A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takahashi is a user of a site that hosts programming contests.When a user competes in a contest, the rating of the user (not necessarily an integer) changes…
AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C - Sum of product of pairs D - Friends E - Coprime F - I hate Shortest Path Problem A - Don't be late 问你能不能在时间\(T\)内用不高于\(S\)的速度走过\(D\)的路程,转化为判断\(ST\)…
KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解 哦淦我已经菜到被ABC吊打了. A - Century 首先把当前年份减去\(1\),对应的世纪也减去\(1\),然后我们就发现第\(0\)到\(99\)年对应第\(0\)世纪,第\(100\)到\(199\)年对应第\(1\)世纪,以此类推. 答案就是\(\lfloor \frac {N-1} {100} \rfloor\).这里\(\lfloor x \rflo…
AtCoder Beginner Contest 169 题解 这场比赛比较简单,证明我没有咕咕咕的时候到了! A - Multiplication 1 没什么好说的,直接读入两个数输出乘积就好了. #include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; cout<<a*b; return 0; } B - Multiplication 2 让你连乘,同时在答案…