摘要: A link 总共就三组,看一下每一组如果满足要让它是多少,看看最多有几个相同的,最多有几个相同的就满足这些,就可以满足这么多组。 点击查看代码 #include<bits/stdc++.h> using namespace std; int a[10]; int c[5]; void qwq(){ 阅读全文
posted @ 2025-01-31 21:36 我的晴语表 阅读(32) 评论(0) 推荐(0)
摘要: A link 首先,每次操作(第一次除外)之前\(s\)一定是一个奇数,那么我们要再加一个奇数才能让它变为偶数分数加一。 那么就是说操作过至少一次后,有几个奇数就有几分。 那么如果有至少一个偶数,那么第一次用偶数可以得分,后面再用奇数可以得分,偶数的不了分,最终得分就是奇数个数加一,如果没有偶数,第 阅读全文
posted @ 2025-01-30 19:04 我的晴语表 阅读(36) 评论(0) 推荐(0)
摘要: A link 首先,对于一个数(比如说\(x\)),它和它加一一定互质(也就是\(x\)和\(x+1\)一定互质),那么它和它加一组成的区间(\([x,x+1]\))一定是好区间,也一定是最小好区间,因为除了本身\([x,x+1]\)、两个数\([x,x]\),\([x+1,x+1]\)和空集不包含 阅读全文
posted @ 2025-01-30 12:51 我的晴语表 阅读(25) 评论(0) 推荐(0)
摘要: C link 手写队列存下开始位置和长度,模拟即可。 点击查看代码 #include<bits/stdc++.h> #define int long long using namespace std; int q; struct nd{ int st,len; }a[300005]; int h = 阅读全文
posted @ 2025-01-22 20:34 我的晴语表 阅读(40) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-01-19 11:11 我的晴语表 阅读(2) 评论(0) 推荐(0)
摘要: 好像已经很久没有写过题解了 C link 对于每一个糕点,二分查找大于等于它大小的二倍的糕点的位置(可以用\(lower_{}bound\)函数),从这个位置到\(n\)就是可以和这个糕点配对的糕点。 猜猜我是啥 #include<bits/stdc++.h> #define int long lo 阅读全文
posted @ 2025-01-13 10:12 我的晴语表 阅读(32) 评论(0) 推荐(0)
摘要: A link 由于它是由递减变成递增的,所以一定是中间一段连续的相同数不变,前面变,后面变,因为对于一个数来说原来这些数前面的数都大于等于它,而现在都要小于等于它,而原来后面的数都小于等于它,而现在都大于等于它了,那么它左右等于它的就可以不变,而不等于它的就一定要变。 那么一定是找个数最多的数不变, 阅读全文
posted @ 2024-11-24 17:42 我的晴语表 阅读(25) 评论(0) 推荐(0)
摘要: \(欧拉函数的定义\) 欧拉函数,\(\varphi(n)\),就是\(1\)~\(n\)中和\(n\)互质的数的个数。 \(欧拉函数的应用1\) 求\(1\)到\(n\)中和\(n\)互质的数的和,就是\(n\varphi(n)/2\)。 阅读全文
posted @ 2024-11-23 17:18 我的晴语表 阅读(78) 评论(0) 推荐(0)
摘要: C link 我们找到第\(k-1\)个段的结尾和第\(k\)个段的开头和结尾,当输出到第\(k-1\)个段的结尾时,输出第\(k\)个段,也就是第\(k\)个段的开头到结尾个\(1\),当输出到第\(k\)个段的开头时,直接跳到第\(k\)个段的结尾。 那么怎么找第\(k-1\)个段的结尾和第\( 阅读全文
posted @ 2024-11-16 21:38 我的晴语表 阅读(45) 评论(0) 推荐(0)
摘要: C link 由于只能往后放,显而易见,如果可以达到要求,那么一定只有一种方式。所以重心就在判断是否可行上了。 首先,如果总数量不等于\(n\)肯定不行。 其次,如果第一堆不在\(1\)肯定不行。 最后,如果到了某个点的时候石头总和不够\(1\)到这个点的数量一定是不行的。 那么在统计答案的时候,我 阅读全文
posted @ 2024-11-11 21:00 我的晴语表 阅读(81) 评论(0) 推荐(0)