随笔分类 - 思路题
摘要:"传送门" 解题思路 差点写树套树。。。可以发现如果几个数都能被$m$整除,那么这几个数拼起来也能被$m$整除。同理,如果一个数不能被$m$整除,那么它无论如何拆,都无法拆成若干个可以被$m$整除的数。这样的话只需要看那些被$m$整除的前缀个数,然后选与不选直接$2^cnt$即可。 代码 cpp i
        阅读全文
                
摘要:"传送门" 解题思路 比较好想的一道思路题,结果有个地方没开$long$ $long$ $wa$了三次。。其实就是模仿一下树链剖分,重新定义重儿子,一个点的重儿子为所有儿子中到叶节点权值最大的点,然后就和树链剖分一样$dfs$一遍,把那些链的顶端的$sum$值放到一个数组排个序。 代码 cpp in
        阅读全文
                
摘要:"传送门" 解题思路 比较好想的思路题。首先肯定要把原序列转化一下,大于$k$的变成$1$,小于$k$的变成$ 1$,然后求一个前缀和,还要用$cnt[]$记录一下前缀和每个数出现了几次,然后统计答案的时候从$1$循环到$k$,每次转化为前缀和相减即可。 代码 cpp include include
        阅读全文
                
摘要:传送门解题思路喆巨考我的题,我这么菜当然瞬间被考住,想了半天没想出来,后来喆巨讲了才突然大彻大悟。。 思路就是因为众数次数一定大于其他数出现次数的和,就可以拿其他数抵消众数,cnt为当前答案下前面这个答案比其他数多的情况。代码int n,cnt,ans,k;...
        阅读全文
                
摘要:传送门解题思路比较有意思的一道思路题,首先假如有两个点,每个点的人数都是1,那么将车站建在两个点之间的任意一个位置最后的答案均为这两点的长度,那么考虑在加一个人数为1的点在这两个之间,那么最优的一定是在这个点建在新加的点上,这样的长度还是原来两点的长度,然后...
        阅读全文
                
摘要:传送门解题思路发现当x+1时,有的x%i会+1,有的会变成0,而变成0的说明是x的约数,就可以nlogn预处理出每个约数的贡献,然后每次用n-约数。代码#include#include#include#includeusing namespace std;c...
        阅读全文
                
摘要:传送门解题思路比较简单的一道思路题,首先假设他们没有前面牛的限制,算出每只牛最远能跑多远。然后按照初位置从大到小扫一遍,如果末位置大于等于前面的牛,那么就说明这两头牛连一块了。代码#include#include#include#includeusing n...
        阅读全文
                
摘要:传送门解题思路首先考虑k=1的情况,对于每一个a[i],它可能会到a[i-1]*2-a[i] 与 a[i+1]*2-a[i]两个位置,概率都为%50,那么它的期望位置为 (a[i-1]*2-a[i]+a[i+2]*2-a[i])/2 即为 a[i+1]+a[...
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号