- 博客(38)
- 收藏
- 关注
原创 背包问题...
给定n种物品和一个容量为V的背包。物品i的重量是w[i],其价值为c[i],问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 求最大总价值递归实现#include<iostream>#include<algorithm>using namespace std;const int maxn = 30;int n,V,maxValue=0;int w[maxn],c[maxn];//w重量c价值 /*void DFS(int index,int sumW,i
2021-12-10 20:33:53
405
原创 A1052
#include<iostream>#include<algorithm>using namespace std;struct Node{ int address; int key; int next; bool flag;}node[100010];//数组的下标是该结点的地址 bool cmp(Node a,Node b ){//返回值是bool类型 传入的参数是Node类型 if(a.flag == false || b.flag ==false){//a
2021-12-09 21:09:55
190
原创 A1032
#include<iostream>using namespace std;struct Node{ char data; int next; bool flag;}node[100010];//数组的下标是该结点的地址 int main(){ int s1,s2,n;//s1 s2是两个首地址 cin>>s1>>s2>>n; int tempadd,tempnext; char tempdata; for(int i=0;i<
2021-12-09 20:01:06
146
原创 A1132
//A1132#include<iostream>#include<string>using namespace std;int main(){ int n; cin>>n; string z; for(int i=0;i<n;i++){ cin>>z; string x,y; for(int a=0;a<z.length()/2;a++) x=x+z[a]; for(int a=z.length()/2;a&
2021-12-06 16:08:57
563
原创 A1140
//A1140#include<iostream>#include<string>using namespace std;int main(){ string D; int n; cin>>D>>n; int a,b; for(int i=0;i<n-1;i++){ string s; for(a=0;a<D.length();a=b){ for(b=a;b<D.length()&&D[b]==
2021-12-06 15:18:07
137
原创 A1063
题目大意:输入n个集合sets,依次是1,2,3…号,每个集合中有m个元素,对这些集合进行k次查询,计算两个集合的相似度,相似度=nc/nt nc是两个集合的元素总个数(去重)nt是两个集合 拥有的相同的元素的个数(去重)例如:集合a 99 87 101,集合b 87 101 5 87nc:99 87 101 5nt:87 101//A1063/*输入集合 vector<set<int>>存 v[i]=s输入查询 找nc nt输出百分数 */#include
2021-12-05 21:44:48
594
原创 A1047
//A1047#include <iostream>#include <vector>#include <algorithm>#include <string.h>using namespace std;int main(){ int n,k;//学生数 课程数 int c,no;//该学生选修的课程数 课程号 string name; cin>>n>>k; vector<string> v[k+1
2021-12-01 21:47:27
210
原创 A1039
//A1039#include <cstdio>#include <vector>#include <algorithm>using namespace std;/*字符串哈希,将字符串转化为整数 */int getid(char *name) { int id = 0; for(int i = 0; i < 3; i++) id = 26 * id + (name[i] - 'A'); id = id * 1
2021-12-01 19:02:12
145
原创 A1054
#include<iostream>#include<map>using namespace std; int main(){ map<int,int> mapp; int m,n,temp; cin>>m>>n; for(int i=1;i<=m*n;i++){ cin>>temp; mapp[temp]++; } int maxnum=0,maxcol; for(auto it = mapp.
2021-11-28 12:48:55
145
原创 A1065
1、长整型long long 取值范围-263~+(263-1),对于整型数据都可以在前面加unsigned表示无符号型。unsigned long long 取值范围0~264-12、计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,在计算机系统中,数值一律用补码来表示和存储。两个正数相加得负数,我们称正溢出,两个负数相加得正数,我们称负溢出。举例,现在我分配4位二进制(实际上语言里面最小分配8位,int)。可知4位二进
2021-11-25 22:34:41
631
原创 A1042
//A1042#include<iostream>using namespace std; int main(){ int k,start[55],end[55],scan[55]; cin>>k; char c[6]="SHCDJ"; for(int i=1;i<55;i++){ cin>>scan[i]; end[i] = i; } for(int i=1;i<=k;i++){ for(int a=1;a<55;a++
2021-11-25 17:49:02
160
原创 A1046
//A1046#include<iostream>#include<math.h>using namespace std; int main(){ long n; cin>>n; int des,sumdes; int toFir[n+1]={0}; for(int i=1;i<=n;i++){ cin>>des; if(i!=n){ toFir[i+1] = toFir[i]+des; }else{ sumde
2021-11-25 17:47:09
159
原创 A1124
//A1124#include<iostream>#include<map>using namespace std;int main(){ int m,n,s; cin>>m>>n>>s; map<string,int> mapp; string name; bool flag=true; for(int i=1;i<=m;i++){ cin>>name; if(i==s&&
2021-11-22 00:10:13
858
原创 A1011
//A1011#include<iostream>using namespace std;int main(){ float ans=1.0; char c[4]="WTL"; for(int i=0;i<3;i++){ float maxvalue=0.0,temp; int maxchar=0; for(int j=0;j<3;j++){ cin>>temp; if(temp>maxvalue){ maxvalue=t
2021-11-21 19:26:20
378
原创 A1036
//A1036#include<iostream>#include<climits>#include<cmath>using namespace std;int main(){ int n; cin>>n; string f_name,m_name,f_id,m_id; int f_bestgrade=INT_MIN , m_lowgrade=INT_MAX ; for(int i=1;i<=n;i++){ string name
2021-11-20 14:59:14
267
原创 A1006
//A1006#include<iostream>#include<climits>using namespace std;int main(){ int n,mint=INT_MAX,maxt=INT_MIN; string unlocked,locked; cin>>n; for(n;n;n--){ string name; int h1,h2,m1,m2,s1,s2; cin>>name; scanf("%d:%d:%d
2021-11-20 10:14:58
240
原创 A1008
#include<iostream>using namespace std; int main(){ int sum=0,a,now=0,n; cin>>n; while(n){ cin>>a; if(a>=now) sum = sum + 6*(a-now); else sum = sum + 4*(now-a); sum = sum + 5; now = a; n--; } cout<<sum; return
2021-11-19 23:04:59
274
原创 先序创建二叉树
#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct BiTreeNode{ int data; struct BiTreeNode* lchild; struct BiTreeNode* rchild;}BiTreeNode,*TreeNode;TreeNode preCreate(){ int ch; TreeNode T; scanf("%d",&ch);
2021-10-12 23:00:25
229
原创 JavaEE结课实验错误记录
1、导入项目后,jsp页面报错:javax.servlet.jsp.JspException cannot be resolved to a type解决方案:右键项目–properties选择Targeted Runtimes,选择你的运行环境,我选择Apache Tomcat v9.0,Apply.
2021-06-07 21:02:49
322
2
原创 eclipse JavaEE项目 jsp页面有错误
报错类似如下Multiple annotations found at this lineUnknown tag (jap:forward)项目->右键->Build Path->Config Build Path->Add Library进入添加类库->Server Runtime->选择自己已经配置好的服务器,选中之后,点击finish按钮即可。...
2021-05-31 00:15:53
340
2
原创 MySQL外键的更新与删除不同设置的区别
如果表A参考了表B的主键作为其外键使用,表B即为父表,表A是子表删除和更新有四种设置方式:(1)cascade:级联,当父表更新、删除,子表会同步更新和删除(2)set null:置空,当父表更新、删除的时候,字表会把外键字段变为null,所以这个时候设计表的时候该字段要允许为null,否则会出错(3)restrict:父表在删除和更新记录的时候,要在子表中检查是否有有关该父表要更新和删除的记录,如果有,则不允许删除个更改(4)no action:与restrict相同...
2021-05-28 19:47:05
531
原创 记 JavaEE错误01
5月 28, 2021 1:14:07 下午 org.springframework.test.context.support.AbstractTestContextBootstrapper getDefaultTestExecutionListenerClassNames信息: Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.t
2021-05-28 14:03:36
131
原创 PAT-A1046
tips:1、输入两结点间的距离的时候就计算出来,每个结点到结点1的距离#include<cstdio>#include<cstdlib>int main(){ int N, M, temp, a, b, sum = 0, d1, d2; scanf("%d", &N); int dis[N + 1] = {0,0}; for (int i = 2; i <= N + 1; i++) { scanf(".
2021-05-18 00:20:41
173
原创 PAT-A1042
注意点:1、输出数字的时候要考虑到每个花色最后一个数字#include<cstdio>#include<cstdlib>int main(){ const int N=54; int start[N+1], next[N+1], end[N+1]; char mp[5] = {'S', 'H', 'C', 'D', 'J'}; int k; scanf("%d", &k); for (int i = 0; i <.
2021-05-17 21:07:46
148
原创 指针
Q1.什么时候要带*定义的时候需要*(包括指针写在函数的参数列表中的时候也是定义), 使用的时候不需要,若在使用时加*,则表示访问指针指向的内存(地址)。Q2.free后指针的状态free只是将指针所指的内存释放掉,但并没有把指针本身销毁掉,调试程序可以发现,指针Q3.野指针和悬空指针野指针(wild pointer)就是没有被初始化过的指针例如:int main(){ int *p;//此时p没有被初始化,就是野指针}应避免使用野指针,养成在定义指针之后,使用之前,对指针进行初始化。
2021-04-12 18:37:38
136
原创 数据结构02-线性结构1
#include <stdio.h>#include <stdlib.h>typedef int ElementType;//为现有类型创建别名 ElementType为int类型 typedef struct Node *PtrToNode;// PtrToNode为结构体Node类型的指针 struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */...
2021-03-25 19:28:46
92
原创 Servlet的webservlet注解
@WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。1、jsp页面 通过action提交到RegistServlet 类:2、创建RegistServlet类来处理jsp页面发出的请求用法形如:@WebServlet("/RegistServlet")public class RegistServlet extends HttpServlet{// 处理 GET 方法请求的方法//public void doGet(HttpServletReq.
2021-03-06 11:07:35
2255
原创 关于jar包
找来一个jar,可以看到他就是一个压缩文件,可以使用压缩工具打开,进一步打开,可以看到很多的.class文件,.class文件就是java源码经过编译后的文件jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法。JAR(Java ARchive)是将一系列文件合并到单个压缩文件里,就象Zip那样。然而,同Java中其他任何东西一样,JAR文件是跨平台的,所以不必关心涉及具体平台的问题。涉及因特网应用时,JAR文
2021-03-01 21:10:13
198
原创 关于服务器
Tomcat服务器所谓服务器就是一个由代码实现的容器,它可以实现根据用户请求,实时调用执行对应的逻辑代码。我们只需要将服务器安装在操作系统上,然后将逻辑代码放在服务器的指定位置,启动服务器,服务器就可以自动根据接收到的请求调用并执行逻辑代码进行处理。流程:客户端请求->服务器->Java程序->返回html指定位置:参考资料:逻辑代码是由程序员自己编写然后放进服务器进行运行,其实就是 Servlet程序。...
2021-03-01 20:56:58
101
原创 【笔记】数组运算
数组的初始化:可以做部分初始化int a[4]={[1]=8,4};//a[1]为8,a[2]为4,其余为0for( int i=0;i<number;i++){ printf("%d\t",a[i]); }数组的赋值:想将数组a赋值给数组b,只能通过遍历获知数组元素的个数:printf("%d\n",sizeof(a)/sizeof(a[0]));...
2021-01-27 21:18:48
100
原创 01英语语法-基本句型及补语
五种基本句型主要讲述的内容:及物动词和不及物动词、补语、宾语和补语的区分练习:判断句子属于哪一种基本句型一个完整的句子,必须能够表达完整的意思。这需要两个部分来完成:主语和动词。主语是这个句子所叙述的对象,动词,构成叙述的主要内容。例句:1、Tom died in World War Two. (汤姆死于第二次世界大战)2、Tom killed three enemy soldiers. (汤姆杀了三名敌军士兵)上面两个例句的动词分别为—— died killed第一个句子中,要
2021-01-14 19:00:20
1743
原创 打印沙漏
我枯了,我就是抱着个循环硬写T^T,等我再去学学再来看看这个题#include<stdio.h>int main(){ int num,sum=0,n=-1,a=1; char c; scanf("%d %c",&num,&c); while(num>=2*sum-1){ sum = sum+a; a=a+2; n++; } n=2*n-1;//总行数n,始终保留 sum=sum-n-2;//上半部分需要的符号个数 int x=n.
2021-01-13 00:39:55
85
原创 辗转相除法求最大公约数
欧几里得算法又称辗转相除法,用于计算两个非负整数a,b的最大公约数GCD。计算公式为gcd(a,b) = gcd(b,a mod b)其计算原理依赖于下面的定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。#include<stdio.h>int main(){/* a,b,t t = a mod b ; a = b ; b = t ; a=12 b=18 t=12 a=18 b=12 t=6 a=12 b=6 t=0 a=6 b=
2021-01-08 17:44:15
262
原创 然后是几点
思路:我们手动来算这个问题时,大概有如下思路:1将所给的分钟数与流逝的时间(单位也为分钟)加起来,然后➗60,换算成对应的小时+分钟,然后将小时与原有小时相加,保留计算所得的分钟数即为正确答案;2将所给的分钟数先化为小时+分钟,然后分别相加,所得判断分钟数是否超出60,若超出则小时+1,分钟=分钟-60。!!!3都换成分钟来相加,最后换回小时+分钟!!!只有00省略为0需要单独考虑经过如上思考,很显然我们选择3.来考虑计算机做这个问题需要我们给哪些指令:1)我们会很自然地将小时数×60与分钟.
2021-01-07 23:37:05
462
原创 数数字位数
思路:用/10 从数字右端一次抹去最后一位,并计数。注意:要考虑处理输入数字为0的情况思路扩展:除/ 和 除余% 的恰当运用可以解决很多问题,如分离整数#include<stdio.h>int main(){ int num,i=1;//i从1开始,循环前做一次num/10 scanf("%d",&num); num/=10; while(num!=0){ i++; num/=10; } printf("该数字有%d位",i);} ...
2021-01-07 23:15:41
332
原创 如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸解题误区:将公式倒过来解决正确解题思路:输入的cm/30.48即为带小数的foot,foot取整数部分,inch为小数部分*12注意: int整数才可以取余%,小数做除法没有余数啊!!!正解:错误:...
2021-01-07 22:47:08
20749
25
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