选择
A
在域名解析之前,需要先与访问域名服务器,与域名服务器之间的网络通信需要涉及相邻设备之间的数据传输。也就是ARP,所以ARP是第一个
B
C
D
可靠传输的基础是确认应答以及超时重传。这俩是通过序号和确认序号交付的
A
B
对用户是不透明的。私网地址变成公网地址,这件事是用户不知道的。
B
A
C
2^16次方
D
编程
最长递增子序列
#include <iostream>
#include <vector>
#include <string>
using namespace std;int main()
{int n;while(cin>>n){vector<int>nums(n,0);vector<int>dp(n,1);int res=1;//dp[i] 以i下标结尾的最长递增子序列for(auto& e:nums) cin>>e;for(int i=1;i<n;i++){for(int j=0;j<i;j++){if(nums[i]>nums[j]){dp[i]=max(dp[i],dp[j]+1);res=max(res,dp[i]);}}}cout<<res<<endl;}return 0;
}
发邮件
发邮件__牛客网
当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.
第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;
第二步,放编号为k的元素,这时有两种情况:⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有D(n-2)种方法;⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有D(n-1)种方法;
综上得到
D(n) = (n-1) [D(n-2) + D(n-1)]
特殊地,D(1) = 0, D(2) = 1
#include <vector>
#include <iostream>
using namespace std;
int main()
{int n;vector<long long>dp(21,0);//dp[i] i个元素错排的所有结果dp[2]=1;for(int i=3;i<=20;i++){dp[i]=(i-1)*(dp[i-1]+dp[i-2]);}while(cin>>n){cout<<dp[n]<<endl;}return 0;
}