您现在的位置是:主页 > news > 请别人做网站需要注意什么问题/流量宝官网
请别人做网站需要注意什么问题/流量宝官网
admin2025/5/18 17:16:42【news】
简介请别人做网站需要注意什么问题,流量宝官网,杭州市江干建设局网站,塘厦东莞网站建设编程题 小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。 并且小Q对于能否被3整除这个性质很感兴趣。 小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。 【解题思路】这道题可以通过找规律来实现 #include<iostrea…
请别人做网站需要注意什么问题,流量宝官网,杭州市江干建设局网站,塘厦东莞网站建设编程题
小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。 并且小Q对于能否被3整除这个性质很感兴趣。 小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。 【解题思路】这道题可以通过找规律来实现
#include<iostrea…
编程题
- 小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。
并且小Q对于能否被3整除这个性质很感兴趣。
小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。
【解题思路】这道题可以通过找规律来实现
#include<iostream>
using namespace std;
int main()
{long l, r;cin >> l >> r;int count = 0;while(l <= r){if(l % 3 != 1)++count;l++;}cout << count << endl;return 0;
}
- 小Q正在给一条长度为n的道路设计路灯安置方案。
为了让问题更简单,小Q把道路视为n个方格,需要照亮的地方用’.‘表示, 不需要照亮的障碍物格子用’X’表示。
小Q现在要在道路上设置一些路灯, 对于安置在pos位置的路灯, 这盏路灯可以照亮pos - 1, pos, pos + 1这三个位置。
小Q希望能安置尽量少的路灯照亮所有’.'区域, 希望你能帮他计算一下最少需要多少盏路灯。
【思路】一次性判断三个字符
#include <iostream>
using namespace std;
int main()
{int n, len;string str;cin >> n;for(int i = 0; i < n; i++){cin >> len;cin >> str;int count = 0;for(int j = 0; j < str.length(); j++){if(str[j] == '.'){++count;j += 2;}}cout << count << endl;}return 0;
}
- 牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。
牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。
牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也算一种放法)。
#include <iostream>
using namespace std;
long long v[40];int n;
long long ans=0,w;void dfs(int t,long long sum)
{ans++;if(t == n - 1)return;else{for(int i = t + 1; i < n; i++){if(sum + v[i] <= w)dfs(i, sum + v[i]);}}
}int main()
{cin >> n >> w;long long sum=0;for(int i = 0; i < n; i++){cin >> v[i];sum += v[i];}if(sum<=w) //如果零食总体积不超过背包容量,那么直接返回 pow(2, n){ans=1 << n;//根据题目,0个也算进去,那就正好是左移n位}else{dfs(-1,0);}cout << ans << endl;return 0;
}
问答题
#include <iostream>
#include <vector>
using namespace std;
int main()
{vector<vector<int>> tasks;int n; //n项工作int count = 1;cin >> n;for(int i = 0; i < n; i++){vector<int> time; //记录每项任务的开始时间和结束时间for(int j = 0; j < 2; j++){int temp;cin >> temp;time.push_back(temp);}tasks.push_back(time);}//每一个任务按照结束时间排序for(int i = 0; i < n - 1; i++){//根据每项任务的结束时间进行从小到大排序if(tasks[i][1] > tasks[i + 1][1])swap(tasks[i], tasks[i + 1]);}int i = 0;int j = 1;while(j <= n - 1){//如果下一个任务的开始时间大于前一个任务的结束时间if(tasks[j][0] > tasks[i][1]){++count; //将将任务数加1i = j;j ++;}else //否则换到下一个任务,继续进行比较{j++;}}cout << count << endl;return 0;
}
- 从结束时间最早的事件开始计算,保证了从起始点到该点之间,该事件的时间最短,为了防止重叠,要保证下一事件开始时间晚于该时间结束时间,起始点相当于从第一个时间结束的时间开始,继续按照上面的思路来选择下一个事件,这样就保证了每段都是最优,最后的结果也是最优。
【原因】
- A a; 只调用基类的构造函数 输出A
- B b(a); 首先调用父类构造函数,输出A ; 其次应该是子类成员变量构造函数,注意区分成员变量和成员函数,一般成员变量在private里,也就是到了 private: A _a; 这时发现构造函数的初始化列表里把a赋给了_a,而a是之前已经创建了的,所以这里隐式调用拷贝构造函数,不再调用A的构造函数了; 最后是B类自己的构造函数,输出了B
所以构造函数是AAB 但是发现析构函数是BAAA 差别就是因为刚才的隐式调用拷贝构造函数,但是析构函数必须是显式调用,所以会先把B的析构,然后是B的成员函数也就是A类对象_a的析构函数,然后是B的父类的析构函数,最后是A类的析构函数。