自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 mybaits学习

编写配置文件mybatis-config.xml。建立 SqlSessionFactory工厂。编写Usermapper.xml。在配置文件中添加依赖项。

2023-03-28 17:53:48 99

原创 acm第十二周学习总结

学习总结 这周学习了递归和搜索,先从递归引入,程序直接或间接调用自身的编程技巧称为递归算法,直接或间接调用自身的函数称为递归函数。

2021-05-22 23:47:49 105

原创 acm第十一周学习总结

学习总结 这周学习了分组的背包问题和二分法; 分组的背包问题就是把n件物品分成若干组,对每组物品至多取一件物品放进背包,在不超过背包容量的情况下,可以存放的最大价值; 状态转移方程:f[k][v]=max{f[k-1][v],f[k-1][v-c[i]]+w[i]} 注:其中for v的逆排序必须放在for i属于组k之外保证每个组只能有一个被添加到背包; 题目描述: 有 N 组物品和一个容量是 C 的背包。 每组物品有若干个,同一组内的物品最多只能选一个。 每件物品的重量是 w[i][j],价值是 v[i

2021-05-15 22:08:47 137

原创 第十周acm学习总结

二进制优化: 将第i种物品拆分成若干件物品,每个物品有一个系数,1, 2, 4, 8… 2k-1, n-2k+1, 假设有一种大米只有M袋 例如M为100 利用二进制来分解 for(int j=1;j<=a[i].num;j<<=1){ //左移一位等价于乘以 2 weigh[coun]=j*a[i].weight; size[coun++]=j*a[i].value;

2021-05-08 21:34:31 116

原创 acm第八周学习总结

背包问题 01背包问题: 01背包: 有n件物品和一个容量为v的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 基本思路: 由于每件物品只有一件,所以我们只要考虑这件物品是放还是不放,如果放的话背包容量为v-c[i],其价值也会增加放入物品的价值,若如果选择不放的话,则i-1其价值不变。 状态转移方程: f[i][v]=max(f[i-1][v],f[i-1][v-c[i]]+w[i]) 01背包问题的优化: 01背包可以由二维数组降为一维数组,状态转移方程由f[

2021-04-25 22:03:38 91

原创 acm第七周学习总结

学习体会: 这周结束了线性dp的学习

2021-04-18 00:39:07 123

原创 acm第六周学习规划学习总结

acm线性规划学习总结 一,动态规划是分阶段求最优值的算法。 将复杂问题按阶段划分成子问题; 枚举子问题各种可能情况,从中找出最优值; 利用子问题的最优值求得源问题的最优解; 二, 动态规划解题过程: 1、判断问题是否具有最优子结构性质,若不具备则不能用动态规划。 2、把问题分成若干个子问题(分阶段)。 3、建立状态转移方程(递推公式)。 4、找出边界条件。 5、将已知边界值带入方程。 6、递推求解。 三, 最长上升子序列-1 一个数的序列bi,当b1 < b2 < ... < bS

2021-04-10 22:28:49 175

原创 **acm第三周学习总结**

acm第三周学习总结 一.学习内容总结 本周我做了第一道codeforece的题目。 A.奇怪的桌子 题目大意就是将按行排列的单元格序号找出来然后求它按列排列的单元格序号; 代码如下 #include using namespace std; int main() { int T; cin >> T; while (T–) { unsigned long long n, m,x; cin >> n >> m >> x; unsigned long long

2021-03-27 23:25:07 78 2

原创 acm第二周学习指导

双指针的应用 1.双指针 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。双指针可以从不同的方向向中间逼近也可以朝着同一个方向遍历。 2.使用双指针 反转数组中的元素。 其思想是将第一个元素与末尾进行交换,再向前移动到下一个元素,并不断地交换,直到它到达中间位置。我们可以同时使用两个指针来完成迭代:一个从第一个元素开始,另一个从最后一个元素开始。持续交换它们所指向的元素,直到这两个指针相遇。 void reverse(int *v, int N) { int i = 0; int j =

2021-03-20 17:52:30 117

原创 acm第一周学习总结

acm第一周学习总结 一.学习内容总结 1.STL的简单应用:使用string定义字符串。 2.使用万能头文件#include<bits/stdc++.h> 3.使用sync_with_stdio(false); 提高cin,cout输入和输出效率 4.栈stack(先进后出)和队列(先进先出)。 5.动态数组vector。相当于一个可变大小的数组。 6.使用sort函数进行排序,默认从小到大排序,第一个参数是起始位置,第二个函数是结束地址,第三个参数可以定义排序方法。 7.优先队列(prior

2021-03-13 13:38:59 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除