摘要:
A. Three Decks 题意:三个数\(a, b, c\),从\(c\)中拿一些数分给\(a, b\),能不能使得三个数相等。 首先把\(c\)变成\(b\),再把\(a\)变成\(b\),那么需要\(c - b > b - a\)。然后剩下\(c - b - (b - a)\),判断这个数能 阅读全文
摘要:
A. You Are Given Two Binary Strings... 题意:给你两个二进制串\(x, y\),要求把\(y\)左移\(k\)位后和\(x\)相加然后翻转后的二进制串在字典序下最小,求最小的\(k\)。 为了让翻转后二进制字典序最小,应该让低位尽可能是零,那么应该人\(y\)的 阅读全文
摘要:
A. while 点击查看代码 void solve() { std::string s; std::cin >> s; std::string t = "while"; int ans = 0; for (int i = 0; i < 5; ++ i) { ans += s[i] != t[i]; 阅读全文
摘要:
A. Remove a Progression 题意:\([1, n]\)排成一行,每次删掉第\(i\)个数,求最后第\(x\)个数是谁。 模拟发现偶数都会留下。所以答案就是\(x\times 2\)。 点击查看代码 void solve() { int n, x; std::cin >> n >> 阅读全文
摘要:
A. Dr. TC 题意:通过把\(01\)串每一位依次取反得到\(n\)个\(01\)串,求这些串里\(1\)的个数。 记\(cnt_0\)为串里\(0\)的个数,\(cnt_1\)为\(1\)的个数,那么翻转一个\(0\)使得\(1\)的个数加一,翻转一个\(1\)使得\(1\)的个数减一,那么 阅读全文
摘要:
A. Stickers and Toys 题意:\(n\)个罐子,有\(s\)个贴纸和\(t\)个玩具在里面,一个罐子最多有一个贴纸和一个玩具。求至少开几个罐子才能或者至少一个贴纸和一个玩具。 只需要开\(n - s + 1\)个罐子就能有贴纸,开\(n - t + 1\)个就能有玩具。所以答案是这 阅读全文
摘要:
A. From Hero to Zero 题意:你要把\(n\)变成零,每次有两种操作:一种是把\(n\)减一,一种是如果\(k\)整除\(n\)则把\(n\)除以\(k\)。求最小操作数。 能除就除,不能除就减到最近的\(k\)的倍数。 点击查看代码 void solve() { i64 n, k 阅读全文