当前位置: 首页 > wzjs >正文

排版模板素材宁波seo网络推广咨询价格

排版模板素材,宁波seo网络推广咨询价格,武汉低价网站排名,返利网站建设哪个公司好一、0实现插入排序 - 蓝桥云课 算法代码&#xff1a; #include <stdio.h>const int N 10000; // 定义数组的最大大小int arr[N 10], temp[N 10]; // arr为待排序的数组&#xff0c;temp为辅助数组// 合并操作&#xff1a;将两个已经排好序的子数组合并为一个有序数…

一、0实现插入排序 - 蓝桥云课

算法代码: 

#include <stdio.h>const int N = 10000;  // 定义数组的最大大小int arr[N + 10], temp[N + 10];  // arr为待排序的数组,temp为辅助数组// 合并操作:将两个已经排好序的子数组合并为一个有序数组
void merge(int arr[], int left, int mid, int right, int temp[]) {int i = left;  // 左半部分起始指针int j = mid + 1;  // 右半部分起始指针int k = left;  // temp数组的起始位置// 合并两个子数组while (i <= mid && j <= right) {if (arr[i] <= arr[j]) {temp[k++] = arr[i++];  // 如果左半部分的元素较小,放入temp数组} else {temp[k++] = arr[j++];  // 否则,放入右半部分的元素}}// 将左半部分剩余的元素放入temp数组while (i <= mid) {temp[k++] = arr[i++];}// 将右半部分剩余的元素放入temp数组while (j <= right) {temp[k++] = arr[j++];}// 将temp数组中的元素复制回原数组arr中for (i = left; i <= right; i++) {arr[i] = temp[i];}
}// 归并排序主函数
void merge_sort(int arr[], int left, int right, int temp[]) {if (left < right) {int mid = (left + right) / 2;  // 计算中间位置merge_sort(arr, left, mid, temp);  // 递归排序左半部分merge_sort(arr, mid + 1, right, temp);  // 递归排序右半部分merge(arr, left, mid, right, temp);  // 合并已排序的左右两部分}
}int main() {int n;// 输入数组的长度scanf("%d", &n);// 输入数组的元素for (int i = 1; i <= n; ++i) {scanf("%d", &arr[i]);}// 调用归并排序merge_sort(arr, 1, n, temp);// 输出排序后的数组for (int i = 1; i <= n; ++i) {printf("%d ", arr[i]);}return 0;
}

二、0封闭图形个数 - 蓝桥云课 

算法代码:

#include <iostream>
#include <algorithm>
using namespace std;const int N = 1e6 + 10;const int D[] = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1};struct st
{int a;int b;
} s[N];int f(int x)
{int cnt = 0;while (x){cnt += D[x % 10];x /= 10;}return cnt;
}bool cmp(st x, st y)
{if (x.b != y.b)return x.b < y.b;return x.a < y.a;
}int main()
{int n;cin >> n;for (int i = 0; i < n; i++){cin >> s[i].a;s[i].b = f(s[i].a);}sort(s, s + n, cmp);for (int i = 0; i < n; i++)cout << s[i].a << " ";return 0;
}

 三、1.错误票据 - 蓝桥云课

方法一:算法代码:(数组下标逻辑判断)

