- 博客(60)
- 收藏
- 关注
原创 【CPN 学习笔记(三)】—— Chap3 CPN ML 编程语言 上半部分 3.1 ~ 3.3
本文摘要: CPN ML 是基于 Standard ML 的函数式编程语言,专为有色 Petri 网建模设计。文章介绍了 CPN ML 的核心特性:强类型系统与自动类型推断、不可变变量和表达式求值机制,重点讲解了颜色集构造器,包括基本类型(int/string/bool/unit)、元组(product)、结构体(record)、联合类型(union)等。通过 Python 类比帮助理解函数式编程与命令式编程的区别,强调 CPN ML 在编译时进行类型检查的优势,为 Petri 网建模提供安全可靠的编程基础
2026-04-07 19:41:55
406
原创 【CPN学习笔记(二)】Chap2 非分层颜色 Petri 网——从一个简单协议开始读懂 CPN
第二章的信息量很大,但逻辑非常清晰——一个协议,两个版本(一个理想化简单模型,一个加入不可靠网络的复杂模型(会丢包)),每个版本引出一批新概念。读完之后,CPN 的基本运作机制基本就明白了:库所是状态,变迁是事件,弧表达式决定 token 的流动,守卫提供额外约束,有两种写法一个是写在变迁上,一个是写在弧上用if else来表达,并发和冲突自然从 token 的竞争关系中涌现,下一章会深入 CPN ML 语言本身,把数据类型和表达式系统讲清楚。
2026-04-07 17:49:42
372
原创 【CPN学习笔记(一)】Chap1 全网最值得一看的颜色网入门学习笔记来啦!(Coloured Petri Nets)
《Coloured Petri Nets》第一章介绍了CPN建模语言的基本概念和应用价值。CPN是一种融合Petri网与高级编程语言的图形化建模工具,特别适合并发系统(如通信协议、分布式算法等)的建模与分析。本章阐述了建模的三大核心收益:获得系统洞见、验证设计完整性、提高正确性。CPN支持交互式和自动仿真两种执行方式,并引入时间概念进行性能分析。作者强调建模的关键在于选择适当的抽象层次,CPN的分层结构机制支持多粒度建模。本章还概述了CPN Tools工具及四个工业应用案例,展示了CPN在实际工程中的
2026-04-07 11:41:02
311
原创 【杂谈】SNNU公共计算平台:深度学习服务器配置与远程开发指北
本文为SNNU公共计算平台用户提供深度学习服务器配置与远程开发指南,适用于NVIDIA RTX 3090/4090实例。针对Ubuntu虚拟化环境特性,重点解决VS Code连接兼容性、显卡驱动安装和Python环境配置等常见问题。详细介绍了如何获取实例连接信息、配置特定版本的VS Code便携版、安装稳定的470版NVIDIA驱动、美化终端界面以及搭建Python深度学习环境(推荐使用Anaconda+Pip方案)。通过优化后的流程可避免常见报错,帮助用户快速建立高效的远程开发环境。
2025-11-29 21:52:43
848
1
原创 【Petri网导论学习笔记】Petri网导论入门学习(十二) —— chap5 一些 Petri 网子类的动态性质分析和判定 5.1标识S-图
本章的目的是通过分析一些Petri网子类的活性和可达性的判定方法,使得Petri网的动态性质分析更加简便。
2025-01-18 17:52:12
828
原创 【Petri网导论学习笔记】Petri网导论入门学习(十一) —— 3.3 变迁发生序列与Petri网语言
对于 Petri 网进行分析的另一种方法是考察网系统中**所有可能发生的变迁序列**以及**这些序列所构成的集合**的性质。如所周知,一个**字母表**上**满足某些特定条件的字符串**的**集合**,称为该字母表上的一个**语言**。如果我们把一个 Petri 网的**变迁集** $T$ 看作一个**字母表
2024-11-27 21:36:26
1721
原创 【Petri网导论学习笔记】Petri网导论入门学习(十) —— 3.2 关联矩阵与状态方程
正如 Petri 网的一个标识可以表示成一个 $ m $ 维非负整数向量一样,Petri 网的结构也可以用一个矩阵来表示。这样,就可以引入线性代数的方法对 Petri 网的性质进行分析。设 Σ=(S,T;F,M)\Sigma = (S, T; F, M)Σ=(S,T;F,M) 为一个 Petri 网,S={s1,s2,…,sm}S = \{s_1, s_2, \ldots, s_m\}S={s1,s2,…,sm},T={t1,t2,…,tn}T = \{t_1, t_2, \ldots, t_n\}T
2024-11-27 18:04:19
1557
原创 【Petri网导论学习笔记】Petri网导论入门学习(九) —— 3.1 可达标识图与可覆盖树
设ΣST;FM0为一个有界 Petri 网。Σ的可达标识图定义为一个三元组RGRGRGΣRM0EPΣRM0EP,其中EMiMj∣MiMj∈RM0∃tk∈TMitkMjEMiMj∣MiMj∈RM0∃tk∈TMitkMjPE→TP: E\to TPE→T。
2024-11-27 16:15:00
1835
原创 【青训营 X MarsCode】寻找最大葫芦
在这个问题中,我们对“葫芦”增加了一个限制:组成“葫芦”的五张牌牌面值之和不能超过给定的最大值 max。> 2,其中 A 的牌面值为1,K 为13,依此类推。给定一组牌,你需要找到符合规则的最大的“葫芦”组合,并输出其中三张相同的牌面和两张相同的牌面。如果找不到符合条件的“葫芦”,则输出 “0, 0”。,需要找出两个不同的数字,一个至少出现三次,另一个至少出现两次,并且这五张牌的总和不能超过给定的最大值。“葫芦”由五张牌组成,其中包括三张相同牌面值的牌。如果找到符合条件的组合,返回这两个数字的索引;
2024-11-02 15:48:03
790
原创 【Petri网导论学习笔记】Petri网导论入门学习(八) —— 1.6 系统的Petri网模型
在多个进程共享一个数据项的情况下,各个进程对数据项的最基本操作是读和写。然而,一个进程读到数据项的值后,通过计算可能修改数据项的值,然后写回原处。在这种情况下,另一个进程是使用这个数据项的原值还是使用更新后的值,结果是不一样的。如果要使用更新后的值,就应设置临界段,要求一个进程使用共享的数据项期间,另一个进程不能读取这个数据项。信号量是一个非负整数量,一个 V 操作使信号量的值加 1,而一个 P 操作使信号量的值减 1。而生产者进程能够运行的条件是缓冲寄存器不溢出,因为缓冲寄存器的容量一般是有限制的。
2024-10-19 16:52:49
1974
原创 【2024字节青训·易】环状DNA序列整理
环状 DNA 又称超螺旋,即一段碱基序列呈现环状,在分析时,需要将相同序列的环状 DNA 分到相同组内,现需将环状碱基序列按照最小表示法进行排序。一段长度为n的碱基序列,按照顺时针方向,碱基序列可以从任意位置起开始该序列顺序,因此长度为n的碱基序列有n种表示法。例如:长度为 6 的碱基序列CGAGTC,有CGAGTCGAGTCCAGTCCG等表示法。在这些表示法中,字典序最小的称为“最小表示”。输入一个长度为nn
2024-10-19 10:20:14
737
原创 【2024字节青训·易】Base32编码与解码
Base32 是 Base64 的变种,与 Base64 不同的地方在于 Base64 以 6 bit 为一组作为索引,而 Base32 以 5 bit 为一组作为索引,每一组用一个 ASCII 字符表示。Base 64 总共需要 64 个字符表示,而 Base32 则只需要 32 个字符表示。相比于 Base32,你可能更熟悉 Base64,Base64 是非常常见的用字符串形式表示二进制数据的方式,在邮件附件、Web 中的图片中都有广泛的应用。你需要实现一个 Base32 的编码和解码函数。
2024-10-19 10:14:14
1634
1
原创 【Petri网导论学习笔记】Petri网导论入门学习(七) —— 1.5 并发与冲突
Petri网的一大突出优点就是便于描述并发与冲突,其中同步与并发的概念紧密相连考察图 1.15 的基本网系统Σ1=(B,E;F,c0)\Sigma_1=(B,E;F,c_0)Σ1=(B,E;F,c0) ,其中c0={b1,b2}c_0=\{b_1,b_2\}c0={b1,b2}。在情态c0c_0c0下事件e2e_2e2和e3e_3e3都有权发生。这是因为∙e2={b1}⊆c0 且e2∙∩c0={b3}∩{ b1,b2 }=∅∙e3={b2}⊆c0 且e3∙∩c0={b4}∩{ b1,b2
2024-10-18 18:11:09
2045
原创 【Petri网导论学习笔记】Petri网导论入门学习(六) —— 1.4 基本网系统与条件事件系统
基本网系统是一个四元组ΣBE;FcF,c)ΣBE;Fc,其中1BE;F1)(B,E;F)1BE;F是一个网,BBB称为条件集(condition set),EEE称为事件集(event set),c⊆Bc⊆B称为Σ\SigmaΣ的一个情态(case)。2)事件e∈Ee\in Ee∈E在情态ccc有发生权(记作cec[e>)ce,当且仅当∙e⊆c∧e∙∩c∅∙e⊆c∧e∙∩。
2024-10-18 16:14:47
1306
原创 【Petri网导论学习笔记】Petri网导论入门学习(五)—— 1.3 库所/变迁系统与加权Petri网
六元组ΣST;FKWM称为一个库所/变迁系统(place/transition system),其中1 )ST;F( S, T;F)ST;F是一个网,WF→123⋯WF→123⋯称为权函数(weighted function)KS→123⋯KS→123⋯称为容量函数(capacity function)MS→012⋯MS→012⋯是Σ。
2024-10-18 15:24:28
1859
原创 【2024字节青训·易】打点计时器
它可以接收一个递增的数据范围(形如[3, 9]),其中第一个数字代表起始,第二个数字代表结束。在传入的多组数据范围中,如果出现了范围的重复,机器则不会重复打点。你可以帮助小明算一算,在不同的情况下,计数器会打出几个点么?一个整数,表达在输入是这个数组的情况下,计数器打出的点数。这个数据范围中包含几个数字,打点计数器就会打几个点。
2024-10-16 18:05:11
557
原创 【2024字节青训·易】创意标题匹配
在广告平台中,为了给广告主一定的自由性和效率,允许广告主在创造标题的时候以通配符的方式进行创意提交。线上服务的时候,会根据用户的搜索词触发的 bidword 对创意中的通配符(通配符是用成对 {} 括起来的字符串,可以包含 0 个或者多个字符)进行替换 ,用来提升广告投放体验。adcdcefdfeffe 可以看作 ad{}cdc{efd}f{eff}e 或者 ad{}cdc{efdfe}f{f}e 替换生成,但是无论哪种替换方式都是符合该创意 ad{xyz}cdc{y}f{x}e。
2024-10-16 17:21:10
2354
1
原创 【2024字节青训·易】DNA序列还原
要解决这个问题,我们可以使用动态规划(Dynamic Programming, DP)的方法。这个方法非常适合解决涉及字符串编辑距离的问题,比如 DNA 碱基序列的转换。我们将使用经典的编辑距离算法(也称为莱文斯坦距离算法)。给定一段受损的 DNA 碱基序列 dna1,在每次只操作一个碱基的情况下,将其以最少的操作步骤将其还原到未受损的 DNA 碱基序列 dna2。GCCGAGC -> GCTGAGC(将 C 替换为 T)AGCTTAGC -> AGCTAGC(删除 T)个字符所需的最小操作数。
2024-10-16 12:39:44
1212
原创 【2024字节青训·易】计算位置x到y的最小步数
AB 实验同学每天都很苦恼如何可以更好地进行 AB 实验,每一步的流程很重要,我们目标为了缩短所需的步数。我们假设每一步对应到每一个位置。从一个整数位置x走到另外一个整数位置y,每一步的长度是正整数,每步的值等于上一步的值-1+0+1。求x到y最少走几步。并且第一步必须是1,最后一步必须是1,从x到y最少需要多少步。
2024-10-15 23:59:40
1454
5
原创 【Petri网导论学习笔记】Petri网导论入门学习(四)—— 1.2 标识网与网系统
Petri网导论学习笔记,1.2 原型Petri网,介绍了原型Petri网的构成和变迁规则。
2024-09-13 13:09:35
1777
原创 【Python】由二维列表初始化导致修改元素时会修改相同位置元素的引用问题f = [[0] * len(matrix[0])] * len(matrix)
在初始化二维列表时,直接使用的方式会导致所有行引用同一个列表对象。这种行为在修改二维列表中的元素时会造成每一行的列表会存储到相同的物理地址。解决该问题的最佳方法是使用列表推导式生成独立的行对象,确保每一行都是互相独立的,从而避免修改一个元素时影响其他元素。
2024-09-11 22:24:32
597
原创 【Petri网导论学习笔记】Petri网导论入门学习(一)—— 0 序言
学习用书:Petri网导论Petri网是分布式系统的建模和分析工具。其中对真并发的恰切描述是Petri网的独特优势。1962年由德国科学家Carl Adma Petri在他的博士论文“Kommuunikation mit Automaten”(用自动机通信)提出。
2024-09-10 16:58:40
1097
原创 开启新阶段~
重新启动一下我的小博客,未来会在这里分享一些个人的学习笔记和刷题的记录。一来是记录自己的学习生活,二来也是做好自己的整理和复习,三来也是希望能帮助到有需要的人。未来可能主要更新的内容是离散数学和Petri网的学习笔记与leetcode和洛谷的刷题记录,欢迎有共同的方向的小伙伴们一起学习和交流~
2024-06-07 10:46:19
404
原创 【Java】实验2——数组的声明和使用
数组的声明和使用忘记复制代码了,居然当时是截图:(1、对一个给定的一维数组,求数组元素之和。实验结果:首先定义数组num1,并用随机数赋值。再定义变量ans求和加总输出即可。2、 对一个给定的3*4的二维数组,输出其元素,计算该二维数组的和,再转置输出数组各元素。实验结果:定义二位数组num2并且用随机数赋值。两层for循环展示数组输出。再讲行与列编号倒转,输出转置后的矩阵。3、编写一个方法将已存入数组中的值45,89,7,6,0按逆序打印出来。(修改:将逆序输出写在方法中
2020-09-29 11:42:35
590
原创 【Java】实验3——类与继承实验报告
实验任务三(面向对象基础一)Java的课堂小实验报告,放到上来水一下可以帮助一些刚入门不想写类似实验报告的人(误)设计一个汽车类Vehicle,包含的成员属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含属性载人数。卡车Truck是Vehicle的子类,其中包含载人数和载重量payload。每个类都有相关数据的输出方法。代码:class Vehicle{ int wheel,weight; protected Vehicle(int wheel,
2020-09-29 11:27:59
3021
原创 【NOI2002】caioj1095: 并查集4(银河英雄传说)
1095: 并查集4(银河英雄传说)时间限制: 1 Sec 内存限制: 128 MB 题目描述 【问题描述】 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争。泰山压顶集团派宇宙舰队司令莱因哈特率领十万余艘战舰出征, 气吞山河集团点名将杨威利组织麾
2020-08-31 16:23:06
577
原创 1099: 线段树(元问题)线性结构求极值和修改
caioj1099: 线段树(元问题)线性结构求极值和修改时间限制: 1 Sec 内存限制: 128 MB 【题意】 给出N个数,两种操作: 1、C x y:修改第x个数的值为y; 2、P x y:求第x到第y个的最大值,注:x未必比y小 【输入格式】 第一行输入N和M(0Solution如果纯模拟,时间肯定会超 线段树的元问题 c++翻译一下pascal的线段树模板,我来做一个p
2017-11-05 10:30:08
490
原创 1060: 背包6(含价值的填满型 完全 背包)
caioj·1060: 背包6(含价值的填满型 完全 背包)时间限制: 1 Sec 内存限制: 128 MB【问题描述】一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。kilometres 1 2 3 4 5 6 7 8 9 10 price 12 21 31 40 49 58 69
2017-11-04 16:35:59
441
原创 1075: 动态规划入门(中链式2:能量项链)
caioj·1075: 动态规划入门(中链式2:能量项链)时间限制: 1 Sec 内存限制: 128 MB题目描述 【问题描述】能量球组成的项链。相邻两球可以合并产生新球。合并规则:如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为m*r*n(Mars单位),新产生的珠子的头标记为m,尾标记为n。一条项链怎样合并才能得到最大能量,求最大能量值。例
2017-11-04 11:12:50
726
原创 1069: 动态规划入门(二维一边推2:顺序对齐)
caioj·1069: 动态规划入门(二维一边推2:顺序对齐)时间限制: 1 Sec 内存限制: 128 MB 题目描述 【问题描述】考虑两个字符串右对齐的最佳解法。例如,有一个右对齐方案中字符串是AADDEFGGHC和ADCDEGH。AAD_DEFGGHC ADCDE__GH_ 每一个数值匹配的位置值2分,一段连续的空格值-1分。所以总分是匹配点的2倍减
2017-11-04 10:24:56
788
原创 1070 动态规划入门(二维一边推3:字符距离)
真·题外话)还有七天NOIP了,祝大家rp++,写点动态规划复习复习。caioj·1070 动态规划入门(二维一边推3:字符距离)时间限制: 1 Sec 内存限制: 128 MB【问题描述】设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为“abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X的扩展串,这里“□”
2017-11-04 09:29:53
469
原创 动态规划入门(一维一边推4:护卫队)
1066: 动态规划入门(一维一边推4:护卫队)时间限制: 1 Sec 内存限制: 128 MB 题目描述 【问题描述】 护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥。因为街道是一条单行道,所以任何车辆都不能超车。桥能承受一个给定的最大承载量。为了控制桥上的交通,桥两边各站一个指挥员。护卫车队被分成几个组,每组中的车辆都能同时通过该桥。当一组车队到达了桥的另一端,该端的指挥员就
2017-10-29 21:09:00
739
原创 DP·整数划分
【题目表述】 n=m1+m2+…+mi; (其中mi为正整数,并且1 <= mi <= n),则{m1,m2,…,mi}为n的一个划分。 如果{m1,m2,…,mi}中的最大值不超过m,即max(m1,m2,…,mi)<=m,则称它属于n的一个m划分。这里我们记n的m划分的个数为f(n,m); 举个例子,当n=5时我们可以获得以下这几种划分(注意,例子中m>=5) 5 = 5 =
2017-09-30 12:08:17
341
原创 1043·递归13(因式分解【深搜+剪枝 或 DP 】)
1043: 递归13(因式分解【深搜+剪枝 或 DP 】)时间限制: 1 Sec 内存限制: 128 MB 题目描述【题意】 分解一个整数n,格式如下: n = a1*a2*a3*a4…….*am 比如: 12=12 12=6*2 12=4*3 12=3*4 12=3*2*2 12=2*6 12=2*3*2 12=2*2*3 总共8种【输入格式】
2017-08-30 10:41:59
1455
2
原创 【NOIP·TG2004】1065·动态规划入门(一维一边推3:合唱队形)
1065·动态规划入门(一维一边推3:合唱队形)时间限制: 1 Sec 内存限制: 128 MB 题目描述 【题目】 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K, 他们的身高分别为T1,T2,…,TK,则他们的身高满足 T1 < T2 …< Ti > Ti+1
2017-08-30 09:56:22
459
原创 1064·动态规划入门(一维一边推2:最长上升子序列)
1064: 动态规划入门(一维一边推2:最长上升子序列)时间限制: 1 Sec 内存限制: 128 MB 题目描述 【题意】 有n个不相同的整数组成的数列,记为: a(1)、a(2)、……、a(n) 例如:3,18,7,14,10,12,23,41,16,24。 上例中挑出:3,18,23,24就是一个长度为4的上升序列, 如果挑出: 3,7,10,12,16,24长度为6的上升序
2017-08-29 23:42:58
924
原创 1063·动态规划入门(一维一边推1:美元和马克)
1063:动态规划入门(一维一边推1:美元和马克)时间限制: 1 Sec 内存限制: 128 MB 题目描述【问题描述】今天6:00起床,我转身发现枕头边有100美元。 出门的时候发现门口有家冰淇淋店,拉了很长的横幅:“今天100美元和400马克互换” 第二天的横幅是:“今天100美元和300马克互换” 第三天的横幅是:“今天100美元和500马克互换” 第四天的横幅是:“今天100美元
2017-08-29 23:00:03
953
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