二月二十八日学习情况

2小时
学习Java
标识符:
1.标识符可以由字母,数字,下划线和美元符组成,其数字不能打头
2.标识符不能是Java关键字和保留字,但可以包含关键字和保留字
3.标识符不能包含空格
4.标识符只能包含美元符,不能包含@,#等特殊字符
Java关键字
在这里插入图片描述
Java语言是强类型语言,强类型包含俩方面含义:
1.所有的变量必须先声明,后使用
2.指定类型的变量只能接受类型与之匹配的值
Java数据类型所占字节
在这里插入图片描述
Java语言转义字符
在这里插入图片描述
Java语言浮点数的俩种表示形式
1.十进制数,就是简单的浮点数,例如:5.12.51.2.。。,浮点数必须包含一个小数点,否则会被当成int类型处理
2.科学计数法形式例如,5.12e2即5.12*10^2
注意,只有浮点类型的数值才可以用科学计数法表示
下划线分隔
当程序的数值位数特别多的时候,Java可引用下划线来进行分隔,在整型或浮点型数值中都可以用。
Java基本类型的转换
在这里插入图片描述
表达式类型的自动提升
1.所有的byte类型,short类型,char类型将被提升到int类型
2.整个算术表达式中的数据类型自动提升到与表达式最高等级操作数同样的类型,上图位于箭头右边类型高于左边类型等级
2小时
学习背包
在这里插入图片描述
卡在f[i][v] = max(f[i-1][v], f[i-1][v-c[i]]+w[i])这里许久,一开始一直没有想通,因为之前做这种题目我都是用一个结构体来写的,结构体内包含价值,重量以及平均价值(价值除以重量),然后按平均价值大小排序后一依次放入背包,直至装不下。所以思维有些不活跃。学了这个之后会感觉相比之前的方法,这样要来得简单多了。
3小时
刷题
这里就说一下尝试几次没有过的题吧
在这里插入图片描述
这个题目明明和之前俩道题目差不多,只是把重量换成了浮点数,所以我将浮点数乘以一百强制转换成为整型来做,但是还是错误了,不知道为什么。
未ac代码

#include<stdio.h>
#include<string.h>
int n;
double m;
int v[100010],w1[100010];
double w[100010];
int f[100010];
int max(int a,int b)
{
 if(a>b)
 return a;
 return b;
}
int main()
{
	 int t;
	 while(~scanf("%d",&t))
	 {
	   while(t--)
	  {
	   memset(f,0,sizeof(f));
	   memset(w1,0,sizeof(w1));
	   scanf("%lf%d",&m,&n);
	   int M=(int)(m*100);
	   int i,j;
	   for(i=1;i<=n;i++)
	   {
	    scanf("%d%lf",&v[i],&w[i]);
	    w1[i]=(int)(w[i]*100);
	   }
	   
	   for(i=1;i<=n;i++)
	   for(j=M;j>=w1[i];j--)
	   f[j]=max(f[j],f[j-w1[i]]+v[i]);
	   
	   printf("%d\n",f[M]);
	  }
	 }
	 return 0;
	} 
	```
一小时	

刷网课
数据结构与算法
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200228221759668.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoZWVwX3ByaW5jZXNz,size_16,color_FFFFFF,t_70)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值