返回顶部

随笔分类 -  分块

摘要:题意:给你一个数$x$,每次有两种操作可以选择,一是从$x$跳到$[1,x-1]\(的任意一个数,二是跳到\)\lfloor \frac{x}{z} \rfloor\ \ (z \in[2,x])$.问你从$x$到一有多少种方案. 题解:首先很容易写出dp公式,\(dp[t]=\sum_{i=1}^ 阅读全文
posted @ 2021-08-30 15:24 _Kolibri 阅读(71) 评论(0) 推荐(0)
摘要:数列分块入门1-9 1. #6277. 数列分块入门 1 分析:分块基本操作,对于整块直接打上标记,询问的时候加上对应块的标记值即可. 代码: #include <bits/stdc++.h> #define ll long long #define fi first #define se seco 阅读全文
posted @ 2021-05-31 20:21 _Kolibri 阅读(78) 评论(0) 推荐(0)
摘要:题意:有$m$个窗口,$n$个人排队,每个人都有各自的办理时间,只有办理完成窗口才能空出来,后面的人开始办理,求有多少人比后面的人开始办理的早但完成的晚. 题解:我们可以用优先队列来模拟办理,用一个数组q来记录办理完成的时间,之后只要求q中逆序对的个数即可,既然求逆序对,那我们肯定用归并排序啦~ 代 阅读全文
posted @ 2020-07-24 12:47 _Kolibri 阅读(158) 评论(0) 推荐(0)
摘要:题意:给你一个整数n,求所有n/k的值(k∈{1,2,3...,n,.......}). 题解:最简单的方法是用枚举1~sqrt(n),把除数和商放进set中,就能直接水过,但后来看其他人的题解了解到了一种新方法:分块. 1,2,3,4,5,6,7,8,9,10. 10,5,3,2,2,1,1,1, 阅读全文
posted @ 2020-04-30 01:03 _Kolibri 阅读(168) 评论(0) 推荐(0)