上一页 1 ··· 5 6 7 8 9
摘要: 实现一个单链表,链表初始为空,支持三种操作: (1) 向链表头插入一个数; (2) 删除第k个插入的数后面的数; (3) 在第k个插入的数后插入一个数 现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。 注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了 阅读全文
posted @ 2020-12-18 16:13 君与 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 设有N堆石子排成一排,其编号为1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。 #include<b 阅读全文
posted @ 2020-12-18 15:45 君与 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 给定n个长度不超过10的字符串以及m次询问,每次询问给出一个字符串和一个操作次数上限。 对于每次询问,请你求出给定的n个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。 每个对字符串进行的单个字符的插入、删除或替换算作一次操作。 #include<bits/stdc++.h> 阅读全文
posted @ 2020-12-13 16:50 君与 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 给定两个长度分别为N和M的字符串A和B,求既是A的子序列又是B的子序列的字符串长度最长是多少。 #include<bits/stdc++.h> using namespace std; string s1,s2; int f[1010][1010]; int l1,l2; int main() { 阅读全文
posted @ 2020-12-13 16:30 君与 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数N。 第二行包含N个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤100000 , −109≤数列中的数≤109 输入样例: 7 3 1 2 1 8 5 6 输出样例: 4 阅读全文
posted @ 2020-12-13 15:06 君与 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 #include<bits/stdc++.h> using namespace std; const int N=1005; int a[N],f[N],n,ans; int main() { cin>>n; for(int i= 阅读全文
posted @ 2020-12-11 16:18 君与 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 #include <bits/stdc++.h> using namespace std; int a[1010][1010],f[10 阅读全文
posted @ 2020-12-11 15:52 君与 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 多重背包 有 n种物品 一共有 m大小的背包,每种物品的价值 大小 个数 为 s[i],v[i],num[i]; #include<bits/stdc++.h>//cmhao #define N 100000 using namespace std; int a[N]; int n,m,cut; i 阅读全文
posted @ 2020-12-08 15:59 君与 阅读(54) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9