04 2021 档案

摘要:87. 扰乱字符串 editorial: 典型的区间dp 定义$dp[i][j][k]$表示s1[i: i+k-1]是否是可以通过规则转化为s2[j: j+k-1]。 则动态规划的递推式为:\(dp[i][j][k]|=(dp[i][j][l] \land dp[i+l][j+l][k-l]) \l 阅读全文
posted @ 2021-04-16 09:45 jadelemon 阅读(62) 评论(0) 推荐(0)
摘要:不降数 editorial 与atcoder中该题非常相像,因此我们可以先选出递增的序列。 序列可能的方案数为$C(9,1) + C(9, 2) + C(9, 3) + ... + C(9, min(n, 9))$,然后我们使用插板法,可以将固定长度的序列扩充成长度为n的序列,给定序列长度为x,则扩 阅读全文
posted @ 2021-04-15 21:01 jadelemon 阅读(90) 评论(0) 推荐(0)
摘要:若两个数$n,m$相乘,不允许使用$*$运算符. 我们发现$n*m$的性质类似于快速幂$n^m$的性质,故可以使用快速幂加速。` int n_mul_m(int n, int m) { int ans = 0; while(m) { if(m&1) ans += n; n += n; m >>= 1 阅读全文
posted @ 2021-04-13 10:15 jadelemon 阅读(186) 评论(0) 推荐(0)
摘要:最短编辑距离 牛客题库连接 __author__ = 'Jade' """ solve minimum Edit Distance , time is O(nm) , space is O(nm) """ def findAStrtoBStrMinSteps(a_str , b_str): a_st 阅读全文
posted @ 2021-04-07 11:43 jadelemon 阅读(35) 评论(0) 推荐(0)
摘要:149 直线上最多的点数 editorial: 固定一个点,计算其他点到达该点的斜率,然后输出相同斜率个数最大值+1。判断好边界条件(一个点的情况,直接输出1)。而斜率采用向量(x, y)的形式,保证该向量gcd(x, y)=1,然后对于x,y同号,都转成正数;异号,保证x为正数,y为负数。\(O( 阅读全文
posted @ 2021-04-06 22:40 jadelemon 阅读(93) 评论(0) 推荐(0)