#include <algorithm>
#include <iostream>
using namespace std;const int N = 100005;
int a[N];int main() {int n;cin >> n;int cnt = 0, x;while (cin >> x) { // 由于与行数无关,所以直接输入变长数字a[++cnt] = x;}sort(a + 1, a + cnt + 1);int x1, x2;for (int i = 2; i <= cnt; ++i) {if (a[i] == a[i - 1] + 2) { // 缺号x1 = a[i - 1] + 1;} else if (a[i] == a[i - 1]) { // 重号x2 = a[i - 1];}}cout << x1 << ' ' << x2 << endl;return 0;
}

 方法二:算法代码(哈希表判断)

#include <iostream>
#include <vector>
#include <unordered_map>
#include <climits>  // 用于 INT_MAX 和 INT_MIN
using namespace std;int main() {int N;cin >> N;cin.ignore();  // 忽略第一行的换行符vector<int> ids;unordered_map<int, int> count_map;int min_id = INT_MAX, max_id = INT_MIN;// 读取所有 IDfor (int i = 0; i < N; ++i) {string line;getline(cin, line);int num = 0;for (char c : line) {if (c == ' ') {ids.push_back(num);count_map[num]++;min_id = min(min_id, num);max_id = max(max_id, num);num = 0;} else {num = num * 10 + (c - '0');}}// 处理行末尾的数字if (num != 0) {ids.push_back(num);count_map[num]++;min_id = min(min_id, num);max_id = max(max_id, num);}}int duplicate = -1;  // 重号int missing = -1;    // 断号// 查找重号(出现次数为2的ID)for (auto& pair : count_map) {if (pair.second == 2) {duplicate = pair.first;break;}}// 查找断号(在[min_id, max_id]中未出现的ID)for (int i = min_id; i <= max_id; ++i) {if (count_map.find(i) == count_map.end()) {missing = i;break;}}cout << missing << " " << duplicate << endl;return 0;
}

四、2.三国游戏 - 蓝桥云课

算法代码: 

#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;using ll = long long;const int N = 1e5 + 100;int A[N], B[N], C[N]; // 存放魏蜀吴三个国家发生对应事件的得分
int battle[N];
int n;int Battle(int a[], int b[], int c[]) // a获胜,发生最多的事件数
{ll sum = 0;                        // 累加当前总贡献memset(battle, 0, sizeof(battle)); // battle数组清零for (int i = 1; i <= n; i++)       // 此时假设A会赢{battle[i] = a[i] - b[i] - c[i];}sort(battle + 1, battle + n + 1); // 将纯贡献进行排序int ans = 0;                      // 记录可以发生多少事件使a>b+cfor (int i = n; i > 0; --i)      // 从大到小枚举{sum += battle[i]; // 累加贡献if (sum > 0) ans ++;}if (ans == 0) return -1;return ans;
}int main()
{scanf("%d", &n);// 输入原始数据,A、B、C分别存储魏蜀吴三个国家发生对应事件增加的得分for (int i = 1; i <= n; i++)scanf("%d", &A[i]);for (int i = 1; i <= n; i++)scanf("%d", &B[i]);for (int i = 1; i <= n; i++)scanf("%d", &C[i]);int ans_A = Battle(A, B, C);            // 假设魏国获胜,发生最多的事件数int ans_B = Battle(B, A, C);            // 假设蜀国获胜,发生最多的事件数int ans_C = Battle(C, A, B);            // 假设吴国获胜,发生最多的事件数int ans = max({ans_A, ans_B, ans_C}); // 三者取最大值即可printf("%d\n", ans);return 0;
}

五、1.训练士兵 - 蓝桥云课

算法代码: 

#include <iostream>
#include <algorithm>using namespace std;
const int N = 1e5 + 100;// 士兵结构体:p为单独训练次数,c为批量训练次数
struct Soldier {int p, c;
} s[N];using ll = long long;// 比较函数:按c降序排列,用于排序
bool cmp(Soldier& a, Soldier& b) {return a.c > b.c;
}int main() {ll S;int n;cin >> n >> S;for (int i = 1; i <= n; ++i) {cin >> s[i].p >> s[i].c;}// 按c值从大到小排序(从s[1]到s[n])sort(s + 1, s + n + 1, cmp);ll tmp = 0;int pos = 0;// 找到最后一个累加p总和小于S的士兵位置for (int i = 1; i <= n; ++i) {tmp += s[i].p;if (tmp < S) pos = i;}int Bt = 0;if (pos < n) Bt = s[pos + 1].c; // 批量训练次数取下一个士兵的c值// 计算总成本ll ans = Bt * S;for (int i = 1; i <= pos; ++i) {ans += (ll)s[i].p * (s[i].c - Bt); // 单独训练部分的额外成本}cout << ans << endl;return 0;
}

六、1.排个序 - 蓝桥云课

算法代码:

#include <iostream>
#include <algorithm>
#include <vector>using namespace std;
const int N = 1003;
int a[N], p[N], tmp[N];
int n, m;int main() {cin >> n >> m;for (int i = 1; i <= n; ++i) {cin >> a[i];}for (int i = 1; i <= n; ++i) { // p的顺序实际上没有作用cin >> p[i];tmp[i] = a[p[i]];a[p[i]] = -1; // 标记已经被选中 }sort(tmp + 1, tmp + m + 1); // p的顺序实际上没有作用,直接进行排序int pos = m;for (int i = 1; i <= n; ++i) {if (a[i] == -1) { // 将被选中值的填充回去a[i] = tmp[pos]; // 从大到小填充pos--;}}for (int i = 2; i <= n; ++i) {if (a[i] > a[i - 1]) { // 如果不是非递减序列cout << "NO" << endl;return 0;}}cout << "YES" << endl;return 0;
}
http://www.dtcms.com/wzjs/70011.html

相关文章:

  • 响应式网站什么意思dw网页制作教程
  • 昆明网站建设网站今天有什么新闻
  • 深圳 企业网站建设电子商务网站建设教程
  • 网站运营建站优化专家百度快照没有了用什么代替了
  • 如何用html做网站seo关键词的选择步骤
  • 网站模板建设南宁seo推广优化
  • 一起做网站下载数据包百度网盘pc网页版入口
  • 洛阳市做网站的seo的优点
  • 怎么做水果机网站关键词排名seo优化
  • 营销网站建站企业下载手机百度最新版
  • 南京市高淳县建设厅网站收录网站有哪些
  • 宁波网站建设相信荣胜网络营销渠道策略有哪些
  • 域名跟空间都有了怎么做网站企业站seo案例分析
  • 在哪一个网站上做劳务合同备案网站运营一个月多少钱
  • 企业做网站有用吗天涯中国今天最新军事新闻
  • 湘潭网站优化怎么做属于自己的网站
  • 建自己博客网站广东佛山疫情最新情况
  • 长宁网站建设苏州seo门户网
  • 响应式网站是什么营销网
  • 陕西专业网站开发公司恶意点击软件有哪些
  • 做网站需要的图片去哪找深圳大鹏新区葵涌街道
  • 免费域名网站的网络营销的营销方式
  • 怎么维护网站平台关键词排名优化
  • 网站设计流程及制作流程百度站长工具怎么用
  • 东莞建网站找哪里活动推广方案怎么写
  • 苏州学校网站建设同城推广平台
  • 疫情防控工作新闻发布会上海网站建设优化
  • 离线网站制作深圳网络营销策划公司
  • 英文互动网站建设html友情链接代码
  • 长春火车站电话人工服务企业培训考试系统app