摘要: #include<iostream> #include<string> #include<stack> using namespace std; int main() { stack<char> str2; char str[1200]; int t = 1; cin.getline(str,100 阅读全文
posted @ 2020-10-21 18:04 一只菜鸡! 阅读(35) 评论(0) 推荐(0)
摘要: 首先我们来看这两个串:abba和abcba。第一个串的回文中心在两个b之间,第二个串的回文中心为字符c,这样两种情况我们分类讨论太麻烦了,所以我们考虑对原字符串进行一个字符填充,abba->@#a#b#b#a# ,abcba->@#a#b#c#b#a#,这样他们都变成了奇数,讨论的情况就一致了。 i 阅读全文
posted @ 2020-08-07 22:34 一只菜鸡! 阅读(106) 评论(0) 推荐(0)
摘要: 具体讲解https://blog.csdn.net/v_JULY_v/article/details/7041827 两个概念得需要知道: 前缀:指的是字符串的子串中从原串最前面开始的子串,如abcdef的前缀有:a,ab,abc,abcd,abcde 后缀:指的是字符串的子串中在原串结尾处结尾的子 阅读全文
posted @ 2020-08-07 17:51 一只菜鸡! 阅读(82) 评论(0) 推荐(0)
摘要: 完全背包: 01 阅读全文
posted @ 2020-04-21 22:53 一只菜鸡! 阅读(182) 评论(0) 推荐(0)
摘要: 第一行两个数n,m。n表示顶点个数(编号1~n),m为边的条数。接下来m行,每行三个x y z。表示顶点x到顶点y的边的权值为z。 用邻接表存储这个图: int n,m,i; //u,v,w的数组大小要根据实际情况来设置,要比m的最大值大1 int u[6],v[6],w[6]; //first和n 阅读全文
posted @ 2020-04-21 22:34 一只菜鸡! 阅读(156) 评论(0) 推荐(0)
摘要: 有n件物品,每件物品的重量为w[i],价值为c[i]。现有一个容量为V的背包,问如何选取物品放入背包,使得背包内物品的总价值最大。其中每种物品都只有一件。 令dp[i][j]来表示前i件物品装入容量为j的背包所能得到的最大总价值。 对于dp[i][j]来说,i指的是前i件物品,j指的是还剩下多少背包 阅读全文
posted @ 2020-04-14 18:27 一只菜鸡! 阅读(95) 评论(0) 推荐(0)