1.软连接和硬链接
2.最小堆构建的算法复杂度
3.Linux下查看文件内容命令
4.锁,内核锁
5.僵尸进程
6.守护线程
7.C类网络地址
8.Optional类下的方法
9.数据链路层的功能不包括?不包括路由控制,路由控制属于网络层。
10.路由选择协议
11.操作系统的低级、中级、高级调度
12.虚拟内存容量决定因素,寻址空间
13.IPV6概念,地址前缀
14.Annoation
15.CIDR地址块
16.root权限才能开放的端口?1024以下的端口。
17.编程题:完全背包问题+含重复数字的全排列。
//100%
#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef long long LL;
int w[10000] , c[10000];
int sum , n;
int f[10000];
int main() {
cin>>sum>>n;
for(int i=1;i<=n;i++) {
cin>>w[i]>>c[i];
}
for(int i=1;i<=n;i++) {
for(int j=w[i];j<=sum;j++) {
f[j] = max(f[j] , f[j-w[i]] + c[i]);
}
}
cout<<f[sum];
return 0;
}
待更新:
//25%,亲7数
#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef long long LL;
int find(int digit[] , int n) {
//a[i]表示索引i的位置,i存在的个数
LL a[11]={0};
LL i = 0;
for(i=0;i<n;i++) {
a[digit[i]]++;
}
//表示不重复的数字个数
LL index = 0;
for(i=0;i<n;i++) {
if(a[i] == 1) {
index++;
}
}
return index;
}
int reletive_7(int* digit, int digitLen) {
int index=0;
int n = digitLen;
int cnt = digitLen - find(digit, digitLen);
do {
int nn = 1;
int sum = 0;
for(int i=n-1;i>=0;i--) {
sum += (digit[i] * nn);
nn *= 10;
}
if(sum%7 == 0) index++;
} while(next_permutation(digit , digit + digitLen));
return index*cnt;
}
int main() {
int digitLen = 3;
int a[digitLen];
a[0] = 1;
a[1] = 1;
a[2] = 2;
cout<<reletive_7(a , digitLen)<<endl;
return 0;
}
/*
// write code here
LL n = digitLen;
//a[i]表示索引i的位置,i存在的个数
LL a[11]={0};
LL i = 0;
for(i=0;i<n;i++) {
a[digit[i]]++;
}
//表示不重复的数字个数
LL index = 0;
for(i=0;i<n;i++) {
if(a[i] == 1) {
index++;
}
}
cout<<index<<endl;
return f(n-1) * index;
*/