会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
返回顶部
Rayotaku
我们一日日度过的所谓日常,实际上可能是接连不断的奇迹
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
9
10
11
12
13
14
15
16
17
···
52
下一页
2021年5月7日
洛谷 P6186 [NOI Online #1 提高组] 冒泡排序 (权值树状数组)
摘要: 题意:RT 题解:可以自己在纸上画画看,对于位置$i$的数$a[i]$,假如它目前的逆序对数为$c[i]$,进行一次冒泡排序后,它前面最大的一个数必然会移动到它的后面去,所以可以推广到:冒泡排序$k$次后,逆序对个数变为$c[i]-k$.那么对某一状态的排列冒泡$k$次后,逆序对个数$\le k$的
阅读全文
posted @ 2021-05-07 11:35 _Kolibri
阅读(95)
评论(0)
推荐(0)
2021年5月1日
洛谷 P1522 [USACO2.4]牛的旅行 Cow Tours (最短路,floyd)
摘要: 传送门 分析:对于给出的邻接矩阵,用并查集维护牧场,并求两点的距离,然后对所有点跑一个floyd(因为只有连通的点我们才求了距离,所以可以直接对所有点跑),对于一个牧场,我们可以求出它里面每个点到其他点的最远距离,以及牧场的直径,那么我们再去枚举任意两个点,如果它们不在一个集合内,那么可以得到这两个
阅读全文
posted @ 2021-05-01 16:22 _Kolibri
阅读(66)
评论(0)
推荐(0)
Educational Codeforces Round 108 (Rated for Div. 2) D. Maximum Sum of Products (区间dp)
摘要: 题意:有两个长度为$n$的数组$a$和$b$,你可以对$a$的子数组反转一次,问你$\sum_^a_i*b_i$的最大值. 题解:一眼区间dp的题目,对于长度为$len$的子区间$[l,r]\(,它可以从\)[l+1,r-1]$转移过来,那么我们设$dp[i][j]\(为子区间\)[i,j]$能得到
阅读全文
posted @ 2021-05-01 15:58 _Kolibri
阅读(44)
评论(0)
推荐(0)
Lyft Level 5 Challenge 2018 - Elimination Round C. Permutation Game (博弈,dp)
摘要: 题意:有一个长度为$n$的排列,A和B进行博弈,每次操作可以在当前数$a_i$的基础移动到另一个位置,但是新的位置上的数$a_j>a_i$且$|i-j|$ mod \(a_i\)=0.A先手,问你所有$[1,n]$的情况中,A从$i$开始的结局情况. 题解:因为$a_i$每次只能移动到比自己大的数的
阅读全文
posted @ 2021-05-01 15:49 _Kolibri
阅读(49)
评论(0)
推荐(0)
Lyft Level 5 Challenge 2018 - Elimination Round D. Divisors (数论,二分)
摘要: 题意:给你$n$个数,每个数都有$3$~$5$个因数,问你将这$n$个数累乘后的因子数. 题解:对于求约数个数,很容易想到唯一分解定理:\(x=p_1^{a_1}*p_2^{a_2}*...p_k^{a_k}\),然后就能计算出因子数:\((a_1+1)*(a_2+1)*...(a_k+1)\).但
阅读全文
posted @ 2021-05-01 14:50 _Kolibri
阅读(59)
评论(0)
推荐(0)
2021年4月29日
Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) D. Recovering BST (dp,二叉搜索树)
摘要: 题意:给你$n$个升序的点,问你是否能构造一颗二叉搜索树,且每个儿子节点和父节点的$gcd>1$. 题解:首先可以预处理每两个点之间的$gcd$,我们先考虑暴力的写法,设$dp[l][r][k]\(表示区间\)[l,r]$以$k$为根节点是否合法,那么如果$dp[l][r]k]$要合法的话,其左儿子
阅读全文
posted @ 2021-04-29 17:34 _Kolibri
阅读(50)
评论(0)
推荐(0)
Educational Codeforces Round 49 (Rated for Div. 2) D. Mouse Hunt (tarjan缩点)
摘要: 题意:有一只老鼠,有$n$个位置,刚开始老鼠可能出现在任意位置,然后每次跑去第$a_i$个位置,如果$i=a_i$那么它就会停下,你可以在第$i$个位置花费$c_i$放置老鼠夹,你想要话费最小的代价来保证能抓到老鼠,问最小代价是多少. 题解:我们可以把数组$a$抽象成一张有向图,容易发现,对于一条链
阅读全文
posted @ 2021-04-29 16:59 _Kolibri
阅读(55)
评论(0)
推荐(0)
AtCoder Beginner Contest 199(Sponsored by Panasonic) E - Permutation (状压dp)
摘要: 题意:一长度为$n$的序列,有$m$个限制条件,问有多少排列方法使得题目所给的$m$个限制条件都满足. 题解:$n$给的范围很小,我们可以状态压缩,$v[num][j]$表示题目所给的限制条件前$num$个数最多不大于$y$的个数,我们可以枚举所有情况,然后判断每个状态是否和题目所给的条件冲突,如果
阅读全文
posted @ 2021-04-29 16:44 _Kolibri
阅读(136)
评论(0)
推荐(0)
2021年4月26日
Codeforces Round #717 (Div. 2) D. Cut (质数分解,倍增dp)
摘要: 题意:给你$n$个数,有$q$个询问,每次询问一个区间,问你这个区间至少要分成多少个子区间,使得每个子区间的所有元素乘积等于它们的$lcm$. 题解:因为$lcm(x,y)=\frac{x*y}{gcd(x,y)}$,推广一下不难发现,要满足题目条件的话,区间内所有元素的$gcd=1$.即不能有公共
阅读全文
posted @ 2021-04-26 20:29 _Kolibri
阅读(94)
评论(0)
推荐(0)
Contest 2050 and Codeforces Round #718 (Div. 1 + Div. 2) D. Explorer Space (记忆化搜索)
摘要: 题意:有一个$n$x$m$的矩阵,相邻点之间都存在边权,每次可以移动到相邻点,问你每个点移动$k$次后并回到该点的最短边权和. 题解:如果$k$是奇数的话,一定不能走回到自己,因为线段来回来走两次或走一个矩阵,他们的边长和都是偶数.$dp[i][j][k]\(表示点\)(i,j)$走$k$次后回到自
阅读全文
posted @ 2021-04-26 20:11 _Kolibri
阅读(46)
评论(0)
推荐(0)
上一页
1
···
9
10
11
12
13
14
15
16
17
···
52
下一页