11 2022 档案
摘要:分组背包 1.定义 分组背包,通俗的讲就是,给你N组物品,然后每一组你至多选择一个物品(也可以不选),每个物品都有自己的体积和价值,现在给你一个容里为M的背包,让你用这个背包装物品,使得物品价值总和最大. 2.讲解 其实就类似于01背包,对于一个物品有两种决策选或不选,但是分组背包是在01背包的基础
阅读全文
摘要:描述 给定一个背包的容量k,给定n个物品的体积和价值,物品不可分割,将n个物品中选若干个物品放入背包,求背包内物品的最大价值总和,在价值总和最大的前提下求背包内的最小物品个数c。 输入 第一行是一个整数t,表示测试数据的组数t。对于每组测试数据,第一行是两个整数n和k,表示物品的个数和背包的容量;接
阅读全文
摘要:比赛链接 1001 : C语言实验题――素数 #include<bits/stdc++.h> using namespace std; int main() { int ans = 0; //记录100-200之间素数的个数 for(int n=100;n<=200;n++) //根据题目意思,循环
阅读全文
摘要:完全背包定义 有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 从定义中可以看出,与01背包的区别01背包最多只能拿一件物品,完全背包则不然,只要空间够多,一种物品我可以拿
阅读全文
摘要:比赛链接 2022.11.24 8000分代码,更新了地图,行动轨迹,每次循环只执行一个防御塔的建造和传送 map = [[], [0,[18,87],[18,74],[18,62],[18,52],[18,40],[18,28],[18,16]], [0,[30,87],[30,74],[30,6
阅读全文
摘要:背包问题关系图 问题描述 若有 N 件物品和一个最多能装重量为 W 的背包,一个物品只有两个属性:重量和价值。第i件物品的重量是weight[i],得到的价值是value[i] 。假设每件物品只能用一次,将哪些物品装入背包里物品价值总和最大? 注意:0-1 背包问题无法使用贪心算法来求解,也就是说,
阅读全文
摘要:数据类型-隐式转换 1.隐式类型转换 2.隐式转换实例 char a = 'a'; short b = 3; int c = 100; long long int d = 240; double e = 3.12345; cout<< a+b <<endl; //结果为:100 cout<< c+d
阅读全文
摘要:比赛链接 1001: 排座位 找规则,可以发现对于n个位置最多可以坐n/2向上取整个人 python: #1.排座位 n = int(input()) if n%2==0: #判断n是否是偶数 print(int(n/2))#对n/2保留整数 else: print(int(n/2+1)) View
阅读全文
摘要:数据类型-char字符型 特点:由单引号’’构成,且长度为1,在格式化中字符用%c来表示 正确的字符: ‘a’ ‘ ’ ‘#’ ‘1’ 错误的字符:’aa’ ‘##’ ‘’’’ ascii码表: 字符0 对应的数字是 48 字符A 对应的数字是 65 字符a 对应的数字是 97 大小关系:小写字母>
阅读全文
摘要:部分和问题 #include<bits/stdc++.h> #include<iostream> using namespace std; int k,n,m,num,vis[1042],dt[1000],f; void dfs(){ if(f==1)return; if(num==k){ f=1;
阅读全文
摘要:一、多组数据输入 在TZOJ练习平台上,经常会见到一些题目说输入数据有多组、输入以EOF结束、当输入的数据为0时结束等等的题目描述,那么这些输入具体是如何去解决呢? 1.有明确输入n组数据,可以使用for/while循环来实现n组数据 while: #include<bits/stdc++.h> u
阅读全文
摘要:比赛链接 1001: 神奇的力学 重力 = 支持力,所以输入的重力是什么,支持力就是什么 #include<bits/stdc++.h> using namespace std; int main() { int a; cin>>a; cout<<a; return 0; } View Code 1
阅读全文
摘要:浮点型数据 1.浮点型数据简单来说就是可以携带小数的数据,而实数、浮点数、小数这些都是可以携带小数的数据,所以见到题目中有实数、浮点数、小数的时候就要定义浮点型数据; 2.既然有了小数,那么再次遇到比如double a = 10.4和int a = 10.4时,它们的结果就不同了 double a
阅读全文
摘要:双for循环-嵌套循环 双重for循环其实就是在一个循环中还有另一个循环,也被称之为嵌套循环 #include<bits/stdc++.h> using namespace std; int main() { for(int i=1;i<=5;i++) { for(int j=1;j<=5;j++)
阅读全文
摘要:比赛链接 1001 : 圆的直径 #include<bits/stdc++.h> using namespace std; int main() { int r; cin>>r; cout<<r*2; return 0; } View Code 1002 : 人犬同行 #include<bits/s
阅读全文