自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 周末总结

背包问题学习1 背包问题学习2 背包问题学习3 时间分割点(上周所写以及本周所写) 背包问题学习4 背包问题学习5 背包问题学习6

2021-05-17 10:35:33 97

原创 背包问题学习8——poj2184——01背包变形

题目链接 1.思想转换 对于每头牛,要么选要么不选,有点类似于01背包,但是又有两个参数:智力值和幽默值,我们设dp[i]为智力值为i时对应的幽默值最大,最终选择完后能够得到最大的幽默值, ...

2021-05-17 10:30:10 111 1

原创 背包问题学习7——poj3181——高精度大数处理

题目链接 数据超过范围时的处理方法 #include<iostream> using namespace std; #define ll long long const ll inf=1e18; int main() { int n,k; while(cin>>n>>k){ ll dp[1005]={0},a[1005]={0}; dp[0]=1; for(int i=1;i<=k;i++){

2021-05-17 09:28:34 133

原创 背包问题学习6——poj——1787——记录路径

记录路径的代码书写注意点 1.因为是记录路径,所以要一个一个的背包进行更新,不能使用二进制代码优化 2.主要代码部分 if (dp[j - v[i]] + 1 > dp[j] && dp[j - v[i]] && used[j - v[i]] < num[i]) { dp[j] = dp[j - v[i]] + 1; used[j] = used[j -

2021-05-15 22:40:53 343

原创 背包问题学习5——循环细节——poj2163

题目链接 1.循环细节 写出相应代码后,如果循环明显会超时,则考虑优化 可能的优化角度 (1)代码本身能够优化:比如背包的二进制优化,即是对代码本身进行优化 (2)题目条件进行优化:比如说这个题,本金和固定bond部分都是1000的倍数,从而对循环量进行优化 对第二条也要警惕些,从第二条感觉到题目的输入部分对数据量的描述也要警惕了(能够优化循环量) 2.题目代码 #include<iostream> #include<cstdio> #include<cstring> u

2021-05-12 22:20:10 131 1

原创 背包问题学习4——上界确定(鸽笼原理)、二进制代码优化放进循环中——poj3260(补充理解)

题目链接 1.二进制代码优化放进循环中的代码 for (i = 1; i <= n; i++) { for (k = 1; k <= num[i]; k *= 2) { for (j = vol; j >= k * val[i]; j--) { dp[j] = min(dp[j], dp[j - k * val[i]] +

2021-05-12 00:49:23 162 4

原创 背包学习总结////////////省赛总结

本次参加省赛,感觉还是自己实力很薄弱,比如对签到题G,保留位数,虽说是很基础的题目,但换我做绝对做不出来,因此,自己的基础知识就有很大的漏洞。 同时,在答H题(类01背包)时,尽管思路是自己想的,也完全正确,同时也是自己在最后调出了代码,但还是有很多细节点是另外的小伙伴考虑到的,比如值转换处理我就没考虑到,虽说在区间dp中有类似处理,但没考虑到就很可惜,还是自己做题少,需要多练。 尽管在最后出了三道题,可惜罚时上差的比较远,后两道题都是在封榜时出的,很可惜,感觉自己的能力也差很多,比如读英语速度,一些特殊算

2021-05-10 13:39:33 176 3

原创 背包问题学习3——dp状态覆盖

poj1276/作业题O 做题时漏掉的点:dp状态更新覆盖掉了之前的状态 反思点:降维时要考虑之前的状态是否会被覆盖掉 #include <iostream> #include <stdio.h> #include <algorithm> #include <stdlib.h> #include<vector> #define N 10 #define maxn 10010 #define maxnn 100010 using namespace

2021-05-07 21:30:32 135 1

原创 背包问题学习2——hdu1059——思维转换、二进制优化

题目链接 1.思维转换 两个人分的石子重量值相同,等效成一个人分得一半的石子值,瞬间出来了背包问题模板 也就是说有相同量要归到最小规模——便于表示、出思路 2.二进制优化代码模板 int j = 1; for (int i = 1; i <= N; i++) { int temp = 1; while (a[i] > temp) { c[j++] = temp

2021-05-06 23:18:18 134 1

原创 Same Differences——STL容器中的unordered_map学习

题目链接 #include <iostream> #include <string> #include <unordered_map> #include <algorithm> using namespace std; #define ll long long //1.开ll,不然会WA unordered_map<ll, ll> vis; //2.假定这里写int,int,后

2021-05-06 12:10:49 98

原创 浮点数转换成整型数保留精度——UVA147——dollars

题目: New Zealand currency consists of $100, $50, $20, $10, and $5 notes and $2, $1, 50c, 20c, 10c and 5c coins. Write a program that will determine, for any given amount, in how many ways that amount may be made up. Changing the order of listing does not in

2021-05-05 22:34:03 208

原创 背包问题学习1——去除dp后效性——hdu3466——Proud Merchants

作业题E/hdu3466 #include<algorithm> #include<iostream> #include<vector> using namespace std; const int maxn = 5001; int n, m; int dp[maxn]; struct xiao { int pi, qi, vi; }a[maxn]; bool cmp(xiao x, xiao y) { return x.pi - x.qi > y

2021-05-05 09:42:46 212

原创 Gym_102220_B_Balanced Diet(动态数组+前缀数组)

这个题在比赛时出思路了,可惜自己没有想到用动态数组减少循环量,用普通数组双重循环会导致超时,因此特意写此篇博客,以此来熟悉动态数组 #include <map> #include <vector> #include <string> #include <iostream> #include<algorithm> using namespace std; #define ll long long #define maxn 100010 vecto

2021-05-04 08:50:58 276

空空如也

空空如也

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

TA关注的人

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