当前位置: 首页 > news >正文

做pc端网站服务免费版企业邮箱注册

做pc端网站服务,免费版企业邮箱注册,wordpress获取当前页面内容,wordpress自定义文章流程我家娃可太好看了#xff0c;有点担心月嫂走了没法照顾娃。 明天没有新的题#xff0c;所以我今天开个头吧。又懒了。 01背包问题 二维 思路看了一遍#xff0c;默写一下哈。甚至看了两遍#xff0c;但是还没开始搞。。。振作起来#xff01;#xff01;#xff01; 目…我家娃可太好看了有点担心月嫂走了没法照顾娃。 明天没有新的题所以我今天开个头吧。又懒了。 01背包问题 二维 思路看了一遍默写一下哈。甚至看了两遍但是还没开始搞。。。振作起来 目前看就是核心那一行有点问题具体看备注吧然后就是把验证代码也放上来了。 #include iostream #include vector using namespace ::std; int main() {int n;int bagweight;cin n;cin bagweight;// cout n是 n endl;// cout bagweight bagweight endl;vectorint weight(n, 0);vectorint value(n, 0);for (int i 0; i n; i){cin weight[i];}for (int i 0; i n; i){cin value[i];}// test// for (int i 0; i n; i)// {// cout weight是 weight[i] endl;// cout value是 value[i] endl;// }vectorvectorint dp(n, vectorint(bagweight 1, 0));for (int j weight[0]; j bagweight; j){dp[0][j] value[0];}for (int i 1; i n; i){for (int j 0; j bagweight; j){if (weight[i] j){//这行实际上也做了第0列第i行的赋值。dp[i][j] dp[i - 1][j];}else{//要考虑 j - weight[i] 是前一个价值可能性dp[i][j] max(dp[i - 1][j], dp[i - 1][j - weight[i]] value[i]); }}}// for (int i 0; i n; i)// {// for (int j 0; j bagweight; j)// {// cout dp[i][j];// }// cout endl;// }cout dp[n-1][bagweight];return 0; }随想录的写法学习一下。 //二维dp数组实现 #include bits/stdc.h using namespace std;int n, bagweight;// bagweight代表行李箱空间 void solve() {vectorint weight(n, 0); // 存储每件物品所占空间vectorint value(n, 0); // 存储每件物品价值for(int i 0; i n; i) {cin weight[i];}for(int j 0; j n; j) {cin value[j];}// dp数组, dp[i][j]代表行李箱空间为j的情况下,从下标为[0, i]的物品里面任意取,能达到的最大价值vectorvectorint dp(weight.size(), vectorint(bagweight 1, 0));// 初始化, 因为需要用到dp[i - 1]的值// j weight[0]已在上方被初始化为0// j weight[0]的值就初始化为value[0]for (int j weight[0]; j bagweight; j) {dp[0][j] value[0];}for(int i 1; i weight.size(); i) { // 遍历科研物品for(int j 0; j bagweight; j) { // 遍历行李箱容量// 如果装不下这个物品,那么就继承dp[i - 1][j]的值if (j weight[i]) dp[i][j] dp[i - 1][j];// 如果能装下,就将值更新为 不装这个物品的最大值 和 装这个物品的最大值 中的 最大值// 装这个物品的最大值由容量为j - weight[i]的包任意放入序号为[0, i - 1]的最大值 该物品的价值构成else dp[i][j] max(dp[i - 1][j], dp[i - 1][j - weight[i]] value[i]);}}cout dp[weight.size() - 1][bagweight] endl; }int main() {while(cin n bagweight) {solve();}return 0; }  01背包问题 一维  一维需要从后往前整浅试了一下然后发现背包要从0开始因为没有初始化i 0的情况 #include iostream #include vector using namespace ::std; int main() {int n;int bagweight;cin n;cin bagweight;// cout n是 n endl;// cout bagweight bagweight endl;vectorint weight(n, 0);vectorint value(n, 0);for (int i 0; i n; i){cin weight[i];}for (int i 0; i n; i){cin value[i];}// test// for (int i 0; i n; i)// {// cout weight是 weight[i] endl;// cout value是 value[i] endl;// }vectorint dp(bagweight 1,0);for (int i 0; i n; i){for (int j bagweight; j weight[i]; j--){dp[j] max(dp[j], dp[j - weight[i]] value[i]); }}//for (int j 0; j bagweight; j)//{// cout dp[i][j];//}//cout endl;cout dp[bagweight];return 0; }416. 分割等和子集  力扣啦能少整点东西。他的思路是用背包重量和价值相同。 套路我自己其实还是有点想不到 背包的体积为sum / 2背包要放入的商品集合里的元素重量为 元素的数值价值也为元素的数值背包如果正好装满说明找到了总和为 sum / 2 的子集。背包中每一个元素是不可重复放入。 class Solution { public:bool canPartition(vectorint nums) {int sum 0;for(int i 0;i nums.size();i){sum nums[i];}if(sum % 2 ! 0)return false;vectorintdp(sum/2 1,0);for(int i 0;i nums.size();i){for(int j sum/2;j nums[i];j--){dp[j] max(dp[j],dp[j - nums[i]] nums[i]);}}return (dp[sum/2] sum/2);} }; 随想录和我做的差不多我就不贴上来了欠的债还了还有今天的没做加油
http://www.pierceye.com/news/838165/

相关文章:

  • 网站开发啊wordpress 图片本地化
  • 尚品中国多年专注于高端网站建设免费加盟无需店面
  • 游标卡尺 东莞网站建设wordpress 域名解析
  • 站长工具视频怎么开免费网站
  • 网站地址怎么申请注册最近新闻大事
  • interidea 做网站网站域名备案 更改
  • 哈尔滨公司做网站动画设计的大学排名
  • 网站建设与网页制作试卷网站搜索引擎优化推广
  • 网站子目录设计网站开发数据库技术
  • 可以做音基题的音乐网站上海网站设计公司有哪些
  • 昆明做网站公司做家居的网站
  • 网站建设首选易网宣软文代发
  • 手机版网站开发用什么语言自己建设的网站怎么赚钱
  • 宁波建设监理协会网站软件开发文档的作用
  • 兰州电商平台网站建设网路神做网站怎么样
  • 诸城易讯网站建设服务中心网址的域名
  • 制作商务网站应用公园制作app软件下载
  • 情头定制网站被称为网站开发神器
  • 宝安网站设计案例淘宝页面制作
  • 天津品牌网站制作怎样建设网站流程
  • 怎样进行公司网站建设wordpress主题公司
  • 外宣做网站宣传网站功能描述
  • 部队网站建设多少钱营销自己的网站
  • 长春市城乡建设部网站南昌诚推网络技术有限公司
  • 网站 建设 欢迎你濮阳家电网站建设
  • 怎么快速建立一个网站如何用腾讯云服务器搭建wordpress
  • 五屏网站建设多少钱深圳网站公司有哪些
  • 莆田网站建站wordpress cd
  • 软件下载安装免费南京seo关键词优化服务
  • 广州网站设计软件建设将网站加入受信网站再试