dp
骑猪大侠
这个作者很懒,什么都没留下…
展开
-
cf 575 D1. RGB Substring (easy version)
The only difference between easy and hard versions is the size of the input.You are given a string s consisting of n characters, each character is ‘R’, ‘G’ or ‘B’.You are also given an integer k. Yo...原创 2019-11-06 11:29:32 · 194 阅读 · 0 评论 -
HDU6143 Killer Names(DP 与 容斥原理)
题意:m个字符组成2个长度分别为n的名和字,要求名和字不能有相同的字符,有多少可能1.容斥原理:对于名我们选i个字符(这i个字符都要用到);对于字我们就选剩下的所有字符(任意选取其中一些字符使用);对于字的种数使用快速幂模,对于名我们定义f函数,f[i]表示只使用i种字母的情况,f[i]=i^n-f[i-1]*C(i,i-1)-f[i-2]*C(i, i-2)…-f[1]*C(i,1);因此最...原创 2019-07-30 19:30:22 · 86 阅读 · 0 评论 -
HDU 6170 Two strings (dp)
博文转载自大佬千千的博客 https://blog.csdn.net/qq_28954601/article/details/77484676题意:给一个a字符串,问是否可以通过题目所给的规则使得b和a匹配思路: 我们设原串为 a ,匹配串为 b , dp[i][j] 代表 b[1…i] 与 a[1…j] 是否匹配成功。显然 dp[0][0] = true对于其他情况:1.如果 b[i]...转载 2019-07-28 19:22:50 · 65 阅读 · 0 评论 -
2019沈阳网络赛 C.Dawn-K's water(简单dp)
题意:买矿泉水,给你个n(水的种类)和m,求矿泉水的重量不小于m的最小花费思路: 完全背包模板,dp[i] 重量为i的最小花费代码:#include<iostream>#include<map>#include<iomanip>#include<algorithm>#include<math.h>#include<m...原创 2019-09-14 19:45:55 · 140 阅读 · 0 评论 -
2019上海网络赛 J Stone game
题意:分2堆石头,使得第一堆的总重量大于第二堆,并且去掉第一堆的任意一块,必有第一堆的重量小于等于第二堆,求分配方法的总数;思路考虑将数组从大到小排序,然后01背包,dp[i]表示价值为i的分配方法的总数;代码:#include<bits/stdc++.h>#include<iostream>#include<cstdio>using namespa...原创 2019-09-16 17:46:20 · 274 阅读 · 0 评论 -
codeforces 1183H - Subsequences (hard version)
加粗样式###### 题意:给你个长度为n的字符串,问是否可以获得一个大小为k的子序列集合,如果不行输出-1否则输出最小花费(得到一个子序列t的花费为|s|-|t|);加粗样式###### 思路:dp[i][j]代表前i个字符,删除j个字符得到的子序列数目,dp[i][j]=dp[i-1][j-1]+dp[i-1][j],显然这样会出现重复的子序列,例如abcdxyx,删除了xy掉和删除掉yx是...原创 2019-09-28 11:19:29 · 139 阅读 · 0 评论