随笔分类 - AtCoder
摘要:前言:感觉题解的整体二分怪怪的,好像不是很板啊,故而修改成比较板的整体二分形式, 这里不教整体二分捏 首先,为什么可以整体二分:容易观察其答案具有二分性 其次多个询问,符合整体二分性质 考虑对于某个中间层mid,怎么判两点是否连通 这个很容易,可以用并查集把mid及以上的点连接在一起 然后根据整体二
阅读全文
摘要:F - Robot Rotation 一句话不开LL,见祖宗 感谢大佬,和洛谷上的题解 上面已经将的很清楚了,但是如果你跟我一样一开始看不懂他们的代码,那么这篇可能为你解惑 点击查看代码 #include <bits/stdc++.h> using namespace std; #define LL
阅读全文
摘要:D - Square Permutation 须知:最大的平方数的平方一定小于等于10n,平方数最多为10(n/2)(因为再大会越界) 因为要求的数一定是原数的排列组合,所以它们的元素和对应的元素个数一定相同 所以只要判断平方数的字符串是否与原字符串相等即可(这里可以利用排序判断) 点击查看代码 #
阅读全文
摘要:E - Playlist 首先需要算出第x+0.5秒后,第一首歌播放的概率 1.要在x+0.5秒后播放第一首,需要在x,x-1,x-2,...,x-t[1]+1,时就要开始播放第一首,并且概率是1/n,概率之和除以n 2.概率dp,dp[i]表示播放i的概率,那么可以转换成,dp[i]+=dp[i-
阅读全文
摘要:F - Vacation Query 此题与4301 Can you answer on these queries III类似 只不过要维护0和1两个值 解法: 区间修改和查询,可以利用线段树 1.两区间合并的答案,要么lc(左子树)中,要么在rc(右子树)中,但是也有可能出现在(lc的右端点连续
阅读全文
摘要:E - Product Development 一眼看上去,选与不选,很像01背包问题,很显然当k=1时就是01背包 那我们可以想到设置dp[i],表示目标为i时所要花费的最小代价,直接套用01背包模板 但是题目写道要满足多个k值,也就是多个背包问题,那该怎么办 但是我们可以看到,p<=5,小于10
阅读全文
摘要:E - Complete Binary Tree 完全二叉树 三个值N,X,K,分别表示点的个数,点的编号,求到X点的距离为K点的个数。 首先,我们对以X为根的子树进行分析,可以知道到X点距离为K的点的个数为2^k。这里需要特判,深度为K时最左边的编号不能大于N,点的个数就等于min(r,n)-l+
阅读全文
摘要:题意:给定一个数K,问第K小的数是多少,数字严格按照按321式递减 可知,数最大为987654321,可以暴力枚举 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long vector<LL> ans; LL
阅读全文
浙公网安备 33010602011771号