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

第十二次CCF计算机软件能力认证

第一题:最小差值

给定 n 个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。

输入格式

输入第一行包含一个整数 n。

第二行包含 n 个正整数,相邻整数之间使用一个空格分隔。

输出格式

输出一个整数,表示答案。

数据范围

对于所有评测用例,2≤n≤1000,每个给定的整数都是不超过 10000 的正整数。

输入样例1:

5
1 5 4 8 20

输出样例1:

1

样例1解释

相差最小的两个数是 5 和 4,它们之间的差值是 1。

输入样例2:

5
9 3 6 1 3

输出样例2:

0

样例2解释

有两个相同的数 3,它们之间的差值是 0。

 解题思路:

双重循环寻找即可

#include<iostream>using namespace std;const int N = 1010;
int n;
int a[N];int main()
{cin >> n;for(int i = 0;i < n;i ++)cin >> a[i];int res = 0x3f3f3f3f;for(int i = 0;i < n;i ++)for(int j = i + 1;j < n;j ++)res = min(res , abs(a[i] - a[j]));cout << res << endl;return 0;
}

第二题:游戏

有 n 个小朋友围成一圈玩游戏,小朋友从 1 至 n 编号,2 号小朋友坐在 1 号小朋友的顺时针方向,3 号小朋友坐在 2 号小朋友的顺时针方向,……,1 号小朋友坐在 n 号小朋友的顺时针方向。

游戏开始,从 1 号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加 1。

若一个小朋友报的数为 k 的倍数或其末位数(即数的个位)为 k,则该小朋友被淘汰出局,不再参加以后的报数。

当游戏中只剩下一个小朋友时,该小朋友获胜。

例如,当 n=5,k=2 时:

  • 1 号小朋友报数 1;
  • 2 号小朋友报数 2 淘汰;
  • 3 号小朋友报数 3;
  • 4 号小朋友报数 4 淘汰;
  • 5 号小朋友报数 5;
  • 1 号小朋友报数 6 淘汰;
  • 3 号小朋友报数 7;
  • 5 号小朋友报数 8 淘汰;
  • 3 号小朋友获胜。
  • n 和 k,请问最后获胜的小朋友编号为多少?

输入格式

输入一行,包括两个整数 n 和 k,意义如题目所述。

输出格式

输出一行,包含一个整数,表示获胜的小朋友编号。

数据范围

对于所有评测用例,1≤n≤1000,1≤k≤9。

输入样例1:

5 2

输出样例1:

3

输入样例2:

7 3

输出样例2:

4

解题思路:

像是约瑟夫环,但是对于简单题直接模拟就行

#include<iostream>
#include<cstring>using namespace std;const int N = 1010;
int n , k;
bool st[N];int main()
{cin >> n >> k;memset(st , 0 , sizeof st);int now = 1;int cnt = 0 , last = n;while(last != 1){if(now == n + 1) now = 1;if(!st[now]){cnt ++;if(cnt % k == 0 || cnt % 10 == k) {st[now] = true;last --;}}now ++;}for(int i = 1;i <= n;i ++)if(!st[i]) cout << i << endl;return 0;
}

第三题:Crontab

超级大模拟

