动态规划
文章平均质量分 53
kunyuwan
ACMer,机器视觉,SLAM,研究生在读
展开
-
2021牛客多校1——I:Increasing Subsequence(动态规划)
题面 题意: 给出排列P,两个人轮流取数,每次取的数需要在之前该人取数的右边,且比当前取出来所有的数都要大。所有当前可选的数都将等概率随机的被当前决策人选中。问两个人期望取数的轮数。 规则1:每个人取的数字都应该比当前已经被取出来的数字大。 规则2:每个人取的数字都只能取他上一个取的数字右边的数字。 思路: 通过两个规则,我们可以依次用dp[i][j]来代表前一个取了i,后一个人取了j,因为它是一个长度为n的排列,因此我们可以利用逆序的下标来满足规则1,我们先用i遍历一遍下标n到1,再逆序遍历数组a.原创 2021-07-26 09:55:05 · 432 阅读 · 0 评论 -
2021牛客多校1——F:Find 3-friendly Numbers(暴力,数位dp)
题面 题意: 定义一个自然数是 3-friendly 的,如果它存在一个子串(允许前导0)是 3 的倍数。多组数据,求 L~R 中 3-friendly 的数的个数。 思路: 这道题目我们可以发现规律,主要位数不少于3位,必定会出现一组前缀和%3相同的位置,所以他们这端区间必然%3=0。 我们前3个数的选择方案总共就0,1,2。那么前三个数字的选择方案就9种,这9种方案必定会使得一个子区间%3=0,所以超过三位的数字都不需要进行判断和分析,直接暴力处理前100位即可。 数位dp的解法,我们可以知道我.原创 2021-07-26 09:38:35 · 307 阅读 · 0 评论