自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

闻缺陷则喜何志丹

本人拙作《闻缺陷则喜》欢迎指教,可在优快云下载

  • 博客(1730)
  • 资源 (86)
  • 收藏
  • 关注

原创 【图论 LCA BFS DFS 倍增】P9487 「LAOI-1」小熊游景点|普及+

熊的地图上有 $n$ 个景点,每个景点有分数 $s_i$。$n-1$ 个点对之间有双向直达的公交线路,每条线路有收费 $w_i$。现在小熊在 $a$ 景点,总司令在 $b$ 景点,他们要**沿简单路径**在 $a\to b$ 路径上的 $p$ 景点汇合,然后**沿简单路径**一起去 $q$ 景点。($q$ 为任意点,每个人不会游览两次 $p$ 景点)$m$ 次询问,给定 $a,b$,求 $p,q$,使得小熊和总司令花费之和最小的前提下他们经过的景点分数之和最大,输出他们经过的景点分数之和。(指小

2025-03-31 07:00:00 1442 54

原创 【博客之星2024】何志丹盘点2024及徬徨2025

2024年发布博文728篇,基本上每天都2篇;目前有6篇博文处于待发布状态;这些天比较忙,所以草稿箱的博文急剧减少,只有182篇。几乎全部是原创,全部是自己刷题(力扣、洛谷)的题解。起初,只能先做题,做完题后,总结;现在水平略有提高,先写题解,再编码,提交通过后,再更新题解。

2025-01-23 07:00:00 5026 161

原创 【KMP】P10475 [USACO03FALL] Milking Grid(数据加强版)|普及+

他注意到,如果每头奶牛都标有一个表示其品种的大写字母,那么奶牛在挤奶时形成的二维图案有时似乎是由更小的重复矩形图案组成的。请注意,小矩形单元的尺寸不一定需要完全整除整个挤奶网格的尺寸,如下面的示例输入所示。:如果最小循环单位是k,则非k得倍数一定不是循环单位。a[m+1]=a[1] $\cdots% ,即k=1,k2一定是k的倍数。三,重复矩形列宽是rk,还是2rk,对重复矩形的行的影响是一样的。:如果列循环单位是c,则多列循环单位是各列k的最小公倍数。:如果最小循环单位是k,则k的倍数都是循环单位。

2025-04-04 07:00:00 296 1

原创 【KMP】P4391 [BalticOI 2009] Radio Transmission 无线传输|普及+

给你一个字符串 $s_1$,它是由某个字符串 $s_2$ 不断自我连接形成的(保证至少重复 $2$ 次)。但是字符串 $s_2$ 是不确定的,现在只想知道它的最短长度是多少。## 输入格式第一行一个整数 $L$,表示给出字符串的长度。 第二行给出字符串 $s_1$ 的一个子串,全由小写字母组成。

2025-04-03 17:00:00 1292 2

原创 【Z函数 KMP扩展】3031. 将单词恢复初始状态所需的最短时间 II|2277

给你一个下标从 0 开始的字符串 word 和一个整数 k 。在每一秒,你必须执行以下操作:移除 word 的前 k 个字符。在 word 的末尾添加 k 个任意字符。注意 添加的字符不必和移除的字符相同。但是,必须在每一秒钟都执行 两种 操作。返回将 word 恢复到其 初始 状态所需的 最短 时间(该时间必须大于零)。示例 1:输入:word = "abacaba", k = 3输出:2解释:第 1 秒,移除 word 的前缀 "aba",并在末尾添加 "bac" 。因此,word

2025-04-03 07:00:00 607 2

原创 【矩阵快速幂 KMP】 P3193 [HNOI2008] GT考试|省选-

阿申准备报名参加 GT 考试,准考证号为 $N$ 位数$X_1,X_2…X_n\ (0\le X_i\le 9)$,他不希望准考证号上出现不吉利的数字。他的不吉利数字$A_1,A_2,\cdots, A_m\ (0\le A_i\le 9)$ 有 $M$ 位,不出现是指 $X_1,X_2\cdots X_n$ 中没有一段恰好等于 $A_1,A_2,\cdots ,A_m$,$A_1$ 和 $X_1$ 可以为 $0$。

2025-04-02 17:00:00 1084 2

原创 【矩阵快速幂】P10581 [蓝桥杯 2024 国 A] 重复的串|省选-

给定一个仅含小写字母的字符串 $S$,问有多少个长度为 $n$ 的仅含小写字母的字符串中恰好出现了两次 $S$。答案对 $998\ 244\ 353$ 取模。## 输入格式输入一行包含一个字符串 $S$ 和一个整数 $n$,用一个空格分隔。## 输出格式输出一行包含一个整数表示答案。## 输入输出样例 #1### 输入 #1```aba 6```### 输出 #1```53```

2025-04-02 07:00:00 1372 1

原创 【矩阵快速幂】P4159 [SCOI2009] 迷路|省选-

该有向图有 $n$ 个节点,节点从 $1$ 至 $n$ 编号,windy 从节点 $1$ 出发,他必须恰好在 $t$ 时刻到达节点 $n$。现在给出该有向图,你能告诉 windy 总共有多少种不同的路径吗? 答案对 $2009$ 取模。注意:windy 不能在某个节点逗留,且通过某有向边的时间严格为给定的时间。

2025-04-01 17:59:56 827 1

原创 【矩阵快速幂】P3702 [SDOI2017] 序列计数|省选-

Alice 想要得到一个长度为 $n$ 的序列,序列中的数都是不超过 $m$ 的正整数,而且这 $n$ 个数的和是 $p$ 的倍数。Alice 还希望,这 $n$ 个数中,至少有一个数是质数。Alice 想知道,有多少个序列满足她的要求。## 输入格式一行三个数,$n,m,p$。## 输出格式一行一个数,满足 Alice 的要求的序列数量,答案对 $20170408$ 取模。

2025-04-01 17:17:29 602

原创 【矩阵快速幂】P3216 [HNOI2011] 数学作业|省选-

小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题:给定正整数 $n,m$,要求计算 $\text{Concatenate}(n) \bmod \ m$ 的值,其中 $\text{Concatenate}(n)$ 是将 $1 \sim n$ 所有正整数 顺序连接起来得到的数。例如,$n = 13$,$\text{Concatenate}(n) = 12345678910111213$。小 C 想了大半天终于意识到这是一道不可能手算出来的题目,于是他只好向你求助,希望你能编写一个程序

2025-03-31 17:00:00 717 2

原创 【环 矩阵快速幂】P4910 帕秋莉的手环|省选-

经过数年魔法的沉淀,帕秋莉将她那浩瀚无边的魔法的一部分浓缩到了一些特质的珠子中。由于帕秋莉爱好和平,她只把象征生命和觉醒的木属性魔法和果实和丰收的金属性魔法放入了珠子中。她认为光要这些珠子没有什么用处,于是她想将这些珠子串成魔法手环,这样就好看多了。于是,她拿出来用来串这些珠子的线 - 雾雨灵径。她将这些珠子串到一起之后发现了一些性质:一段雾雨灵径的颜色是由两边的珠子的属性决定的,当一段雾雨灵径连接的两个珠子中只要有一个是金属性的,那么这段雾雨灵径的颜色就为金色帕秋莉想要一个全都是金色的手环

2025-03-30 17:00:00 523 2

原创 【矩阵快速幂】P2106 Sam数|省选-

小 Z 最近发现了一种非常有趣的数,他将这种数称之为 Sam 数。Sam 数具有以下特征:相邻两位的数字之差不超过 $2$。小 Z 还将 Sam 数按位数进行了分类,他将一个 $k$ 位 Sam 数称之为 $k$ 阶 Sam 数。但不幸的是小 Z 发现他数不清第 $k$ 阶的 Sam 数一共有多少个,这个时候机智的他想到了向你求助。

2025-03-30 07:00:00 749

原创 【10进制矩阵快速幂】P1397 [NOI2013] 矩阵游戏|省选-

婷婷是个喜欢矩阵的小朋友,有一天她想用电脑生成一个巨大的 $n$ 行 $m$ 列的矩阵(你不用担心她如何存储)。她生成的这个矩阵满足一个神奇的性质:若用 $F[i,j]$ 来表示矩阵中第 $i$ 行第 $j$ 列的元素,则 $F[i,j]$ 满足下面的递推式:$$\begin{aligned}F[1, 1] &= 1 \\F[i, j] &=a\times F[i, j-1]+b, &j\neq 1 \\F[i, 1] &=c\times F[i-1, m]+d, &i\neq 1 \\\end

2025-03-29 17:00:00 1809 2

原创 【矩阵快速幂】P2100 凌乱的地下室|省选-

小Z家的地下室里并排放n个小方块(小Z是一位MC狂热爱好者,喜欢用小方块装饰他家的地下室),并且每个方块都不一样(小Z喜欢各不相同的东西),比如有草方块、大理石、黑曜石等。小Z喜欢以一种特殊的顺序摆放这些小方块,比如:草方块、大理石、黑曜石。一天,小D帮助小Z整理地下室,可是智商捉急的小D将所有小方块搬出来后忘记了它们原来的具体位置,凭着模糊的印象,他可能把原来放在第i个位置上的小方块放到第(i-1)、i、(i+1)个位置中的任意一个上(当然,第1个不可能放到第0个位置上,第n个不可能放到第(n+1)个

2025-03-28 15:30:00 1801 3

原创 【动态规划 矩阵快速幂】P1357 花园|省选-

小 L 有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为 $1 \sim n$。花园 $1$ 和 $n$ 是相邻的。他的环形花园每天都会换一个新花样,但他的花园都不外乎一个规则:任意相邻 $m$ 个花圃中都只有不超过 $k$ 个 C 形的花圃,其余花圃均为 P 形的花圃。例如,若 $n=10$ , $m=5$ , $k=3$ ,则- `CCPCPPPPCC` 是一种不符合规则的花圃。- `CCPPPPCPCP` 是一种符合规则的花圃。请帮小 L 求出符合规则的花园种数对 $10^9+

2025-03-28 08:28:59 897 1

原创 【矩阵快速幂】P8944 The Da Vinci Code|普及+

给定一个长度为 $n$ 的数列 $a$,初始情况下 $a_i=i$。另有一个取值在 $[1,n]$ 内的随机的整数 $x$,它取 $i$ 的概率为 $b_i$。接下来进行 $k$ 次操作,每次**均匀随机**地选两个 $[1,n]$ 中的整数 $i,j$(允许 $i=j$),交换 $a_i,a_j$ 的值(如果 $i=j$ 则什么也不干)。问最后 $x$ 在位置 $i$ 上的概率,你需要对所有 $1\leq i\leq n$ 求出答案。你需要输出答案模 $3221225473$ 的值。我们定义

2025-03-28 07:00:00 841

原创 【矩阵快速幂】B3646 数列前缀和 3|普及+

## 题目描述给定模质数 $p$ 域上的 $k$ 阶非奇异矩阵列 $a$,给定 $q$ 次询问,每次给出 $l, r$,求 $\prod \limits_{i = l}^r a_i$。$p = 1145141$。注:模 $p$ 域上的非奇异矩阵指:矩阵乘法加法均在模 $p$ 下进行,矩阵(在实数域下)的行列式值对 $p$ 取余不为 $0$。## 输入格式输入第一行有三个数,依次表示矩阵列长度 $n$、矩阵阶数 $k$ 以及询问数 $q$。接下来 $n \times k$ 行,每行 $k$

2025-03-27 16:30:00 1808 2

原创 【二分查找 双指针】P6733 「Wdsr-2」间歇泉|普及+

## 题目背景**Problem Number:** $\textit{08}$## 题目描述有一个间歇泉,冒出了 $n$ 杯水,由于一些原因,每杯水的温度、体积不同。第 $i$ 杯水的温度为 $c_i$,体积为 $a_i$。现在混合任意**两**杯水,每混合两杯水都会得到一个新的温度值,求可能得到的第 $k$ 高的温度值(不计热量损失)。**你的答案建议至少保留小数点后 $\bm3$ 位(与标准答案之差在 $\bm{10^{-2}}$ 以内即视为通过)。**## 输入格式第一行

2025-03-27 07:00:00 1027 58

原创 【矩阵快速幂】P9777 [HUSTFC 2023] Fujisaki 讨厌数学|普及+

## 题目描述众所周知,Fujisaki 在微积分(一)(上)、微积分(一)(下)、线性代数、离散数学(一)、概率论与数理统计这些课程中,只取得了非常低的分数,这导致他十分痛恨高等数学,因此他给大家带来了一道初等数学题。已知 $x+x^{-1}=k$,其中 $k$ 是一个整数且 $k\ge 2$,Fujisaki 想让你帮他求出 $x^n+x^{-n}$ 的值。可以证明对于任意的整数 $n \ge 0$,这个值都是一个整数。由于结果可能会非常大,你只需要求出其对 $M$ 取模后的值。## 输入格

2025-03-26 17:00:00 1398 2

原创 【矩阵快速幂】P11765「KFCOI Round #1」回首|普及+

你一共有 $n$ 条重要的回忆,每条回忆有一个重要系数 $k_i$,并且这 $n$ 条回忆彼此之间有 $m$ 个前后关系。每一条关系 $u,v(1\le u,v\le n)$ 表示 $u$ 发生的时间**恰好**在 $v$ 前。可能是因为时间过久导致你的记忆错乱,在时间线中可能会出现环。一开始,所有点的重要度均为 $0$,一共你会进行 $T$ 次回想操作。若当前正在进行第 $t$ 次操作:* 操作前,对于一条回忆 $x_i$,它的重要度会乘上重要系数 $k_i$。* 操作中,对于一条

2025-03-26 07:00:00 1907

原创 【矩阵快速幂】P6601 「EZEC-2」机器|普及+

一个引力机器由一个光滑圆轨道和 $2n$ 个小孔组成(小孔按**逆时针**从 $1$ 到 $2n$ 编号,每两个相邻的小孔所夹的**劣弧**度数为 $\dfrac{\pi}{n}$ ),每个小孔与和其夹角为 $\pi$ 的另一个小孔有通道相连,比如当 $n=2$ 时,$1$ 号孔和 $3$ 号孔相连。当 $n=2$ 时,这个装置的构造大概是这样的: ![](https://i-blog.csdnimg.cn/img_convert/8748c6f497eb221f32da6b89eecac574.

2025-03-25 17:00:00 993 1

原创 【矩阵快速幂 动态规划】P5343 【XR-1】分块|普及+

有一个长度为 $n$ 的序列,xht37 现在想分块维护它。PinkRabbit 要求他只准将序列分成 $PR$ 种长度的块。NaCly_Fish 要求他只准将序列分成 $NF$ 种长度的块。同一个人可能会要求 xht37 多次相同的块长。xht37 想同时满足 PinkRabbit 和 NaCly_Fish 要求,只好使用两个人都允许的长度分块。xht37 想知道,有多少种不同的分块方案,答案对 $10 ^ 9 + 7$ 取模。

2025-03-25 07:00:00 528 1

原创 【动态规划 矩阵快速幂】P4838 P哥破解密码|普及+

P 哥是一个经常丢密码条的男孩子。在 ION8102 赛场上,P 哥又弄丢了密码条,笔试满分的他当然知道这可是要扣 $5$ 分作为惩罚的,于是他开始破解 IONXunil 系统的密码。## 题目描述定义一个串合法,当且仅当串只由 $\verb!A!$ 和 $\verb!B!$ 构成,且没有连续的 $3$ 个 $\verb!A!$。P 哥知道,密码就是长度为 $N$ 的合法字符串数量对 $19260817$ 取模的结果。但是 P 哥不会算,所以他只能把 $N$ 告诉你,让你来算。至于为什么要对

2025-03-24 17:00:00 1519

原创 【二分查找 树状数组 差分数组 离散化 】P6172 [USACO16FEB] Load Balancing P|省选-

Farmer John 的 $N$ 头奶牛($1 \leq N \leq 10^5$)散布在整个农场上。整个农场是一个无限大的二维平面,第 $i$ 头奶牛的坐标是 $(x_i,y_i)$(保证 $x_i,y_i$ 均为正奇数,且 $x_i,y_i \leq 10^6$),且没有任意两头奶牛在同一位置上。FJ 希望修建一条竖直方向的栅栏,它的方程是 $x=a$,他还希望修建一条水平方向的栅栏,它的方程是 $y=b$。为了防止栅栏经过奶牛,$a,b$ 均要求是偶数。容易发现,这两个栅栏会在 $(a,b)$

2025-03-24 07:00:00 2218 81

原创 【矩阵快速幂】P11030 『DABOI Round 1』Blessings Repeated|省选-

圣母是一名辩论家,即 ENTP。她在进行一次辩论时的观点是字符串 $S$,她为了让对方信服她的观点她会强调 $k$ 次,所以她的辩词即为 $k$ 个字符串 $S$ 依次首尾相接。你作为反驳的人可能不能听清楚她说的所有话,所以你只能抓取关键词 $T$,你需要求出 $k$ 个首尾相接的 $S$ 中有多少个子序列(不一定连续)为 $T$,答案对 $998244353$ 取模。---**【形式化题意】**给定一个正整数 $k$ 和两个字符串 $S,T$。设字符串 $s$ 为 $k$ 个字符串

2025-03-23 17:00:00 1319

原创 【矩阵快速幂】P5004 专心OI - 跳房子|省选-

您有 $N$ 个格子,排成一行,从左往右编号为 $1,2,\cdots,N$。您站在 $1$ 号格子的左边无限远,开始从左往右跳,跳到 $N$ 号格子右侧为止。由于您是一位成功的 OIer,您自然长得很胖,所以您的腿部力量也非常大!这使得您跳一次,当前格子到目标格子中间必须至少空出来 $M$ 格,但您可以跳无数格远!您认为这么跳太没意思了,于是便想计算出有多少种方案可以跳完全程。由于方案可能过多,您会输出方案数量模 $(10^9+7)$ 的值方案不同当且仅当经过的任一一个格子编号不同。

2025-03-23 07:00:00 1649 1

原创 【矩阵快速幂】P5337 [TJOI2019] 甲苯先生的字符串|省选-

TJOI2019 D1T1源文件名:str.*时间限制: 1s 内存限制: 128M## 题目描述一天小甲苯得到了一条神的指示,他要把神的指示写下来,但是又不能泄露天机,所以他要用一种方法把神的指示记下来。神的指示是一个字符串,记为字符串$s_1$,$s_1$仅包含小写字母a − z。现在小甲苯想要写下神的指示,记为字符串$s_2$,$s_2$仅包含小写字母a − z,要求$s_1$中的相邻的两个字母不能在$s_2$中相邻地出现。现在给定$s_2$的长度,小甲苯想知道他有多少种方法可以将神

2025-03-22 17:00:00 631 2

原创 【矩阵快速幂】 P10502 Matrix Power Series|省选-

## 题目描述给定一个 $n×n$ 矩阵 $A$ 和一个正整数 $k$,找出和 $S=A+A^2 +A^3 +...+A^k$。## 输入格式输入包含一个测试用例。输入的第一行包含三个正整数 $n$($n \le 30$)、$k$($k \le 10^9$)和 $m$($m < 10^4$)。接下来的 $n$ 行每行包含 $n$ 个小于 32,768 的非负整数,按行主序给出 $A$ 的元素。## 输出格式以与给定 $A$ 相同的方式输出 $S$ 的元素对 $m$ 取模。翻译来自于:

2025-03-22 07:00:00 917 2

原创 【树上倍增 滑动窗口】P11267 【MX-S5-T1】王国边缘|普及+

异客在一个无限循环的 $\texttt{01}$ 字符串 $T=S^\infty$ 上进行着他的旅程,其中 $S$ 的长度为 $n$,$T$ 的第 $i$ 个字符为 $T_i$。异客的视野有限,只能看到后面 $m$ 个字符。异客会进行 $q$ 次旅程,每次起点不同,移动次数也不同。当异客在 $T_i$ 上时:- 若 $T_{i+1\dots i+m}$ 中存在 $\texttt{1}$,则异客下一次会移动到其中最远的一个 $\texttt{1}$ 上。- 否则,异客下一次会移动到下一个字符

2025-03-21 15:48:36 654 2

原创 【C++图论 分支界限法】1786. 从第一个节点出发到最后一个节点的受限路径数|2078

Farmer John 的奶牛们已经厌倦了他对她们每天早上排好序离开牛棚的要求。她们刚刚完成了量子物理学的博士学位,准备将这一过程搞快点。今天早上,如同往常一样,Farmer John 的 $N$ 头编号为 $1 \ldots N$ 的奶牛($1 \leq N \leq 10^5$),分散在牛棚中 $N$ 个编号为 $1 \ldots N$ 的不同位置,奶牛 $i$ 位于位置 $p_i$。但是今天早上还出现了 $M$ 个编号为 $1 \ldots M$ 的虫洞($1 \leq M \leq 10^5$)

2025-03-20 17:00:00 809 1

原创 【二分查找 并集查找】P6004 [USACO20JAN] Wormhole Sort S|普及+

Farmer John 的奶牛们已经厌倦了他对她们每天早上排好序离开牛棚的要求。她们刚刚完成了量子物理学的博士学位,准备将这一过程搞快点。今天早上,如同往常一样,Farmer John 的 $N$ 头编号为 $1 \ldots N$ 的奶牛($1 \leq N \leq 10^5$),分散在牛棚中 $N$ 个编号为 $1 \ldots N$ 的不同位置,奶牛 $i$ 位于位置 $p_i$。但是今天早上还出现了 $M$ 个编号为 $1 \ldots M$ 的虫洞($1 \leq M \leq 10^5$)

2025-03-20 07:00:00 982 68

原创 【动态规划】P6005 [USACO20JAN] Time is Mooney G|普及+

## 题目描述Bessie 正在安排前往牛尼亚的一次出差,那里有 $N$($2 \leq N \leq 1000$)个编号为 $1 \ldots N$ 的城市,由 $M$($1 \leq M \leq 2000$)条单向的道路连接。Bessie 每次访问城市 $i$ 都可以赚到 $m_i$ 哞尼($0 \leq m_i \leq 1000$)。从城市 $1$ 出发,Bessie 想要赚到尽可能多的哞尼,最后回到城市 $1$。为了避免争议,$m_1=0$。沿着两个城市之间的道路移动需要消耗一天。出差的

2025-03-19 17:00:00 1031 1

原创 【期望 拓扑排序】P6154 游走|普及+

B 城可以看作一个有 $n$ 个点 $m$ 条边的**有向无环图**。**可能存在重边**。zbw 在 B 城随机游走,他会在所有路径中随机选择一条路径,选择所有路径的概率相等。路径的起点和终点可以相同。定义一条路径的长度为经过的边数,你需要求出 zbw 走的路径长度的期望,答案对 $998244353$ 取模。## 输入格式第一行两个整数 $n,m$。接下来 $m$ 行,每行两个整数 $x,y$,表示存在一条从 $x$ 到 $y$ 的有向边。## 输出格式一行一个整数,表示答案

2025-03-19 07:00:00 851

原创 【矩阵快速幂 倍增】P6569 [NOI Online #3 提高组] 魔法值|省选-

H 国的交通由 $n$ 座城市与 $m$ 条道路构成,城市与道路都从 $1$ 开始编号,其中 $1$ 号城市是 H 国的首都。H 国中一条道路将把两个不同城市直接相连,且任意两个城市间至多有一条道路。H 国是一个信奉魔法的国家,在第 $j$ 天,$i$ 号城市的魔法值为 $f_{i,j}$。H 国的魔法师已观测到第 0 天时所有城市的魔法值 $f_{i,0}$,且他们还发现,之后的每一天每个城市的魔法值,都将会变为所有与该城市直接相连的城市的前一天魔法值的异或值,即$$f_{x,j}=f_{v_1

2025-03-18 17:00:00 963

原创 B4153 [厦门小学生 C++ 2022] 序列问题|普及+

## 题目描述高老师是一位经验丰富的信息学竞赛指导教师,善于开发学生的创造性思维。周末课上,他给学生留下一道关于 $01$ 串的思考题(所谓 $01$ 串就是由字符 $0$ 和 $1$ 组成的字符串):给定一个长度为 $n$ 的 $01$ 串,他想知道有多少个子串,满足其中 $1$ 的个数比 $0$ 的个数多。现在高老师请会编程的你来帮忙计算答案。## 输入格式第一行一个整数,表示字符串的长度。 第二行一个字符串,表示 $01$ 串。## 输出格式输出一行,包括一个整数,表示满足条件

2025-03-18 07:00:00 797

原创 【矩阵快速幂】P10498 石头游戏|省选-

石头游戏在一个 $n$ 行 $m$ 列的网格上进行,每个格子对应一种操作序列,操作序列至多有 $10$ 种,分别用 $0 \sim 9$ 这 $10$ 个数字指明。操作序列是一个长度不超过 $6$ 且循环执行、每秒执行一个字符的字符串。每秒钟,所有格子同时执行各自操作序列里的下一个字符。序列中的每个字符是以下格式之一: 1. 数字 $0 \sim 9$:表示拿 $0 \sim 9$ 个石头到该格子。 2. `NWSE`:表示把这个格子内所有的石头推到相邻的格子,`N` 表示上方,`W

2025-03-17 17:00:00 563 2

原创 【数学 线性代数】差分约束

x系列是变量,y系列是常量,差分系统由若干如下不等式组成。x1-x2 <= y1 x2-x3 <= y2 $\cdots$

2025-03-17 07:00:00 3116 93

原创 【差分约束】 P3275 [SCOI2011] 糖果|省选-

# P3275 [SCOI2011] 糖果## 题目描述幼儿园里有 $N$ 个小朋友,$\text{lxhgww}$ 老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,$\text{lxhgww}$ 需要满足小朋友们的 $K$ 个要求。幼儿园的糖果总是有限的,$\text{lxhgww}$ 想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。

2025-03-16 17:00:00 709 3

原创 【差分约束】P5590 赛车游戏|省选-

P5590 赛车游戏## 题目描述R 君和小伙伴打算一起玩赛车。但他们被老司机 mocania 骗去了秋名山。秋名山上有 $n$ 个点和 $m$ 条边,R 君和他的小伙伴要从点 $1$ 出发开往点 $n$,每条边都有一个初始的方向。老司机 mocania 拿到了秋名山的地图但却不知道每条路有多长。显然,为了赛车游戏的公平,每条 $1$ 到 $n$ 的路径应当是等长的。mocania 想,我就随便给边标上一个 $1...9$ 的长度,反正傻傻的 R 君也看不出来。可 mocania 的数学不大

2025-03-16 07:00:00 819 2

原创 【差分约束】P4878 [USACO05DEC] Layout G|普及+

## 题目描述正如其他物种一样,奶牛们也喜欢在排队打饭时与它们的朋友挨在一起。FJ 有编号为 $1\dots N$ 的 $N$ 头奶牛 $(2\le N\le 1000)$。开始时,奶牛们按照编号顺序来排队。奶牛们很笨拙,因此可能有多头奶牛在同一位置上。有些奶牛是好基友,它们希望彼此之间的距离小于等于某个数。有些奶牛是情敌,它们希望彼此之间的距离大于等于某个数。给出 $M_L$ 对好基友的编号,以及它们希望彼此之间的距离小于等于多少;又给出 $M_D$ 对情敌的编号,以及它们希望彼此之间的距离大

2025-03-15 17:00:00 654 4

喜缺全书算法册对应源码单元测试用例

电子书、博文和附录分工。电子书以总结、原理、正确性证明为主;博文(题解)以思路、源码、封装类(模板)、测试用例、流程图为主。附录:封装好的类、小题题解、很长的源码和单元测试。 本书针对读者:刚刚入职的软件工程师,假定已经学完了“C++”和“算法与数据结构基础”。工程师和学生不同,工程师的首要目标的实用。工程师用到的知识是未知的,很多都是临时用一下,之后几年甚至一辈子都不会用到。受精力的限制,不可能将所有遇到的知识全部学完。本文会有超多用例,方便工程师从最相近的样例开始修改。所以,本文先讲如何使用,再讲原理,最后讲样例;设计(如:流程图)和源码会作为附录提供。

2024-07-05

位运算、状态压缩、枚举子集汇总.html

位运算、状态压缩、枚举子集汇总.html

2024-04-27

本博客配套流程图,会经常更新

Bob 站在单元格 (0, 0) ,想要前往目的地 destination :(row, column) 。他只能向 右 或向 下 走。你可以为 Bob 提供导航 指令 来帮助他到达目的地 destination 。 指令 用字符串表示,其中每个字符: 'H' ,意味着水平向右移动 'V' ,意味着竖直向下移动 能够为 Bob 导航到目的地 destination 的指令可以有多种,例如,如果目的地 destination 是 (2, 3),"HHHVV" 和 "HVHVH" 都是有效 指令 。 然而,Bob 很挑剔。因为他的幸运数字是 k,他想要遵循 按字典序排列后的第 k 条最小指令 的导航前往目的地 destination 。k 的编号 从 1 开始 。 给你一个整数数组 destination 和一个整数 k ,请你返回可以为 Bob 提供前往目的地 destination 导航的 按字典序排列后的第 k 条最小指令 。

2024-04-24

利用二分查找解决H指数问题

利用二分查找解决H指数问题。

2024-01-01

搜索矩阵C++实现:二分查找Z形查找

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。

2023-12-17

长度最短的子数组C++实现

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入:target = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。 示例 2: 输入:target = 4, nums = [1,4,4] 输出:1 示例 3: 输入:target = 11, nums = [1,1,1,1,1,1,1,1] 输出:0 提示: 1 <= target <= 109 1 <= nums.length <= 105 1 <= nums[i] <= 105

2023-12-10

[二分查找双指针]LeetCode881: 救生艇

给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。

2023-12-03

两数之和 - 输入有序数组

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。 你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。

2023-11-26

C++二分查找算法:132 模式

给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。 如果 nums 中存在 132 模式的子序列 ,返回 true ;否则,返回 false 。

2023-11-12

C++算法:第 N 位数字原理、源码、测试用例

给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 n 位上的数字。 示例 1: 输入:n = 3 输出:3 示例 2: 输入:n = 11 输出:0 解释:第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是 0 ,它是 10 的一部分。 提示: 1 <= n <= 231 – 1

2023-11-05

C++二分查找算法应用:最长递增子序列 原理、源码、测试用例

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums = [10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。 示例 2: 输入:nums = [0,1,0,3,2,3] 输出:4 示例 3: 输入:nums = [7,7,7,7,7,7,7] 输出:1 参数范围: 1 <= nums.length <= 2500 -104 <= nums[i] <=104

2023-10-29

二分应用:峰值查找 原理、源码、测试用例

1. 题目 长度为n的数组nums,请返回任意一峰值的索引。符合以下条件之一i便是峰值的索引。 n等于1 i等于0 n>1 i等于0 nums[i] >nums[i+1] n>1 i等于n-1 nums[i] > nums[i-1] 0<i<n-1 nums[i]>nums[i-1] nums[i]>nums[i+1] 题目保证nums[i]不等于nums[i+1]。 2. 分析 假定: nums[left,r)符合nums[left]>nums[left-1],且nums[r-1]>nums[r]。显然初始情况nums[0,n)符合。 推论一:如果[left,r)的长度为1,则left就是返回的索引。 推论二:假定left < mid<r。如果mid[mid] > mid[mid-1],则nums[mid,r)也符合假定。如果mid[mid] < mid[mid-1],则nums[left,mid)也符合假定。 推论三:推论二也可以也可以理解成分别抛弃[left,mid)和[mid,r)。令mid = left+(r-left)/2,由于r-left>=2,所以left<mid<

2023-10-22

C++算法:前缀和基础

长度为n的数组nums,共有n+1个以nums[0]开始的子数组。索引范围分别为[0,i),i取值区间[0,n]。preSum[i]记录子数组[0,i)的和。比如:nums = {1,2,3,4},则preSum = {0,1,3,6,10}。通过preSum,我们可以求任意nums的子数组和。子数组[i,j)等于子数组[0,j)减去[0,i),也就是子数组[i,j)的和等于preSum[j] – preSum[i]。如果i等于j,则preSum[i]-preSum[i],和为0,符合计算公式。如果i大于j,则非法,需要提前排除。

2023-10-15

时间复杂度O(40n*n)的C++算法:修改图中的边权

给你一个 n 个节点的 无向带权连通 图,节点编号为 0 到 n - 1 ,再给你一个整数数组 edges ,其中 edges[i] = [ai, bi, wi] 表示节点 ai 和 bi 之间有一条边权为 wi 的边。 部分边的边权为 -1(wi = -1),其他边的边权都为 正 数(wi > 0)。 你需要将所有边权为 -1 的边都修改为范围 [1, 2 * 10^9] 中的 正整数 ,使得从节点 source 到节点 destination 的 最短距离 为整数 target 。如果有 多种 修改方案可以使 source 和 destination 之间的最短距离等于 target ,你可以返回任意一种方案。 如果存在使 source 到 destination 最短距离为 target 的方案,请你按任意顺序返回包含所有边的数组(包括未修改边权的边)。如果不存在这样的方案,请你返回一个 空数组 。 注意:你不能修改一开始边权为正数的边。

2023-10-14

多源最短路径的原理及C++实现

当一层循环执行完后,m_vMat[i1][i2]表示经过[0,i)中的任意个点的最短距离。 初始状态下, m_vMat[i1][i2]表示直达的最小距离,也就是经过0个点。 通过[0,i)中任意个点,i1到i2的最短路径记为PrePathi1i2,通过[0,i+1)中任意个点,i1到i2的距离的路径为Pathi1i2,如果Path不经过Pathi1i2,则和PrePathi1i2相同。如果经过则可以拆分成{i1…i}+{i…i2},显然{i1…i}是PrePathi1i,{i…i2}是PrePathii2,否则替换成PrePathi1i和PrePathii2。 m_vMat同时表示PreMath和Math,如果m_vMat[i1][i]或m_vMat[i][i2]已经更新,会带来错误的结果么?结果是不会,会更新但值不变。 当i1等于i时: m_vMat[i][i2] = min(…, m_vMat[i][i] + m_vMat[i][i2]); 由于m_vMat[i][i]为0,所以右式就是左式。 当i2等于i时,类似。

2023-10-04

堆优化迪氏最短单源路径原理及C++实现

4.1. 时间复杂度 O(ElogE),E是边数。适用与稀疏图。 4.2. 使用前提 边的权为正。可以非连通,非连通的距离为-1。 4.3. 原理 优选队列(小根堆)记录两个数据:当前点到源点距离,当前点。先处理距离小的点;如果距离相等,先处理谁都可以。可以用pair记录,不用重写小于。优先队列只记录如下情况的距离: 一,{0,源点}。 二,任意点的最短距离和可以直达的边。 如果是有向图,则入队数量等于边数,计算出起点最短路径的那一轮。无向图,则翻倍。显然出队数量等于入队数量。优先队列入队和出队时间复杂度都是O(logn),故总时间复杂度为O(nlogn)。

2023-10-03

.有向图计数优化版原理及C++实现

不需要拓扑排序,也不需要并集查找,直接dfs了。完成以下三个职责: 一,DFS那些端点在环上。 二,DFS环上各点此环的长度。 三,DFS非环上各点。

2023-10-02

有向图访问计数的原理及C++实现

现有一个有向图,其中包含 n 个节点,节点编号从 0 到 n - 1 。此外,该图还包含了 n 条有向边。 给你一个下标从 0 开始的数组 edges ,其中 edges[i] 表示存在一条从节点 i 到节点 edges[i] 的边。 想象在图上发生以下过程: 你从节点 x 开始,通过边访问其他节点,直到你在 此过程 中再次访问到之前已经访问过的节点。 返回数组 answer 作为答案,其中 answer[i] 表示如果从节点 i 开始执行该过程,你可以访问到的不同节点数。 2 <= n <= 100000 无自环。

2023-10-01

朴素迪氏最短单源路径的原理及C++源码及测试用例

Dijkstra算法,翻译为迪杰斯特拉或狄克斯特拉。在下驽钝,记不住如此长的翻译,故简称迪氏。 3.1.时间复杂度 O(n2),端点数的平方。 3.2.使用前提 边的权为正。可以非连通,非连通的距离为-1。

2023-09-30

01BFS最短距离原理和C++实现

n个端点的无向图,编号范围[0,n)。Edges0表示{{n1,n2},...{n3,n4}}表示n1和n2,n3和n4之间有路联接。Edges1表示{{n1,n2},...{n3,n4}}表示n1和n2,n3和n4之间有损坏的路连接。要想让s和d之间至少有一条通道,最小需要维修多少条路。如果无法到达,请返回-1。可能有环,但无自环,重边,可能不联通。

2023-09-29

深度优先搜索(BFS)的原理和C++实现

n个端点的无向图,编号范围[0,n)。每个端点最多4条出边。edges表示{{n1,n2},...{n3,n4}}表示n1和n2,n3和n4之间有边联接。求s到d的最少需要经过多少条边。如果无法到达,请返回-1。可能有环,但无自环,重边,可能不联通。

2023-09-28

美丽塔单调栈O(n)解法

给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i ,高度为 heights[i] 。 如果以下条件满足,我们称这些塔是 美丽 的: 1 <= heights[i] <= maxHeights[i] heights 是一个 山状 数组。 如果存在下标 i 满足以下条件,那么我们称数组 heights 是一个 山状 数组: 对于所有 0 < j <= i ,都有 heights[j - 1] <= heights[j] 对于所有 i <= k < n - 1 ,都有 heights[k + 1] <= heights[k] 请你返回满足 美丽塔 要求的方案中,高度和的最大值 。

2023-09-27

较难算法: 美丽塔 时间复杂度O(nlongn)

给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i ,高度为 heights[i] 。 如果以下条件满足,我们称这些塔是 美丽 的: 1 <= heights[i] <= maxHeights[i] heights 是一个 山状 数组。 如果存在下标 i 满足以下条件,那么我们称数组 heights 是一个 山状 数组: 对于所有 0 < j <= i ,都有 heights[j - 1] <= heights[j] 对于所有 i <= k < n - 1 ,都有 heights[k + 1] <= heights[k] 请你返回满足 美丽塔 要求的方案中,高度和的最大值 。

2023-09-24

让数组不相等的最小总代价

让数组不相等的最小总代价 可运行源码,VS2022 C++17 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,两者长度都为 n 。每次操作中,你可以选择交换 nums1 中任意两个下标处的值。操作的 开销 为两个下标的和。你的目标是对于所有的 0 <= i <= n - 1 ,都满足 nums1[i] != nums2[i] ,你可以进行 任意次 操作,请你返回达到这个目标的 最小 总代价。请你返回让 nums1 和 nums2 满足上述条件的 最小总代价 ,如果无法达成目标,返回 -1 。

2023-09-23

喜缺全书算法册 C++实现

电子书和博文的分工。电子书以:原理、正确性证明、总结为主;博文(题解)以思路、源码、封装类(模板)、测试用例、流程图为主。 当前阶段:以二分查找为主,前缀和为辅,之后会有其它算法的。文字算法见我的博文,视频算法见我的学院课程。 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,两者长度都为 n 。每次操作中,你可以选择交换 nums1 中任意两个下标处的值。操作的 开销 为两个下标的和。你的目标是对于所有的 0 <= i <= n - 1 ,都满足 nums1[i] != nums2[i] ,你可以进行 任意次 操作,请你返回达到这个目标的 最小 总代价。请你返回让 nums1 和 nums2 满足上述条件的 最小总代价 ,如果无法达成目标,返回 -1 。 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i ,高度为 heights[i] 。 如果以下条件满足,我们称这些塔是 美丽 的:

2023-09-17

二分查找旋转数组源码和视频

包括视频和三个版本的源码(初始、寻找右数组左边界、完成) 已知整数数组nums,先按升序排序后,再旋转。旋转k位后,元素分别为nums[k],nums[k+1]...nums[0]...nums[k-1]。请查找target 是否存在,如果存在返回所在索引;否则返回-1。假定nums没有重复的元素。 假定排序后的数组为{1,2,3,4,5}。 旋转0位:不变。 旋转1位:{2,3,4,5,1} 旋转2位:{3,4,5,1,2} 旋转3位:{4,5,1,2,3} 旋转4位:{5,1,2,3,4} 1.解题思路 观察后,可以得到如下结论: 旋转数组,可以拆分成左右两个升序数组,且左数组的任意元素都大于右数组的任意元素。 分两步: 一,找到数组的分界线RBegin,[0,RBegin)是左数组,[RBegin,n)是右数组。特殊情况:只有一个升序数组,则RBegin为0,左数组为空。 如果是小于等于nums.back(),在右边找;否则在左边找。升序寻找元素之前已经讲过了,就不累赘了。

2023-08-20

喜缺全书之平凡的经历最新版

《闻缺陷则喜》这本书由何志丹与魏家瑜共同创作,其核心理念是通过暴露和面对问题,促进个人和团队的成长。书名源于作者们对于缺陷的积极态度,他们认为缺陷是学习和进步的契机,而不是阻碍。在当前知识爆炸的时代,分享和交流成为提升效率的关键。 书中涵盖的工作经历部分,作者强调了工作中遇到的挑战和陷阱,这些经历不仅对于技术开发者,如C/C++/VC程序员,具有宝贵的参考价值,也适用于任何行业。作者提到,许多工作中需要但网络上难以找到的信息,正是他们书籍想要填补的知识空白。他们提倡通过阅读、实践和再传授来深化理解和掌握知识,比如,通过反复阅读多本书籍,甚至制作教学视频,以教促学。 生活中的点滴和女儿的成长部分,反映了作者对个人生活和家庭教育的关注。这部分内容可能包含如何平衡工作与家庭,以及如何培养孩子独立思考和解决问题的能力。作者的人生态度和教育观念,可能会给读者提供关于如何在生活中学习和成长的新视角。 投资理财的亏损与教训部分,则揭示了作者在财务管理和投资上的经验和反思。他们可能分享了投资失败的案例,从中提炼出的教训,旨在帮助读者避免同样的错误,提高投资决策的明智程度。这部分内容对于希望提升理

2023-08-18

《闻缺陷则喜》之《主册》

闻缺陷则喜 1 第一章:平凡的经历 5 第二章:观念与想法 5 1. 基础 6 1.1. 认知鸿沟 6 2. 传播 6 3. 沟通 6 3.1. 淡化对错 6 3.2. 不要随意批评别人 6 3.3. 参与感 6 3.4. 如果错了,马上认错 7 3.5. 从别人的立场说服对方 7 3.6. 具体到场景 7 4. 交往与合作 7 4.1. 双赢思维 7 4.2. 合作层次 8 4.3. 能力+信息(情报)+资源=成就 8 5. 工作相关 8 5.1. 金融骗局 8 5.2. 对小白而言创业比股票危险的多 9 5.3. 投资比创业稳妥的多 9 5.4. 程序员干不到30岁 9 5.5. 忠诚度与能力 10 5.6. 拒绝无意义加班 10 5.7. 内卷的历史 11 5.8. 关于社保 11 6. 家庭相关 12 6.1. 我的遗产 12 6.2. 金钱观 12 6.3. 借贷观 13 6.4. 女儿的婚姻 13 6.5. 轶事 14 6.6. 生育观 15 6.7. 教育观 15 6.8. 不要因为担心亲友不舒服,而不指出错误 16 7. 工作技巧 16 7.1. 八二原理 16 8.

2022-09-10

C# 获取C++的连续数据

C# 获取C++的连续数据。 两种方式:1,返回C++指针,2,将值存到C#的数组中。

2022-04-02

闻缺陷则喜版本号20220123

包括:问题定义、系统分析、架构、概要设计、详细设计、测试等!

2022-01-23

闻缺陷则喜2021年12月26.doc

闻缺陷则喜,本人拙作,注将软件工程。

2021-12-26

闻缺陷则喜20211205

包括:问题定义、系统分析、架构、概要设计、详细设计、测试等!

2021-12-07

关于halcon膨胀腐蚀开闭.doc

关于halcon膨胀腐蚀开闭

2021-11-14

简单的C#类 生成对应的C#类

开发工具: C#2013 功能: 针对简单的C#类,生成对应的非托管C++类,并生成托管C++的转换函数。 应用场景: 界面层、数据层C#,逻辑层C++。 简单的C#类:类型只包括 double string List

2021-11-07

Windows性能监控工具Perfmon使用

Windows性能监控工具Perfmon使用

2021-10-31

保存文件的同时删除文件,保存用时会略微升高

保存文件的同时删除文件,保存用时会略微升高。没必要花大功夫专门处理 保存500文件用时(毫秒):30906 删除文件同时,保存500文件用时(毫秒):30263 删除500文件用时(毫秒):363 保存500文件用时(毫秒):29155 删除文件同时,保存500文件用时(毫秒):29258 删除500文件用时(毫秒):426 保存500文件用时(毫秒):27992 删除文件同时,保存500文件用时(毫秒):29068 删除500文件用时(毫秒):686 保存500文件用时(毫秒):29172 删除文件同时,保存500文件用时(毫秒):31837 删除500文件用时(毫秒):337 保存500文件用时(毫秒):29373 删除文件同时,保存500文件用时(毫秒):29563 删除500文件用时(毫秒):321 保存500文件用时(毫秒):29663 删除文件同时,保存500文件用时(毫秒):30180 删除500文件用时(毫秒):350

2021-10-11

闻缺陷则喜2021九月版

主要增加:C#调用托管C++,托管C++调用C++

2021-09-11

多线程样例一 读写参数文件

事情起因: 修改配置后,C++函数取读配置xml时,相机缓存满了而引起崩溃。几率发生。 解决思路: 读文件费时间,所以开一个线程读文件。 抽象后的类似demo: 假定读文件需要0.6秒,图像处理(用存文件代替)需要0.5秒,各执行100次。 类和函数 读取文件函数: 一,List<int>增加本序号(0开始)。 二,随机生成5000整数,加到list<int>中。 三,写文件(文件名为序号,如0.txt),文件夹File。 四,Sleep(600)。 五,记录日志:本函数开始执行 时间,结束时间,序号。 六,复制List<int>到参数。 模拟图像处理函数: 一,复制参数 二,参数保存到文件,文件名list<int>第一个int,文件夹img。 三,Sleep(500)。 六,记录日志:本函数开始执行 时间,结束时间,序号。 参数类(跨线程): 一,从list<int>复制参数。 二,复制数据到list<int>。 线程: 启动线程“读取参数”线程:执行100次 读取参数功能。 启动线程“模拟图像处理”线程:执行100次 模拟图像处理。 运行预期结果: File文件夹中有0到100共101个文件。 img有约80个文件。 img有的文件,File文件夹中一定有,且完全相同。用文件夹比较工具(如:BCompare)查看。 查看日志:“读取参数”线程约60秒完成,模拟图像处理”线程约50秒完成。

2021-09-09

C#调用C++的类和函数

C#直接调用C++的函数,C#调用托管C++,C++托管调用非托管C++

2021-08-31

《闻缺陷则喜》之《软件开发的那些人》 20230917

软件团队的那些人(理论) 4 1. 引言 5 1.1. 你的灯开着么? 5 1.2. 货车过山洞 5 1.3. 软件维护之痛 5 2. 软件过程与思想 6 2.1. 基础 6 2.2. 过程模型 12 2.3. 敏捷开发 14 2.4. 编程范式 15 2.5. 工具 16 3. 问题定义 18 3.1. 基础 18 3.2. 过滤概念(可行性分析) 20 3.3. 用户细分 22 3.4. 模式 22 4. 系统分析 23 4.1. 基础 24 4.2. 用户画像 25 1.1 RFM模型 25 4.3. 需求收集与整理 25 4.4. 系统分析 26 5. 架构设计 26 5.1. 开发期质量 26 5.2. 运行期质量 28 5.3. 沟通 35 5.4. 架构内容 36 5.5. 架构模式 38 5.6. 关于重构 39 5.7. 其它 42 6. 概要设计 44 6.1. 设计模式六大原则 44 6.2. 设计模式 45 6.3. 反模式 46 6.4. 模块划分、公共数据、资源设计、接口 46 6.5. 界面设计 49 6.6. 数据存储设计 49 6.7. 工时预估与工作

2021-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除