// 总体思路:遍历每一个时间点;对每一个时间点遍历所有可能执行的命令
// Task List
// 1. 时间的存储// 1.1 能够实现next: next()// 1.2 能够打印: to_string()
// 2. 任务的存储// 2.1 所有可行时间: bool 数组 + check()// 2.2 可读取特定格式的输入: work()# include <iostream>
# include <unordered_map>
using namespace std;int months[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};struct Timer {int year, month, day, week, hour, minute;// 读入(初始化)Timer(string str) {sscanf(str.c_str(), "%04d%02d%02d%02d%02d", &year, &month, &day, &hour, &minute);}// 格式化打印string to_string() {char str[20];sprintf(str, "%04d%02d%02d%02d%02d", year, month, day, hour, minute);return str;}bool operator< (const Timer& t) const {if (year != t.year) return year < t.year;if (month != t.month) return month < t.month;if (day != t.day) return day < t.day;if (hour != t.hour) return hour < t.hour;return minute < t.minute;}int is_leap() {if (year % 400 == 0 || year % 100 != 0 && year % 4 == 0) return 1;return 0;}int get_day() {if (month == 2) return months[month] + is_leap();return months[month];}// nextvoid next() {if ( ++ minute == 60) {minute = 0;if ( ++ hour == 24) {hour = 0;week = (week + 1) % 7;if ( ++ day > get_day()) {day = 1;if ( ++ month == 13) {month = 1;year ++;}}}}}};struct Task {bool minutes[60], hours[24], day_of_month[32], month[13], day_of_week[7];string name;bool check(Timer& t) {return minutes[t.minute] && hours[t.hour] && day_of_month[t.day] &&month[t.month] && day_of_week[t.week];}
}task[20];unordered_map<string, int> nums;
void init() {string keys[] = {"jan", "feb", "mar", "apr", "may", "jun","jul", "aug", "sep", "oct", "nov", "dec","sun", "mon", "tue", "wed", "thu", "fri","sat"};int values[] = {1, 2, 3, 4, 5, 6,7, 8, 9, 10, 11, 12,0, 1, 2, 3, 4, 5,6};for (int i = 0; i < 19; i ++ )nums[keys[i]] = values[i];
}int get(string str) {if (str[0] >= '0' && str[0] <= '9') return stoi(str);string s;for (auto c: str) s += tolower(c);return nums[s];
}void work(string str, bool st[], int len) {if (str.find('*') != -1) {for (int i = 0; i < len; i ++ ) st[i] = true;}else {// 双指针,以','为分界单独处理每一部分for (int i = 0; i < str.size(); i ++ ) {if (str[i] == ',') continue;int j = i + 1;while (j < str.size() && str[j] != ',') j ++;string s = str.substr(i, j - i);i = j; // 不知道为什么不能写成i = j + 1// 处理单独部分int k = s.find('-');if (k != -1) {int l = get(s.substr(0, k)), r = get(s.substr(k + 1));for (int u = l; u <= r; u ++ ) st[u] = true;}else st[get(s)] = true;}}
}int main() {init();int n;string start, end;cin >> n >> start >> end;for (int i = 0; i < n; i ++ ) {string minutes, hours, day_of_month, month, day_of_week, name;cin >> minutes >> hours >> day_of_month >> month >> day_of_week >> name;work(minutes, task[i].minutes, 60);work(hours, task[i].hours, 24);work(day_of_month, task[i].day_of_month, 32);work(month, task[i].month, 13);work(day_of_week, task[i].day_of_week, 7);task[i].name = name;}Timer t("197001010000"), S(start), E(end);t.week = 4;while (t < E) {if (!(t < S)) {for (int i = 0; i < n; i ++ ) if (task[i].check(t))cout << t.to_string() << ' ' << task[i].name << endl;}t.next();}return 0;
}

第四题:行车路线

小明和小芳出去乡村玩,小明负责开车,小芳来导航。

小芳将可能的道路分为大道和小道。

大道比较好走,每走 1 公里小明会增加 1 的疲劳度。

小道不好走,如果连续走小道,小明的疲劳值会快速增加,连续走 s 公里小明会增加 s2 的疲劳度。

例如:有 5 个路口,1 号路口到 2 号路口为小道,2 号路口到 3 号路口为小道,3 号路口到 4 号路口为大道,4 号路口到 5 号路口为小道,相邻路口之间的距离都是 2 公里。

如果小明从 1 号路口到 5 号路口,则总疲劳值为 (2+2)^2+2+2^2=16+2+4=22。

现在小芳拿到了地图,请帮助她规划一个开车的路线,使得按这个路线开车小明的疲劳度最小。

输入格式

输入的第一行包含两个整数 n,m,分别表示路口的数量和道路的数量。路口由 1 至 n 编号,小明需要开车从 1 号路口到 n 号路口。

接下来 m 行描述道路,每行包含四个整数 t,a,b,c,表示一条类型为 t,连接 a 与 b 两个路口,长度为 c 公里的双向道路。其中 t 为 00 表示大道,t 为 11 表示小道。

保证 1 号路口和 n 号路口是连通的。

输出格式

输出一个整数,表示最优路线下小明的疲劳度。

数据范围

对于 30% 的评测用例,1≤n≤8,1≤m≤10;
对于另外 20% 的评测用例,不存在小道;
对于另外 20% 的评测用例,所有的小道不相交;
对于所有评测用例,1≤n≤500,1≤m≤105,1≤a,b≤n,t 是 0 或 1,c≤1e5。
保证答案不超过 1e6。

输入样例:

6 7
1 1 2 3
1 2 3 2
0 1 3 30
0 3 4 20
0 4 5 30
1 3 5 6
1 5 6 1

输出样例:

76

样例解释

从 1 走小道到 2,再走小道到 3,疲劳度为 5^2=25;然后从 3 走大道经过 4 到达 5,疲劳度为 20+30=50;最后从 5 走小道到 6,疲劳度为 1。

总共为 76。

解题思路: 

题目给定所有答案不超过1e6,其实也就保证了连续小路的长度不超过1000(1000的平方就是1e6)

若要更新k点

大路:dist[k][0] = dist[i][j] + w

小路:dist[k][j + w] = dist[i][j] - j ^ 2 + (j + w) ^ 2 考虑连续小路的平方

#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#include<algorithm>using namespace std;const int N = 5e5 + 10 , M = 510 , INF = 0x3f3f3f3f3f;
int n , m;
int h[N] , ne[N] , w[N] , e[N] , idx = 0;
int f[N]; // 大路和小路
int dist[M][1010]; // 从1到点i的最短距离,第二维j表示1到i点这条路径上最后那段(连接i)的小路的长度
bool st[M][1010];struct node
{int x , y , v;bool operator < (const node&t) const{return v > t.v;}
};void add(int t , int a , int b , int c)
{e[idx] = b , f[idx] = t , w[idx] = c , ne[idx] = h[a] , h[a] = idx ++;
}void dij()
{memset(st , 0 , sizeof st);memset(dist , 0x3f , sizeof dist);priority_queue<node>q;q.push({1 , 0 , 0});dist[1][0] = 0;while(!q.empty()){auto t = q.top();q.pop();if(st[t.x][t.y]) continue;st[t.x][t.y] = true;for(int i = h[t.x];~i;i = ne[i]){int j = e[i] , y = t.y;if(f[i]) // 小路{y += w[i];// 小路更新if(y <= 1000){if(dist[j][y] > t.v - t.y * t.y + y * y){dist[j][y] = t.v - t.y * t.y + y * y;if(dist[j][y] <= INF) q.push({j , y , dist[j][y]});}}}else{if(dist[j][0] > t.v + w[i]){dist[j][0] = t.v + w[i];if(dist[j][0] <= INF) q.push({j , 0 , dist[j][0]});}}}}
}int main()
{memset(h , -1 , sizeof h);cin >> n >> m;while(m --){int t , a , b , c;cin >> t >> a >> b >> c;add(t , a , b , c) , add(t , b , a , c);}dij();int res = INF;for(int i = 0;i <= 1000;i ++) res = min(res , dist[n][i]);cout << res << endl;return 0;
}

第五题:商路

dp+图论+线段树+dfs

 

#include <string.h>
#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
const ll mod = 1e18;
const int N = 1e5 + 5;struct Edge
{int t, s, ne;
} e[N];
int h[N], idx1;
void add(int u, int v, int s) { e[++idx1] = {v, s, h[u]}, h[u] = idx1; }ll v[N], f[N];
ll d[N], dp[N];
int sz[N], ind[N], idx2;
void dfs1(int from, ll s)
{// 第一趟 dfs,求出 dfs 序、到根节点的距离、子树大小ind[from] = ++idx2, d[idx2] = s, sz[from] = 1;for (int i = h[from]; i; i = e[i].ne)dfs1(e[i].t, s + e[i].s), sz[from] += sz[e[i].t];
}#define sq(x) ((x) * (x))            // 求平方 square,记得 x 要加括号:(x)
#define ff(x) (dp[x] - sq(d[x]))     // 凸包点的纵坐标值
#define dy(x1, x2) (ff(x1) - ff(x2)) // dy/dx 即斜率
#define dx(x1, x2) (d[x1] - d[x2])   // 凸包点的横坐标 d[x],用不上就不单独定义了
struct Node
{bool vis;vector<int> q; // 维护的凸包void build(){ // 构造凸包,就地算法,一趟遍历即可int r = 0;for (int &i : q){while (r > 1 &&(double)dy(q[r - 1], q[r - 2]) * dx(i, q[r - 1]) <=(double)dy(i, q[r - 1]) * dx(q[r - 1], q[r - 2]))r--;q[r++] = i;}q.resize(r);}ll find(int i){ // 二分搜索,传入的 i 是原序号,ind[i] 为 dfs 序if (!vis)vis = 1, build();ll k = -2 * (f[i] + d[ind[i]]); // 斜率,记得取负int l = -1, r = q.size() - 1;   // 如果只有一个点,直接取 r 即可while (r - l > 1){ // 至少有两个点的时候,二分搜索int mid = l + r >> 1;if ((double)dy(q[mid + 1], q[mid]) <=(double)k * dx(q[mid + 1], q[mid]))r = mid; // r 一定是可取的elsel = mid; // l 一定是不取的}return dp[q[r]] + v[i] - sq(f[i] + d[ind[i]] - d[q[r]]);}
} tr[N << 2];#define cur tr[x]          // 当前节点
#define lch tr[x << 1]     // 左孩子节点
#define rch tr[x << 1 | 1] // 右孩子节点
#define mid (l + r >> 1)
void merge(int x)
{ // 归并排序的 merge 算法cur.q.resize(lch.q.size() + rch.q.size());int i = 0, j = 0, k = 0;while (i < lch.q.size() || j < rch.q.size())if (i == lch.q.size())cur.q[k++] = rch.q[j++];else if (j == rch.q.size())cur.q[k++] = lch.q[i++];else if (d[lch.q[i]] <= d[rch.q[j]])cur.q[k++] = lch.q[i++];elsecur.q[k++] = rch.q[j++];
}
void build(int x, int l, int r)
{ // 构造线段树cur.vis = 0;if (l == r)cur.q.resize(1, l);elsebuild(x << 1, l, mid), build(x << 1 | 1, mid + 1, r), merge(x);
}int L, R, n, T; // [L, R] 为查询的区间
ll query(int x, int l, int r, int i)
{ // [l, r] 为当前节点维护的区间if (l >= L && r <= R)return cur.find(i);elsereturn max(mid >= L ? query(x << 1, l, mid, i) : 0,mid < R ? query(x << 1 | 1, mid + 1, r, i) : 0);
}
void dfs2(int from)
{if (!h[from])return;// 加引用,h 数组用完即弃for (int &i = h[from]; i; i = e[i].ne)dfs2(e[i].t);// from 为原标号,ind[from] 为 dfs 序L = ind[from] + 1, R = ind[from] + sz[from] - 1;dp[ind[from]] = query(1, 1, n, from);
}
int main()
{scanf("%d", &T);while (T--){idx1 = idx2 = 0;scanf("%d", &n);for (int i = 1, u, s; i <= n; i++)scanf("%d%d%lld%lld", &u, &s, v + i, f + i), add(u, i, s);dfs1(1, 0), build(1, 1, n), dfs2(1);ll ans = 0; // 斜率优化不能对 dp 值取模,否则维护不了凸包for (int i = 1; i <= n; i++)ans = (ans + dp[i]) % mod, dp[i] = 0;printf("%lld\n", ans);}
}

相关文章:

第十二次CCF计算机软件能力认证

第一题&#xff1a;最小差值 给定 n 个数&#xff0c;请找出其中相差&#xff08;差的绝对值&#xff09;最小的两个数&#xff0c;输出它们的差值的绝对值。 输入格式 输入第一行包含一个整数 n。 第二行包含 n 个正整数&#xff0c;相邻整数之间使用一个空格分隔。 输出格式 …...

ceph pg inconsistent修复(unexpected clone)

问题概述&#xff1a; ceph -s 显示pg 10.17 inconsistent 且命令ceph pg repair 10.17无法修复&#xff0c;/var/log/ceph/cep-osd.3.log报错内容如下&#xff1a; pg 10.17 osd [3,4] 权威副本osd&#xff1a;3 repair 10.17 10:e889b16a:::rbd_data.88033092ad95.00000000…...

供求重构是产业互联网的核心 个体崛起是产业互联网的终点

文章开头提到的网约车市场缘何会出现这样的困境&#xff1f;其中一个很重要的原因在于&#xff0c;建构于互联网模式之下的供求关系业已走到了尽头&#xff0c;仅仅只是依靠撮合和中介&#xff0c;仅仅只是凭借平台和中心开始无法破解供求两端的矛盾和问题。如何解决这一问题&a…...

torchvision.datasets数据加载失败

torchvision.datasets数据加载失败 如何使用torchvision.datasets进行自动下载数据失败&#xff0c;可以使用手动下载数据 Ctrl点击可以进入相关包文件&#xff0c;查找下载地址&#xff1a;https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz 手动下载之后解压&#x…...

【UEC++学习】UE网络 - Replication、RPC

1. UE网络架构 &#xff08;1&#xff09;UE的网络架构是SC&#xff08;Server - Client&#xff09;的模式&#xff0c;这种模式的优势&#xff1a;这种模式让所有客户端都在服务器端进行安全验证&#xff0c;这样可以有效的防止客户端上的作弊问题。 &#xff08;2&#xff…...

C语言案例 按序输出三个整数-02

题目&#xff1a;输入三个整数a,b,c,按从小到大的顺序输出 步骤一&#xff1a;定义程序的目标 编写一个C程序&#xff0c;随机输入三个整数&#xff0c;按照从小到大的顺序输出。 步骤二&#xff1a;程序设计 整个程序由三个模块组成&#xff0c;第一个为scanf输入函数模块&a…...

区块链实验室(16) - FISCO BCOS实验环境

经过多次重复&#xff0c;建立一个FISCO BCOS实验环境。该环境是一个VMWare虚拟机&#xff0c;能够启动FISCO BCOS自创建的4节点区块链&#xff0c;不必下载依赖包即可编译Fisco Bcos目标文件&#xff0c;安装有VsCode1.81版本。 启动4节点的Fisco Bcos区块链 启动控制台 编译…...

Java事件监听机制

这里写目录标题 先进行专栏介绍再插一句 开始喽事件监听机制分析观察者模式观察者模式由以下几个角色组成&#xff1a;观察者模式的工作流程如下&#xff1a;观察者模式的优点包括&#xff1a;观察者模式适用于以下场景&#xff1a;总结 事件监听机制的工作流程如下&#xff1a…...

记一次ubuntu16误删libc.so.6操作的恢复过程

背景 操作系统&#xff1a;ubuntu16 glibc版本&#xff1a;2.23 修改原因&#xff1a; 经过一系列报错和手工构建之后&#xff0c;vulkansdk成功安装&#xff08;起码运行./vulkansdu成功&#xff09;&#xff0c;在进行./vulkaninfo进行验证时&#xff0c;报错&#xff1a…...

MAVLINK—C语言demoWindows版本

mavlink/examples/c/udp_example.c 在学习mavlink时准备学习一下官网的C语言example&#xff0c;发现是unix系统的&#xff0c;打算在Windows系统下尝试&#xff0c;于是将示例修改了一下。 #include <stdio.h> #include <errno.h> #include <string.h> #in…...

区块链实验室(15) - 编译FISCO BCOS的过程监测

首次编译开源项目&#xff0c;一般需要下载很多依赖包&#xff0c;尤其是从github、sourceforge等下载依赖包时&#xff0c;速度很慢&#xff0c;编译进度似乎没有一点反应&#xff0c;似乎陷入死循环&#xff0c;似乎陷入一个没有结果的等待。本文提供一种监测方法&#xff0c…...

java_IO其它架包使用

文章目录 apache-common包的使用 apache-common包的使用 IO技术开发中&#xff0c;代码量很大&#xff0c;而且代码的重复率较高&#xff0c;为此Apache软件基金会&#xff0c;开发了IO技术的工具类commonsIO&#xff0c;大大简化了IO开发。 Apahce软件基金会属于第三方&…...

一、7.协同式任务切换与抢占式任务切换

使用TSS来在任务切换时保护现场和恢复现场 内核任务&#xff1a;单纯由内核组成的任务&#xff0c;和其他用户程序组成其他任务 内核任务的创建 ;为内核任务创建任务控制块TCB mov ecx, 0x46 call sys_routine_seg_sel:allocate_memory call append_to_tcb_link ;将此TCB添加…...

JavaScript实践:用Canvas开发一个可配置的大转盘抽奖功能

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f3c6;本文已…...

yay无法更新问题解决

背景 更新yay后&#xff0c;yay安装软件捞出问题&#xff0c;查的github上的都不靠谱。因此需要把yay的版本固定下&#xff0c;正常的11版本是可用的 解决方案 sudo pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si # 注…...

C语言 — 动态内存管理(动态内存函数)

前言 本期分为三篇介绍动态内存管理相关内容&#xff0c;关注博主了解更多 博主博客链接&#xff1a;https://blog.csdn.net/m0_74014525 本期介绍动态内存函数&#xff0c;函数如何使用、函数格式、在使用在所需要的注意点及C/C程序的内存开辟区域 系列文章 第一篇&#xff…...

Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合

推荐&#xff1a;使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 什么是Visual ChatGPT&#xff1f; Visual ChatGPT 是一个包含 Visual Foundation 模型 &#xff08;VFM&#xff09; 的系统&#xff0c;可帮助 ChatGPT 更好地理解、生成和编辑视觉信息。VFM 能够指…...

基于java理发店预约系统微信小程序设计与实现

摘要 多姿多彩的世界带来了美好的生活&#xff0c;行业的发展也是形形色色的离不开技术的发展。作为时代进步的发展方面&#xff0c;信息技术至始至终都是成就行业发展的重要秘密。不论何种行业&#xff0c;大到国家、企业&#xff0c;小到团体、个人都在多方位的结合信息化技术…...

【软件测试】大厂测工都是这样学习的,你get到了吗?

有不少的软件测试工程师站在“十字路口”迷茫、无助&#xff0c;找不到自己的方向。一切的迷茫都是因为想得太多而做的太少&#xff01;每位软件测试行业从业者都能意识到目前自己面临的窘境&#xff0c;但能及时作出改变&#xff0c;顺应时代变化的人还是太少。多数人明明“泰…...

如何使用ONLYOFFICE+ffmpeg来给视频文件打马赛克

如何使用ONLYOFFICEffmpeg来给视频文件打马赛克 我这里之前写过很多关于ONLYOFFICE使用、安装的系列图文&#xff0c;也写过很多关于ffmpeg使用的图文&#xff0c;那么这次继续&#xff0c;把这两个开源软件放在一起&#xff0c;能碰撞出什么火花般的功能来。 这就是给视频文…...

003-依赖注入、属性赋值源码分析

目录 引入作用代码分析InstantiationAwareBeanPostProcessor#postProcessProperties()AutowiredAnnotationBeanPostProcessor查找注入点元数据给注入点注入属性 引入 之前我们了解到BeanDefinition到Bean&#xff0c;经历了 实例化属性赋值初始化 3个步骤现在详细分析下属性赋…...

Elasticsearch 商业启示

上月的“红帽事件”&#xff0c;说明开源软件的“客服模式”行不通&#xff0c;那么&#xff0c;开源软件如何赚钱呢&#xff1f;既不能卖软件&#xff0c;又不能卖支持服务&#xff0c;该怎么办呢&#xff1f;我现在的看法是&#xff0c;只剩下一种模式是可行的&#xff0c;开…...

C++/Qt 读写文件

之前写过两篇跟文件操作相关的博客&#xff0c;有兴趣也可以看一下&#xff1a; C语言读写文件 Qt关于文件路径的处理 先讲一些关于基础文本文件和二进制文件的读写操作&#xff0c;后续将会整理C/Qt关于ini、xml、json、xlsx相关文件的读写操作。 C 相比于C语言使用FILE文…...

linux服务器之-nethogs命令

文章目录 NetHogs 工具安装安装依赖包安装epel源安装Nethogs 使用 NetHogs 工具 NetHogs是一个小型的net top工具&#xff0c;不像大多数工具那样拖慢每个协议或者是每个子网的速度而是依照进程进行带宽分组。 安装 安装依赖包 yum install libpcap libpcap-devel epel-rel…...

《每天5分钟玩转kubernetes》读书笔记

笔记 概念 Pod是脆弱的&#xff0c;但应用是健壮的。 kubelet运行在Cluster所有节点上&#xff0c;负责启动Pod和容器。kubeadm用于初始化Cluster。kubectl是k8s命令行工具。通过kubectl可以部署和管理应用&#xff0c;查看各种资源&#xff0c;创建、删除和更新各种组件。 …...

【RabbitMQ】golang客户端教程4——路由(使用direct交换器)

路由 在上一教程中&#xff0c;我们构建了一个简单的日志记录系统。我们能够向许多接收者广播日志消息。 在本教程中&#xff0c;我们将向它添加一个特性-我们将使它能够只订阅消息的一个子集。例如&#xff0c;我们将只能将关键错误消息定向到日志文件&#xff08;以节省磁盘…...

Shell脚本学习-for循环结构2

案例&#xff1a;通过脚本实现仅sshd、rsyslog、crond、network、sysstat服务在开机时自启动。 Linux系统在开机的服务通常工作在文本模式3级别&#xff0c;因此只需要查找3级别以上的开启的服务即可。查看命令&#xff1a; chkconfig --list |grep 3:on [rootvm1 ~]# chkco…...

vue 老项目 npm install 报错Python,c++等相关错误

​​​ 老项目npm install 下载依赖包报错 解决方法&#xff1a; //下载python 1、 npm install --global --production windows-build-tools//配置环境 &#xff1a; 也可暂时不用配置,能用就不用配置&#xff08;npm config set python "D:\Python27\python.exe&q…...

【c语言初级】c++基础

文章目录 1. C关键字2. 命名空间2.1 命名空间定义2.2 命名空间使用 3. C输入&输出4. 缺省参数4.1 缺省参数概念4.2 缺省参数分类 5. 函数重载5.2 C函数重载的原理--名字修饰采用C语言编译器编译后结果 1. C关键字 C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想…...

idea打开传统eclipse项目

打开传统web项目 1.打开后选择项目文件 2.选择项目结构 3.设置jdk版本 4.导入当前项目模块 5.选择eclipse 6. 设置保存目录 7.右键模块&#xff0c;添加spring和web文件 8. 设置web目录之类的&#xff0c;并且创建打包工具 9.如果有本地lib&#xff0c;添加为库 最后点击应用&…...