【01背包】最大约数和(jzoj 2126)

最大约数和

题目大意:

选若干个正整数,和不小于S,使每个数的因数(不包括本身)之和最大

样例输入

11

样例输出

9

数据范围限制

对于30%的数据, S<=10;

对于100%的数据, S <=1000。

提示

样例说明:

取数字4和6,可以得到最大值(1 + 2) + (1 + 2 + 3) = 9。

解题思路:

这道题先求出每个数的因数和(我是打表的),然后用01背包判断没见物品选和不选的最优

打表代码:

#include<cstdio>
#include<iostream>
using namespace std;
int a[1005]; 
int main()
{freopen("dabiao.txt","w",stdout);//输进一个文件for (int i=1;i<=1000;i++)//每一个数for (int j=1;j<i;j++)//小于他的所有数if (i%j==0)//判断是否为因数a[i]+=j;//累加printf("{0");//方便写常量for (int i=1;i<=1000;i++)printf(",%d",a[i]);//输出printf("};");
}

解题代码:

#include<cstdio>
#include<iostream>
using namespace std;
int n,f[1005];
const int dj[1001]={0,0,1,1,3,1,6,1,7,4,8,1,16,1,10,9,15,1,21,1,22,11,14,1,36,6,16,13,28,1,42,1,31,15,20,13,55,1,22,17,50,1,54,1,40,33,26,1,76,8,43,21,46,1,66,17,64,23,32,1,108,1,34,41,63,19,78,1,58,27,74,1,123,1,40,49,64,19,90,1,106,40,44,1,140,23,46,33,92,1,144,21,76,35,50,25,156,1,73,57,117,1,114,1,106,87,56,1,172,1,106,41,136,1,126,29,94,65,62,25,240,12,64,45,100,31,186,1,127,47,122,1,204,27,70,105,134,1,150,1,196,51,74,25,259,35,76,81,118,1,222,1,148,81,134,37,236,1,82,57,218,31,201,1,130,123,86,1,312,14,154,89,136,1,186,73,196,63,92,1,366,1,154,65,176,43,198,29,148,131,170,1,316,1,100,141,203,1,270,1,265,71,104,37,300,47,106,105,226,31,366,1,166,75,110,49,384,39,112,77,284,31,234,1,280,178,116,1,332,1,202,153,218,1,312,53,184,83,194,1,504,1,157,121,190,97,258,33,232,87,218,1,476,35,130,177,255,1,270,45,328,129,134,1,456,59,214,93,208,1,450,1,286,175,140,97,396,1,142,137,440,1,294,1,220,195,218,49,531,18,250,101,226,1,390,65,274,183,152,37,568,51,154,105,316,67,396,1,364,107,266,1,528,1,160,309,244,1,330,41,442,111,254,37,523,109,166,113,302,55,534,1,256,161,170,73,656,1,211,117,416,43,438,57,316,231,176,1,492,1,394,209,404,1,366,77,274,219,182,1,810,20,184,169,420,79,378,1,376,177,314,61,524,1,274,249,344,43,582,1,460,131,194,1,636,191,196,185,298,1,618,41,463,135,200,85,696,1,202,241,561,1,414,45,310,321,314,49,672,1,346,141,316,67,522,89,466,143,302,1,924,1,214,201,386,133,438,69,328,243,362,1,808,1,334,285,334,43,450,1,640,300,314,1,620,95,226,153,568,1,759,53,346,155,230,217,744,1,232,261,548,1,690,1,466,303,236,1,806,75,394,161,428,55,486,145,532,225,242,1,1032,51,244,285,447,103,606,1,442,167,536,1,684,47,346,441,496,79,510,1,592,171,254,1,1056,107,358,225,388,1,786,81,511,287,260,109,716,59,394,177,740,1,648,1,400,467,266,49,960,24,442,249,588,55,546,113,484,183,272,145,1140,1,274,185,590,115,798,1,418,257,566,49,888,87,280,357,424,1,690,57,928,303,284,1,780,119,286,401,512,1,870,1,604,195,434,169,1075,1,343,197,680,91,594,65,526,507,296,1,1008,51,490,201,586,1,846,269,454,203,410,1,1260,1,454,281,460,193,618,1,652,351,506,61,1026,1,310,393,824,1,630,1,724,339,314,97,1112,156,316,333,478,55,1242,1,568,215,320,133,876,161,442,297,890,1,654,1,700,411,434,1,1167,71,652,373,496,1,666,137,646,305,494,1,1356,1,334,345,596,295,816,53,508,227,554,73,1344,1,340,565,605,1,690,105,940,231,470,1,1136,143,514,233,676,67,1038,1,526,555,350,145,1104,59,352,237,1036,1,978,57,820,447,356,109,972,1,586,329,638,55,1014,293,544,243,362,1,1698,111,421,245,550,205,870,1,952,364,602,61,1004,1,370,633,776,79,900,1,856,379,554,1,1176,155,376,345,764,115,1122,1,736,255,506,157,1484,1,382,393,1040,1,774,117,580,639,386,73,1276,1,958,261,586,1,942,217,694,439,392,61,1572,83,514,417,983,163,798,1,598,267,650,121,1548,75,400,501,604,1,1122,65,1153,369,404,85,1100,347,538,273,722,1,1368,1,868,275,554,169,1416,63,412,637,944,1,834,1,736,663,614,1,1356,1,682,281,946,193,846,173,844,443,422,1,2040,30,424,285,640,253,1026,217,826,287,824,61,1164,1,634,705,764,1,1158,1,988,483,434,1,1656,179,436,361,924,91,1290,81,778,401,566,373,1196,1,442,297,1352,1,1341,1,880,555,446,1,1392,135,730,561,676,67,906,185,1144,447,452,61,1921,71,610,505,806,187,918,1,688,417,1106,1,1568,95,460,573,694,139,1242,1,1240,311,464,85,1764,253,466,425,962,1,1374,209,706,315,470,361,1794,1,694,317,1076,1,954,65,916,975,638,1,1292,87,910,321,1208,1,1152,197,724,483,482,145,2088,32,634,441,730,199,1338,1,1027,471,794,1,1576,147,490,761,946,1,990,101,1414,449,494,1,1536,203,634,549,972,67,1818,1,1024,335,734,205,1356,1,502,521,1340};
int main()//上为常量
{scanf("%d",&n);for (int i=1;i<=n;++i)//01背包for (int j=n;j>=i;--j)f[j]=max(f[j],f[j-i]+dj[i]);//求最优的printf("%d",f[n]);//输出return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软75亿收购Github,微软以开发者为中心的初心不变

前天关于微软要收购 GitHub 的消息传出后&#xff0c;很多人都纷纷讨论&#xff0c;希望 GitHub 能够独立存在&#xff0c;不被任何大厂收购&#xff0c;可是 GitHub 也要生存啊。那又有人说&#xff1a;希望是 Google 来收购 GitHub &#xff0c;而不是微软&#xff0c;在大家…

nssl1476-联【线段树】

正题 题目大意 无限长的010101序列&#xff0c;每次进行一个操作 区间内赋值为000区间内赋值为111区间取反 求第一个000的位置 解题思路 离散化&#xff08;储存每个区间的左右端点和他们加一之后的值&#xff09;后可以用线段树储存第一个000和第一个111的位置。然后区间取…

洛谷-P3396 哈希冲突 分块

题目 题目链接 题意 给你个数列&#xff0c;编号为1…n1…n。 给出两种操作&#xff1a; 查询操作&#xff1a;查询所有编号模xx得y" role="presentation" style="position: relative;">yy的对应数字之和。修改操作&#xff1a;把编号为xx的数…

简明 ASP.NET Core 手册

编者&#xff1a;在4月份推送过这篇文章 简明 ASP.NET Core 手册 &#xff0c;今天再次推荐这篇文章&#xff0c;是因为原作者更新到了新版本1.1.0&#xff0c;改动很大&#xff0c;几乎所有章节都有很大程度的调整&#xff0c;这些调整都是根据读者的建议而做&#xff0c;而且…

【模拟】【递归】电子表格(jzoj 2127)

电子表格 题目大意&#xff1a; 有一个Excel文档&#xff0c;有4中操作&#xff1a;input输入一个格子的值&#xff0c;output输出一个格子的值&#xff0c;sum某个格子等于一块矩形中的总值&#xff08;矩形中的总值改变&#xff0c;这个格子也要改变&#xff09;&#xff0…

nssl1477-赛【对顶堆,贪心】

正题 题目大意 nnn个物品&#xff0c;有两个人&#xff0c;每个人有一些喜欢的物品。 选mmm个物品&#xff0c;至少选择kkk个第一个人喜欢的和kkk个第二个人喜欢的物品 解题思路 首先我们必定是选最小的 我们从小到大枚举选择多少两个人都喜欢的物品iii&#xff0c;然后每人选…

洛谷-P1903 数颜色 分块 bitset

题目 题目链接 题意 给你一个数列代表不同的颜色&#xff08;可以修改&#xff09;。 询问一段区间内有多少种颜色。 题解 很容易想到的就是线段树来维护bitset。 这里为了练习&#xff0c;使用分块维护bitset。 * 事实上线段树可以看成是无限分块。* 修改的时候直接暴…

《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想

前言借书正式出版之际&#xff0c;完整回顾下从写博客到写书整个历程&#xff0c;也算是对自己近三年在技术上的一个总结&#xff0c;整个历程可通过三个万万没想到来概括&#xff0c;请耐心阅读。写博、写书完整历程回顾从2013年12月注册博客园账号&#xff0c;注册博客园账号…

2019.01.27【NOIP普及组】模拟赛C组总结

总结 这次比赛的得分是&#xff1a;1001001000300 这次比赛第一题推了一会&#xff0c;推出了公式&#xff0c;马上A掉了&#xff0c;第二题之前做过&#xff0c;当做复习&#xff0c;写了大概半小时&#xff0c;第三题打了一下表&#xff0c;又写了个01背包&#xff0c;A掉&a…

nssl1478-题【dp】

正题 题目大意 nnn个苹果&#xff0c;依次来mmm个人会在两个苹果(ui,vi)(u_i,v_i)(ui​,vi​)中选择一个吃&#xff08;如果都没了就不吃了&#xff09; 求有多少对苹果可以同时存活 解题思路 设gi,jg_{i,j}gi,j​表示iii不吃时jjj是否必吃&#xff0c;我们从后到前枚举边&…

Entity Framework Core 2.1带来更好的SQL语句生成方案

微软发布了Entity Framework Core2.1&#xff0c;为EF开发者带来了很多期待已久的特性。EF Core 2.1增加了对SQL GROUP BY的支持&#xff0c;支持延迟加载和数据种子等。EF Core 2.1的第一个重要新增特性是将GroupBy操作符翻译成包含GROUP BY子句的SQL。缺乏这种支持被认为是EF…

洛谷-P2801 教主的魔法 分块

题目 题目链接 题意 修改&#xff1a;将一个区间内所有的数C。查询&#xff1a;查询一个区间内>C的数字有多少个。 题解 很经典的分快算法题目。 将数列分块以后&#xff0c;对块内的元素进行排序。 当我们要做修改操作的时候&#xff1a;遇到要修改的完整的块的时候…

【枚举】数列(jzoj 1507)

数列 题目大意&#xff1a;给出一个等差数列的初始值和差值还有一个等比数列的处值和比值&#xff0c;问不大于n的数中&#xff0c;问这两个序列中&#xff0c;有多少个数小于n&#xff08;只要在一个序列中就行了&#xff0c;在两个序列中只记一次&#xff09; 样例输入 1 …

AT4352-[ARC101C] Ribbons on Tree【dp,容斥】

正题 题目链接: https://www.luogu.com.cn/problem/AT4352 https://atcoder.jp/contests/arc101/tasks/arc101_c 题目大意 nnn个点之间两两配对&#xff0c;要求配对点之间的路径覆盖整棵树&#xff0c;求方案数 解题思路 考虑容斥&#xff0c;我们钦定有lll条边没有路径覆盖…

洛谷-P3203 弹飞绵羊 分块

题目 题目链接 题意 据说这道题要用一道叫做LCT的数据结构&#xff0c;然而我不会。。。 一排有n个弹簧装置&#xff0c;从第ii个可一往后跳k[i]" role="presentation" style="position: relative;">k[i]k[i]步。 修改&#xff1a;修改某个位…

【模拟】蚂蚁(jzoj 1508)

蚂蚁 题目大意&#xff1a; 有n只蚂蚁&#xff0c;他们各往一个方向走&#xff08;上北&#xff0c;下南&#xff0c;左西和有东四个方向&#xff09;&#xff0c;他们如果撞到一起就会直接消失&#xff0c;每个单位时间走一格&#xff0c;但有一种情况&#xff1a;两只蚂蚁相…

P3302-[SDOI2013]森林【主席树,LCA,启发式合并】

正题 题目链接:https://www.luogu.com.cn/problem/P3302 题目大意 nnn个点的一个森林&#xff0c;要求支持以下操作 连接两个不连通的点询问两个点之间最短路径上第kkk大的数 解题思路 需要支持查询第kkk大&#xff0c;是必定使用主席树的&#xff0c;所以考虑如何合并两棵树…

codeforces gym-101741 Cover the Paths LCA、离线询问

题目 题目链接 题意 给出一棵树。 给出一堆路径&#xff0c;找出最少一个最少的点的集合&#xff0c;使得所有的路径都经过集合中的至少一个点。 题解 考虑一个路径的两个端点&#xff0c;从下往上最后一个能被经过的点就是这两点的LCA。 因此我们做整棵树dfs&#xff0…

【结论】单元格(jzoj 1509)

单元格 题目大意&#xff1a; 在一个RC的矩形中选三个点&#xff0c;使他们行列各不同&#xff0c;定义“费用”为&#xff0c;这三个点之间的行列的差值的和&#xff08;1,2和3,4费用是差值是&#xff08;3-1&#xff09;&#xff08;4-2&#xff09;224&#xff09;&#x…

nssl1487-图

正题 题目大意 nnn个点nnn条边的图&#xff0c;每条边的边权为两个连接节点的权值和&#xff0c;给出所有边权&#xff0c;求每个节点权值&#xff08;保证唯一的环为奇环&#xff09; 解题思路 首先并查集找到环上相邻的两个点&#xff0c;然后可以发现这两个点之间有两个关系…