首页 > 冰狱寒岚
头像 小琢卷不动
发表于 2021-12-17 21:00:50
牛客小白月赛 42 官方题解 恭喜上百位同学 AK ! ! 你们太强辣 ! ! A 冰狱寒岚 考虑找规律,第 102410241024 个位置是 −1024-1024−1024,也就是说第 204820482048 个位置就又变回了 000。 据此循环节是 204820482048,首先令 n←n& 展开全文
头像 竹_yin
发表于 2021-12-17 21:04:01
E.暗灭侵蚀题解: ** ** 简单使用贪心模拟即可,每次用最小的a以最大的c为中心向前跳跃此时a变为最大的c+(c-a)重复以上步骤直到有数大于n ACcode: #include<bits/stdc++.h> using namespace std; int t; void dfs( 展开全文
头像 竹_yin
发表于 2021-12-17 21:12:59
C:寒潭烟光 在一个数列前加上一个x0,很容易考虑到他的前缀和数列每一位也会全部加上x0,也就是这个数列的前缀和总共加上了(n+1)*x0 而f(x)*n就是他原来所有前缀和所有项的和再加上(n+1)*x0就是当前前缀和所有项之和接下来简单的除以(n+1)就是当前平均数了 #include< 展开全文
头像 竹_yin
发表于 2021-12-17 21:20:35
A.不需要分类讨论,提供一个很简单的思路,题目很明显的看出每过2047为一个周期,那么只需要将当前的数加上1024这样就可以令周期从-1024-1023变为0-2047 这样只需要将x+1024取余2048最后输出x-1024就可以了 ACcode: #include<bits/stdc++. 展开全文
头像 cyhyyds
发表于 2021-12-17 21:01:54
分类讨论。 1.1.1. 当 x<1024x<1024x<1024 时,输出 xxx; 2.2.2. 当 x<2048x<2048x<2048 时,输出 x−2048x-2048x−2048; 3.3.3. 当 x≥2048x \ge 2048x≥2048 时,输 展开全文
头像 mp4502
发表于 2021-12-18 00:21:35
#include<iostream> #include<math.h> using namespace std; long long sqrts(long long o) { return ceil(sqrt(o)); } long long sqrtd(long long 展开全文
头像 你好__世界
发表于 2021-12-17 23:19:25
关于D题,我不理解???? 正常求解是对的,但是我先预处理出来所有情况,查表做,结果居然wa了,求大神解答 #include <cmath> using namespace std; typedef long long LL; int n; int l, r; int step; LL 展开全文
头像 qwqwqwqwqwq
发表于 2021-12-18 10:40:05
A. 冰狱寒岚 对于每一个输入的 nnn,考虑让 n←n mod 2048n \leftarrow n \bmod 2048n←nmod2048,然后进行分类讨论 对于 n<1024n < 1024n<1024,答案显然是 nnn; 对于 n≥1024n \ge 1024n≥10 展开全文
头像 言琢დ
发表于 2021-12-22 09:55:54
可以考虑找规律求解。 首先,从 000 开始到 102310231023,直接输出。 然后: 1024→−10241024\rightarrow-10241024→−1024。 1025→−10231025\rightarrow-10231025→−1023。 1026→−10221026\rig 展开全文