第十次CCF计算机软件能力认证
第一题:分蛋糕
小明今天生日,他有 n 块蛋糕要分给朋友们吃,这 n 块蛋糕(编号为 1 到 n)的重量分别为 a1,a2,…,an。
小明想分给每个朋友至少重量为 k 的蛋糕。
小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到 k 时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于 k。
请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。
输入格式
输入的第一行包含了两个整数 n,k,意义如上所述。
第二行包含 n 个正整数,依次表示 a1,a2,…,an。
输出格式
输出一个整数,表示有多少个朋友分到了蛋糕。
数据范围
对于所有评测用例,1≤n≤1000,1≤k≤10000,1≤ai≤1000。
输入样例:
6 9 2 6 5 6 3 5
输出样例:
3
样例解释
第一个朋友分到了前 3 块蛋糕,第二个朋友分到了第 4、5 块蛋糕,第三个朋友分到了最后一块蛋糕。
解题思路:
计算每一个区间如果该区间的和大于了给定范围,答案加一,最终输出答案即可。
#include<iostream>
#include<algorithm>using namespace std;const int N = 1010;
int n , m;
int a[N];int main()
{cin >> n >> m;for(int i = 0;i < n;i ++)cin >> a[i];int res = 0;int temp = 0;for(int i = 0;i < n;i ++){temp += a[i];if(temp >= m) res ++ , temp = 0;}if(temp) res ++;cout << res << endl;return 0;
}
第二题:学生排队
体育老师小明要将自己班上的学生按顺序排队。
他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。
一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。
例如,下面给出了一组移动的例子,例子中学生的人数为 8 人。
- 初始队列中学生的学号依次为 1,2,3,4,5,6,7,8;
- 第一次调整,命令为“3 号同学向后移动 2”,表示 3 号同学出队,向后移动 2 名同学的距离,再插入到队列中,新队列中学生的学号依次为 1,2,4,5,3,6,7,8;
- 第二次调整,命令为“8 号同学向前移动 3”,表示 8 号同学出队,向前移动 3 名同学的距离,再插入到队列中,新队列中学生的学号依次为 1,2,4,5,8,3,6,7;
- 第三次调整,命令为“3 号同学向前移动 2”,表示 3 号同学出队,向前移动 2 名同学的距离,再插入到队列中,新队列中学生的学号依次为 1,2,4,3,5,8,6,7。
小明记录了所有调整的过程,请问,最终从前向后所有学生的学号依次是多少?
请特别注意,上述移动过程中所涉及的号码指的是学号,而不是在队伍中的位置。
在向后移动时,移动的距离不超过对应同学后面的人数,如果向后移动的距离正好等于对应同学后面的人数则该同学会移动到队列的最后面。
在向前移动时,移动的距离不超过对应同学前面的人数,如果向前移动的距离正好等于对应同学前面的人数则该同学会移动到队列的最前面。
输入格式
输入的第一行包含一个整数 n,表示学生的数量,学生的学号由 1 到 n 编号。
第二行包含一个整数 m,表示调整的次数。
接下来 m 行,每行两个整数 p,q,如果 q 为正,表示学号为 p 的同学向后移动 q,如果 q 为负,表示学号为 p 的同学向前移动 −q。
输出格式
输出一行,包含 n 个整数,相邻两个整数之间由一个空格分隔,表示最终从前向后所有学生的学号。
数据范围
对于所有评测用例,1≤n≤1000,1≤m≤1000,所有移动均合法。
输入样例:
8 3 3 2 8 -3 3 -2
输出样例:
1 2 4 3 5 8 6 7
解题思路:
模拟每一次出队和进队的操作。
向后移动k位就是当前元素向后交换k位。
向前移动k位就是当前元素向前交换k位。
#include<iostream>
#include<vector>using namespace std;const int N = 1010;
int n;
int t;
int w[N];int main()
{cin >> n >> t;for(int i = 1;i <= n;i ++) w[i] = i;while(t --){int a , b;cin >> a >> b;int idx;for(int i = 1;i <= n;i ++)if(w[i] == a) idx = i;if(b > 0){// 向后移动k位,即将当前位置的元素向后交换k次for(int i = 0;i < b;i ++)swap(w[idx + i] , w[idx + i + 1]);}else {// 向前移动k位,即将当前位置的元素向前交换k次b = -b;for(int i = 0;i < b;i ++)swap(w[idx - i] , w[idx - i - 1]);}}for(int i = 1;i <= n;i ++)cout << w[i] << " ";return 0;
}
第三题:Markdown
Markdown 是一种很流行的轻量级标记语言(lightweight markup language),广泛用于撰写带格式的文档。
例如以下这段文本就是用 Markdown 的语法写成的:
这些用 Markdown 写成的文本,尽管本身是纯文本格式,然而读者可以很容易地看出它的文档结构。
同时,还有很多工具可以自动把 Markdown 文本转换成 HTML 甚至 Word、PDF 等格式,取得更好的排版效果。
例如上面这段文本通过转化得到的 HTML 代码如下所示:
本题要求由你来编写一个 Markdown 的转换工具,完成 Markdown 文本到 HTML 代码的转换工作。
简化起见,本题定义的 Markdown 语法规则和转换规则描述如下:
●区块:区块是文档的顶级结构。本题的 Markdown 语法有 3 种区块格式。在输入中,相邻两个区块之间用一个或多个空行分隔。输出时删除所有分隔区块的空行。
○段落:一般情况下,连续多行输入构成一个段落。段落的转换规则是在段落的第一行行首插入<p>
,在最后一行行末插入</p>
。
○标题:每个标题区块只有一行,由若干个#
开头,接着一个或多个空格,然后是标题内容,直到行末。#
的个数决定了标题的等级。转换时,# Heading
转换为<h1>Heading</h1>
,## Heading
转换为<h2>Heading</h2>
,以此类推。标题等级最深为 6。
○无序列表:无序列表由若干行组成,每行由*
开头,接着一个或多个空格,然后是列表项目的文字,直到行末。转换时,在最开始插入一行<ul>
,最后插入一行</ul>
;对于每行,* Item
转换为<li>Item</li>
。本题中的无序列表只有一层,不会出现缩进的情况。
●行内:对于区块中的内容,有以下两种行内结构。
○强调:_Text_
转换为<em>Text</em>
。强调不会出现嵌套,每行中_
的个数一定是偶数,且不会连续相邻。注意_Text_
的前后不一定是空格字符。
○超级链接:[Text](Link)
转换为<a href="Link">Text</a>
。超级链接和强调可以相互嵌套,但每种格式不会超过一层。输入格式
输入由若干行组成,表示一个用本题规定的 Markdown 语法撰写的文档。
输出格式
输出由若干行组成,表示输入的 Markdown 文档转换成产生的 HTML 代码。
数据范围
本题的测试点满足以下条件:
- 本题每个测试点的输入数据所包含的行数都不超过 100,每行字符的个数(包括行末换行符)都不超过 100。
- 除了换行符之外,所有字符都是 ASCII 码 32 至 126 的可打印字符。
- 每行行首和行末都不会出现空格字符。
- 输入数据除了 Markdown 语法所需,内容中不会出现
#
、*
、_
、[
、]
、(
、)
、<
、>
、&
这些字符。- 所有测试点均符合题目所规定的 Markdown 语法,你的程序不需要考虑语法错误的情况。
每个测试点包含的语法规则如下表所示,其中“√”表示包含,“×”表示不包含。
输入样例:
# HelloHello, world!
输出样例:
<h1>Hello</h1> <p>Hello, world!</p>
解题思路:
超级大模拟,只会写区块的三个,可以拿到4个点的分剩下的学习大佬的书写
/*
#include<iostream>
#include<cstring>
#include<vector>
#include<algorithm>using namespace std;vector<string>v;
string str;bool check_title(string s , string &res)
{if(s[0] != '#') return false;if(s[0] == '#') // 标题{int j = 0;while(j < s.size() && s[j] == '#') j ++;int i = 0;while(i < s.size() && (s[i] == '#' || s[i] == ' ')) i ++;string ch = to_string(j);res = "<h" + ch + ">" + s.substr(i) + "</h" + ch + ">";}return true;
}int main()
{while(getline(cin , str)){if(!s.size()) continue;v.push_back(str);}for(auto i : v){string res;// 标题if(check_title(i , res)) cout << res << endl;// 强调else if(check_yes(i , res)) cout << res << endl;// 链接else if(check_link(i , res)) cout << res << endl;}return 0;
}
*/
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>using namespace std;vector<string> strs;int work_link(string str, int i)
{string text, link;for (i ++; str[i] != ']'; i ++ ){char c = str[i];if (c == '_'){text += "<em>";i ++ ;while (str[i] != '_') text += str[i ++ ];text += "</em>";}else text += c;}for (i += 2; str[i] != ')'; i ++ )link += str[i];printf("<a href=\"%s\">%s</a>", link.c_str(), text.c_str());return i;
}int work_em(string str, int i)
{printf("<em>");for (i ++; str[i] != '_'; i ++ ){char c = str[i];if (c == '[') i = work_link(str, i);else cout << c;}printf("</em>");return i;
}void work_line(string str)
{int k = 0;while (str[k] == ' ') k ++ ;str = str.substr(k);for (int i = 0; i < str.size(); i ++ ){char c = str[i];if (c == '_') i = work_em(str, i);else if (c == '[') i = work_link(str, i);else cout << c;}
}void work(int a, int b)
{if (strs[a][0] == '#'){int k = 0;while (strs[a][k] == '#') k ++ ;printf("<h%d>", k);work_line(strs[a].substr(k));printf("</h%d>\n", k);}else if (strs[a][0] == '*'){printf("<ul>\n");for (int i = a; i <= b; i ++ ){printf("<li>");work_line(strs[i].substr(1));printf("</li>\n");}printf("</ul>\n");}else{printf("<p>");for (int i = a; i <= b; i ++ ){work_line(strs[i]);if (i != b) cout << endl;}printf("</p>\n");}
}int main()
{string str;while (getline(cin, str)) strs.push_back(str);for (int i = 0; i < strs.size(); i ++ ){if (strs[i].empty()) continue;int j = i + 1;while (j < strs.size() && strs[j].size()) j ++ ;work(i, j - 1);i = j - 1;}return 0;
}
第四题:地铁修建
A 市有 n 个交通枢纽,其中 1 号和 n 号非常重要,为了加强运输能力,A 市决定在 1 号到 n 号枢纽间修建一条地铁。
地铁由很多段隧道组成,每段隧道连接两个交通枢纽。
经过勘探,有 m 段隧道作为候选,两个交通枢纽之间最多只有一条候选的隧道,没有隧道两端连接着同一个交通枢纽。
现在有 n 家隧道施工的公司,每段候选的隧道只能由一个公司施工,每家公司施工需要的天数一致。
而每家公司最多只能修建一条候选隧道。所有公司同时开始施工。
作为项目负责人,你获得了候选隧道的信息,现在你可以按自己的想法选择一部分隧道进行施工,请问修建整条地铁最少需要多少天。
输入格式
输入的第一行包含两个整数 n,m,用一个空格分隔,分别表示交通枢纽的数量和候选隧道的数量。
第 2 行到第 m+1 行,每行包含三个整数 a,b,c,表示枢纽 a 和枢纽 b 之间可以修建一条隧道,需要的时间为 c 天。
输出格式
输出一个整数,修建整条地铁线路最少需要的天数。
数据范围
对于 20% 的评测用例,1≤n≤10,1≤m≤20;
对于 40% 的评测用例,1≤n≤100,1≤m≤1000;
对于 60% 的评测用例,1≤n≤1000,1≤m≤10000,1≤c≤1000;
对于 80% 的评测用例,1≤n≤10000,1≤m≤100000;
对于 100% 的评测用例,1≤n≤100000,1≤m≤200000,1≤a,b≤n,1≤c≤1000000。
所有评测用例保证在所有候选隧道都修通时1号枢纽可以通过隧道到达其他所有枢纽。输入样例:
6 6 1 2 4 2 3 4 3 6 7 1 4 2 4 5 5 5 6 6
输出样例:
6
样例解释
可以修建的线路有两种。
第一种经过的枢纽依次为 1,2,3,6,所需要的时间分别是 4,4,7,则整条地铁线需要 7 天修完;
第二种经过的枢纽依次为 1,4,5,6,所需要的时间分别是 2,5,6,则整条地铁线需要 6 天修完。
第二种方案所用的天数更少。
解题思路:
对于基本前50%的数据可以使用暴力枚举+bfs的方法进行求解,枚举每一个可能的答案进行判断。
但是更快速的方法就是可以使用二分枚举枚举每一个答案,复杂度可以降到log的级别肯定可以通过。
#include<iostream>
#include<queue>
#include<cstring>using namespace std;const int N = 100010 , M = 400010;
int n , m;
int h[M] , e[M] , ne[M] , w[M] , idx;
int dist[N];void add(int a , int b , int c)
{e[idx] = b , w[idx] = c , ne[idx] = h[a] , h[a] = idx ++;
}int bfs(int u)
{memset(dist , 0x3f , sizeof dist);dist[1] = 0;queue<int>q;q.push(1);while(!q.empty()){int t = q.front();q.pop();for(int i = h[t];~i;i = ne[i]){int j = e[i];if(w[i] > u) continue;if(dist[j] > dist[t] + 1){dist[j] = dist[t] + 1;q.push(j);}}}return dist[n];
}int main()
{memset(h , -1 , sizeof h);cin >> n >> m;while(m --){int a , b , c;cin >> a >> b >> c;add(a , b , c) , add(b , a , c);}int r = 1e18 , l = 0;while(l < r){int mid = (l + r) >> 1;if(bfs(mid) <= n) r = mid;else l = mid + 1;}cout << r << endl;return 0;
}
第五题:引水入城
最大流、最小割、平面图、分层图最短路、DP
(不会)
#include <iostream>using namespace std;using i64 = long long;const int N = 5010;i64 n, m, A, B, Q, x;
int r[N][N], c[N][N];
i64 d[N];int main() {cin >> n >> m >> A >> B >> Q >> x;for (int i = 1; i <= n - 1; i++)for (int j = 1; j <= m; j++)x = c[i][j] = (A * x + B) % Q;for (int i = 2; i <= n - 1; i++)for (int j = 1; j < m; j++)x = r[i][j] = (A * x + B) % Q;for (int j = 1; j <= m; j++) {for (int i = 1; i < n; i++) d[i] += c[i][j];for (int i = 2; i < n; i++) d[i] = min(d[i], d[i - 1] + r[i][j]);for (int i = n - 2; i; i--) d[i] = min(d[i], d[i + 1] + r[i + 1][j]);}i64 res = 1e18;for (int i = 1; i < n; i++) res = min(res, d[i]);cout << res << '\n';return 0;
}
相关文章:

第十次CCF计算机软件能力认证
第一题:分蛋糕 小明今天生日,他有 n 块蛋糕要分给朋友们吃,这 n 块蛋糕(编号为 1 到 n)的重量分别为 a1,a2,…,an。 小明想分给每个朋友至少重量为 k 的蛋糕。 小明的朋友们已经排好队准备领蛋糕,对于每个朋…...

【敏捷开发】测试驱动开发(TDD)
测试驱动开发(Test-Driven Development,简称TDD)是敏捷开发模式中的一项核心实践和技术,也是一种设计方法论。TDD有别于以往的“先编码,后测试”的开发模式,要求在设计与编码之前,先编写测试脚本…...

骑砍二 ATC MOD 使用教程与应用案例解析
骑砍二 ATC MOD 使用教程与应用案例解析 作者:blibli-财不外漏 / NEXUSMODS-PuepleKarmen 案例MOD依赖:ATC - Adonnay’s Troop Changer & AEW - Adonnay’s Exotic Weaponry & New Armor 文本编辑工具:VS Code(推荐使用&…...

python和c语言哪个好上手,c语言和python语言哪个难
大家好,本文将围绕python和c语言哪个更值得学展开说明,python语言和c语言哪个简单是一个很多人都想弄明白的事情,想搞清楚c语言和python语言哪个难需要先了解以下几个事情。 前言 新手最容易拿来讨论的三个语言,具体哪个好&#x…...

智能优化算法 | Matlab实现鲸鱼优化算法(Whale Optimization Algorithm)(内含完整源码)
文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 智能优化算法 | Matlab实现鲸鱼优化算法(Whale Optimization Algorithm)(内含完整源码) 研究内容 步骤 1:设置鲸鱼数量 N 和算法的最大迭代次数 tmax,初始化位置信息; 步骤 2:计算每条鲸鱼的适应度,…...
Android随笔-VPN判断
Android中判断当前网络是否为VPN /*** 判断当前网络是否为VPN* param context* return*/public static boolean hasVPN(Context context) {// 查询网络状态,被动监听网络状态变化ConnectivityManager cm (ConnectivityManager) context.getSystemService(Context.C…...

【黑马头条之kafka及异步通知文章上下架】
本笔记内容为黑马头条项目的kafka及异步通知文章上下架部分 目录 一、kafka概述 二、kafka安装配置 三、kafka入门 四、kafka高可用设计 1、集群 2、备份机制(Replication) 五、kafka生产者详解 1、发送类型 2、参数详解 六、kafka消费者详解 1、消费者…...

Modelsim打开后报unable to checkout a viewer license
找到Modelsim安装包中的MentorKG.exe文件和patch64_dll.bat文件,将这两个文件拷贝到Modelsim安装目录中的win64文件夹: 在win64文件夹中找到mgls64.dll,将它拷贝粘贴一份后修改名字为mgls.dll: 双击win64文件夹中的patch64_dll.ba…...

计算机视觉与图形学-神经渲染专题-Seal-3D(基于NeRF的像素级交互式编辑)
摘要 随着隐式神经表示或神经辐射场 (NeRF) 的流行,迫切需要与隐式 3D 模型交互的编辑方法,以完成后处理重建场景和 3D 内容创建等任务。虽然之前的作品从不同角度探索了 NeRF 编辑,但它们在编辑灵活性、质量和速度方面受到限制,无…...
synchronized的底层实现原理
技术主题 synchronized 是 Java 中用于实现线程同步的关键字。它的底层原理涉及到对象头、Monitor(监视器)和内存屏障等概念。 技术原理 技术一:对象头 对象头:每个 Java 对象在内存中都有一个对象头,用于存储对象的元数据信息,比如对象的哈希码、GC 信息以及锁状态等…...

屏幕取色器Mac版_苹果屏幕取色工具_屏幕取色器工具
Sip for Mac 是Mac系统平台上的一款老牌的颜色拾取工具,是设计师和前端开发工作者必不可少的屏幕取色软件,你只需要用鼠标点一下即可轻松地对屏幕上的任何颜色进行采样和编码,并将颜色数据自动存到剪切板,方便随时粘贴出来。 Sip…...

HDFS中的Federation联邦机制
HDFS中的Federation联邦机制 当前HDFS体系架构--简介局限性 联邦Federation架构简介好处配置示例 当前HDFS体系架构–简介 当前的HDFS结构有两个主要的层: 命名空间(namespace) 由文件,块和目录组成的统一抽象的目录树结构。由n…...

Spring Boot 单元测试
目录 1.什么是单元测试? 2.单元测试的优点 3.Spring Boot 单元测试使用 3.1 生成单元测试的类 3.2 添加 Spring Boot 框架测试注解:SpringBootTest 3.3 添加单元测试业务逻辑 3.4 注解 Transactional 4. 断言 1.什么是单元测试? 单元…...
k8s部署nginx访问Tomcat
1.nginx打包镜像 #1、编写DockerFilemkdir /opt/my_nginx_dockerfilecd /opt/my_nginx_dockerfile cat >default.conf<<EOF server {listen 80;listen [::]:80;server_name localhost;#access_log /var/log/nginx/host.access.log main;location / {root …...

springboot配置文件的使用
目录 1.application.properties是springboot默认的配置文件,但是比较繁琐,一般用.yml文件 2. 配置文件的作用 3.配置文件的使用 1.application.properties是springboot默认的配置文件,但是比较繁琐,一般用.yml文件 ①、properti…...

blender 毛发粒子
新建平面,点击右侧粒子系统,选择毛发,调整毛发长度,数量(Number),调整数量是为了避免电脑卡顿; 上面设置的每一根柱子都可以变成一个物体,点击渲染,渲染为选择…...
. 在css中的应用
正好看到一个用 &. 的css语句,感觉不太明白就去查了一下,感觉C站上缺少相关内容,所以这里就来补上一篇 &. 实际上是一种sass语法,在 Sass 中 & 表示父选择器的引用,可以用于创建更具体的选择器࿰…...

黑马程序员SpringMVC练手项目
目录 1、需求 2、项目准备 pom.xml SQL jdbc.properties log4j.properties applicationContext.xml spring-mvc.xml web.xml 3、工作流程 4、难点 项目已经上传到gitee:https://gitee.com/xzl-it/my-projects 1、需求 SpringMVC项目练习:数…...
SQL注入 ❤ ~~~ 网络空间安全及计算机领域常见英语单词及短语——网络安全(二)
SQL注入 ❤ 学网安英语 大白话讲SQL注入SQL注入原理1. 用恶意拼接查询进行SQL注入攻击2. 利用注释执行非法命令进行SQL注入攻击3. 利用传入非法参数进行SQL注入攻击4. 添加额外条件进行SQL注入攻击 时间和布尔盲注时间盲注(Time-Based Blind SQL Injection…...

【外卖系统】新增菜品
需求分析 在后台中,通过新增功能来添加一个新的菜品,在添加菜品时需要选择当前菜品所属的菜品分类,并且需要上传的菜品图片。 代码开发 需要添加的类和基本接口:实体类DishFlavor、Mapper接口DishFlavorMapper、业务层接口Dish…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...