11 2020 档案

摘要:因为每件物品可以无限买,所以是完全背包。 三种商品重量手动赋值即可。 因为这道题求的是最大重量,所以状态转移方程改为 f[j] = max(f[j],f[j - w[i]] + w[i]) 。 #include<bits/stdc++.h> using namespace std; int w[4] 阅读全文
posted @ 2020-11-29 13:17 樱雪喵 阅读(112) 评论(0) 推荐(0) 编辑
摘要:emmm 01 背包模板... 设 f[i] 表示背包容积为 i 时所得的最大价值。 则状态转移方程为 f[j] = f[j - w[i]] + c[i] 。 #include<bits/stdc++.h> using namespace std; int w[1001],c[1001],t,m,f 阅读全文
posted @ 2020-11-29 13:09 樱雪喵 阅读(101) 评论(0) 推荐(0) 编辑
摘要:01背包问题。 与模板不同,这道题要求的是最小剩余空间,也就是求背包里最多能放多少东西。 所以状态转移方程变为 fi= fi - w[i] + wi 。 其中 fi 表示当背包容量为 i 时可放的最大重量。 注意要倒着循环。 #include<bits/stdc++.h> using namespa 阅读全文
posted @ 2020-11-29 08:42 樱雪喵 阅读(79) 评论(0) 推荐(0) 编辑
摘要:然而并不会做。 最后就照着题解码了一遍/kk 真的好长啊。看时间就知道写了多久... upd in 2022: 我现在已经找不到原题面是什么了( 不过感觉把这样一篇不算题解的东西放进“题解”里,多少有点不合适呢() #include<bits/stdc++.h> using namespace st 阅读全文
posted @ 2020-11-29 00:07 樱雪喵 阅读(398) 评论(1) 推荐(1) 编辑
摘要:大概是我第一道没看题解写出来的 bfs 。 又写了 30min ,尽管题确实挺简单的。 总结下自己的错误: 注意判断边界和已经走过的路。 不能直接读入,要用字符串,因为矩阵里没有空格。 直接 bfs 即可。 #include<bits/stdc++.h> using namespace std; s 阅读全文
posted @ 2020-11-27 22:59 樱雪喵 阅读(193) 评论(2) 推荐(0) 编辑
摘要:一些废话: 怎么说写完前两道题再写这道题思路就顺畅多了。但还是写了半个小时。 依然是 dfs 。。。和上两道题思路挺像的。 首先,根据 拔河比赛两边人数最多不能相差 1。 可得:如果 n 是偶数那么两组的人数就只能相等,如果 n 是奇数那么我们只要选出人数为 (n-1)/2 的一组就行了。 所以要选 阅读全文
posted @ 2020-11-27 20:46 樱雪喵 阅读(258) 评论(1) 推荐(0) 编辑
摘要:dfs。又调了一个小时,窝果然菜 需要传递的变量分别为目前搜索的数字;目前所有选中数字的和;目前所选数字个数。 见注释。 #include<bits/stdc++.h> using namespace std; int n,ans[1001];//题面似乎没给数据范围。。。 void dfs (in 阅读全文
posted @ 2020-11-21 23:06 樱雪喵 阅读(127) 评论(1) 推荐(0) 编辑
摘要:一看就是 dfs 然而窝并不会做 调了一个多小时才调出来。漏洞连篇。(第一次写的基本没有对的地方QAQ 题解见注释。 #include<bits/stdc++.h> using namespace std; int n,r,ans[22]; void dfs(int a,int b)//a 表示当前 阅读全文
posted @ 2020-11-21 20:21 樱雪喵 阅读(79) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示