<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[l_mark的博客]]></title><description><![CDATA[努力ing]]></description><link>https://blog.youkuaiyun.com/l_mark</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; l_mark]]></copyright><item><title><![CDATA[shell 函数返回多个字符串]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/129085853</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/129085853</guid><author>l_mark</author><pubDate>Sat, 18 Feb 2023 13:15:40 +0800</pubDate><description><![CDATA[shell 函数返回多个字符串]]></description><category></category></item><item><title><![CDATA[ISP 光学基础]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/129025665</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/129025665</guid><author>l_mark</author><pubDate>Tue, 14 Feb 2023 14:00:15 +0800</pubDate><description><![CDATA[ISP 光学基础]]></description><category></category></item><item><title><![CDATA[集线器、交换机、路由器与冲突域、广播域]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/104155741</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/104155741</guid><author>l_mark</author><pubDate>Mon, 03 Feb 2020 13:56:09 +0800</pubDate><description><![CDATA[集线器、交换机、路由器与冲突域、广播域
经常遗忘、混淆集线器、交换机、路由器对冲突域、广播域的隔离情况，写篇博客记录一下。

集线器不能隔离冲突域和广播域；
交换机的每一个端口是一个冲突域，即可以隔离冲突域，但不能隔离广播域；
路由器可以隔离广播域，也可以隔离冲突域。
（这里提到的交换机简单指二层交换机，三层交换机就有了路由功能，就可以隔离广播域了）


...]]></description><category></category></item><item><title><![CDATA[switch 语句的使用（出现 switch quantity not an integer 报错后的思考与学习）]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/89045116</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/89045116</guid><author>l_mark</author><pubDate>Fri, 05 Apr 2019 17:01:37 +0800</pubDate><description><![CDATA[敲代码的时候遇到了报错：switch quantity not an integer。上网查了后才发现自己对 switch 语句的使用并不了解。
语法：
switch ( 常量表达式 )
{
case 常量1 :语句;
case 常量2 :语句;
case 常量3 :语句;
...
case 常量n:语句;
default :语句;
}

当常量表达式所表达的量与其中一个 case 语句中的常量相...]]></description><category></category></item><item><title><![CDATA[拉格朗日四平方和定理]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/89044137</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/89044137</guid><author>l_mark</author><pubDate>Fri, 05 Apr 2019 15:52:38 +0800</pubDate><description><![CDATA[定理内容：
每个正整数均可表示成不超过四个整数的平方之和
重要的推论：

数 n 如果只能表示成四个整数的平方和，不能表示成更少的数的平方之和，必定满足 4a(8b+7)4^a(8b+7)4a(8b+7)
如果 n%4==0，k=n/4，n 和 k 可由相同个数的整数表示

如何利用推论求一个正整数最少需要多少个数的平方和表示：

先判断这个数是否满足 4a(8b+7)4^a(8b+7)4a(8b...]]></description><category></category></item><item><title><![CDATA[蓝桥杯历届试题 分糖果]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79544682</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79544682</guid><author>l_mark</author><pubDate>Tue, 13 Mar 2018 18:48:24 +0800</pubDate><description><![CDATA[题意：  
有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果，然后进行下面的游戏： 
1. 每个小朋友都把自己的糖果分一半给左手边的孩子。 
2. 一轮分糖后，拥有奇数颗糖的孩子由老师补给1个糖果，从而变成偶数。 
3. 反复进行这个游戏，直到所有小朋友的糖果数都相同为止。 
给出每个小朋友的初始糖果数，求老师一共需要补发多少个糖果。

思路：  
由于数据量不大，这道题可以直接模拟。

...]]></description><category></category></item><item><title><![CDATA[蓝桥杯历届试题 兰顿蚂蚁]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79543086</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79543086</guid><author>l_mark</author><pubDate>Tue, 13 Mar 2018 18:09:41 +0800</pubDate><description><![CDATA[题意：  
给出一个由 m×nm×nm\times n 个正方形格子组成的矩形平面，正方形格子有黑、白两种。 
起初一个蚂蚁在第 x 行、第 y 列（这里的 x 和 y 是从0开始数的，和二维数组的下标一致），朝上下左右中的某一个方向。 
然后给出蚂蚁移动一步的规则： 
若蚂蚁在黑格，右转90度，将该格改为白格，并向前移一格； 
若蚂蚁在白格，左转90度，将该格改为黑格，并向前移一格。

让求蚂蚁...]]></description><category></category></item><item><title><![CDATA[VS配置属性里没有C/C++项]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79466186</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79466186</guid><author>l_mark</author><pubDate>Wed, 07 Mar 2018 09:02:42 +0800</pubDate><description><![CDATA[大概是是VS的一个BUG，在VS2005、VS2008、VS2015（其他版本未测试，不知有没有）新建项目勾选空项目时会出现。 
解决方法： 写一些代码之后再编译，C/C++就会在配置属性里出现了。（这大概就是不勾选空项目不会出现这种情况的原因了）...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第四章——A Typical Homework UVA-12412]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79401867</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79401867</guid><author>l_mark</author><pubDate>Wed, 28 Feb 2018 16:04:02 +0800</pubDate><description><![CDATA[题意：  
这道题目很像上课布置的大作业，但是放到这里就需要我们去纠结格式之类的细节问题了。 
题目中总共有 5 个操作：Add，Remove，Query，Show ranking，Show Statistics，看过一遍题目后就会发现 Show ranking 不需要怎么考虑，所以我们要操心的就是剩下四种操作。

主菜单是下面代码运行的结果（为了消除大家对换行等格式问题的疑虑，就用代码来表示了，...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第四章——Spreadsheet Tracking UVA-512]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79380934</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79380934</guid><author>l_mark</author><pubDate>Mon, 26 Feb 2018 19:28:57 +0800</pubDate><description><![CDATA[题意：  
模拟表格的操作：插入行、列，删除行、列，交换格子 
题目要求对给出的格子坐标，输出一系列操作后的格子坐标或 GONE。

思路：  
我们的思路是记录下操作，然后对每一个坐标进行一遍操作。

先来讲记录操作，我直接用 int 数组记录的，可以将操作进行编号，将编号记录在每一行的 0 下标位置处，如 EX 为 1, DC 为 2, DR 为 3, IC 为 4, IR 为 5，int 数...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第四章——Message Decoding UVA-213]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79378113</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79378113</guid><author>l_mark</author><pubDate>Mon, 26 Feb 2018 15:52:18 +0800</pubDate><description><![CDATA[题意：  
题目要求对给定的编码进行解密。 
编码的规则是利用下面所示的 01 串 
 
与给定的字符串相对应起来，如 AB#TANCnrtXc ，则能得到下面的信息： 
0 - A 
00 - B 
01 - # 
10 - T 
000 - A 
001 - N 
010 - C 
011 - n 
100 - r 
101 - t 
110 - X 
0000 - c 
我们能够看到 01 ...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第四章—— The Dole Queue UVA-133]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79343523</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79343523</guid><author>l_mark</author><pubDate>Wed, 21 Feb 2018 17:42:08 +0800</pubDate><description><![CDATA[题意：  
将 N 个数写在一个环上，顺时针数 k 个得到 x1，逆时针数 m 个得到 x2，将 x1 和 x2 输出，如果相同则只输出其中一个，输出后将其从环上删除。如此反复。

思路：  
将环想象成数组，在数组上演示题意的过程，即有两个指针，一个向右移动，一个向左移动，当向右移动的指针移到结尾时再移动就会落在开头位置，当向左移动的指针移动到开头位置时，再移动就会移动到结尾处。 
一开始我想的...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第四章——Hangman Judge UVA-489]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79335304</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79335304</guid><author>l_mark</author><pubDate>Sun, 18 Feb 2018 19:43:39 +0800</pubDate><description><![CDATA[题意：  
介绍了一种游戏，给出一个字符串，然后让玩家去猜这个字符串中出现了哪些字母。


如果猜错 7 次就 lose（猜对过的字母再猜也算错，比如原串是 cheese，第一次猜 e，对；第二次再猜 e，错）。
如果字符串中出现的字母都被猜了一遍，那么就 win 了。
如果猜完了也没 win 也没 lose，就是 chickened out。


现在给两个字符串，第一个字符串可以看作是原串，第...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第三章——Floating-Point Numbers UVA-11809]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79333496</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79333496</guid><author>l_mark</author><pubDate>Sat, 17 Feb 2018 22:49:52 +0800</pubDate><description><![CDATA[题意：  
题目介绍了浮点数存储的方法，尾数有 M 位，阶码有 E 位，还有两位符号位分别表示尾数的符号和阶码的符号。现在给出对应一种 M 和 E 的能够表示的最大数，要求判断出 M 和 E 的值，其中 M 属于 (0, 9)，E 属于 (1, 30)。

思路： 
题目的 Input 中说有 300 行输入，且 M 属于 (0, 9)，E 属于 (1, 30)，刚好有 300 种情况，我们会去朝...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第四章——Ancient Cipher UVA-1339]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79317776</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79317776</guid><author>l_mark</author><pubDate>Mon, 12 Feb 2018 17:07:05 +0800</pubDate><description><![CDATA[题意：  
题目讲了两种加密方法，一种是替代加密，指定字母之间的一一映射（不一定是对应后一个字母，也可能是其他映射），另一种是排列加密，给定一个排列，对原串重新排列。 
现在题目给出加密后的串和处理出的原串，让我们判断处理的是否正确。

思路：  
这边要注意的是替代加密不一定就是每个字母对应后一个字母，也可能是其他的对应，比如把 ‘A’ 换成 ‘C’，’B’ 换成 ‘D’，则 AABB 的密文就...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第三章——Kickdown UVA-1588]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79312745</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79312745</guid><author>l_mark</author><pubDate>Sun, 11 Feb 2018 19:11:53 +0800</pubDate><description><![CDATA[题意：  
每组数据是两个由 1 和 2 组成的字符串，将这两个字符串合并在一起，每位上不能超过 3 ，求合并后的最短长度。

思路：  
采用移动字符串的方法来解决这道题目，可以分为三个阶段。 
假设短的字符串在上面，长的字符串在下面。 
第一阶段短字符串在长字符串前面； 
第二阶段短字符串在长字符串上面； 
第三阶段短字符串在长字符串后面。 
下面通过解析样例来说明： 
样例一： 
初始状态 ...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第三章——Box UVA-1587]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79311368</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79311368</guid><author>l_mark</author><pubDate>Sun, 11 Feb 2018 16:01:16 +0800</pubDate><description><![CDATA[题意：  
给出 6 组宽高，判断这六组宽高的长方形能否拼成一个长方体。

思路：  
6 个矩形能够拼成一个长方体，则它的边的长度可能有三种： 
有 3 种边长：一般的长方体 
有 2 种边长：底面为正方形的长方体 
有 1 种边长：正方体

有 3 种边长时，假设这 3 种边长分别为 a，b，c，则长方体 6 个侧面的宽高是 2 个 (a,b)，2 个 (a,c)，2 个 (b,c)（宽高的左...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第三章——All in All UVA-10340]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79306986</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79306986</guid><author>l_mark</author><pubDate>Sat, 10 Feb 2018 21:19:35 +0800</pubDate><description><![CDATA[题意：  
给两个字符串，判断是否能够在第二个字符串中删除 0 个或多个字符得到第一个字符串。

思路：  
判断第一个字符串从左往右的字母是否也在第二个字符串中从左往右出现。 
实现起来的话就是用一个指针指向第一个字符串的第一个位置，遍历第二个字符串，对第二个字符串的每个字母进行判断是否和当前指针指向的第一个字符串的字母相同，相同的话指针就后移一位。 
拿题目的样例进行讲解如下： 
 
样例一能...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第三章——Repeating Decimals UVA-202]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79306388</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79306388</guid><author>l_mark</author><pubDate>Sat, 10 Feb 2018 19:12:49 +0800</pubDate><description><![CDATA[题意：  
给出一个分数，求它的循环节。

思路：  
假设 a / b = c ……d，其中 c 是商，d 是余数。 
循环节的出现是由于该位除以除数后的余数与前面的某一位计算后的余数相同。 
那题目中的几个数据举例子如下： 
1/6=0……1 
10/6=1……4 
40/6=6……4 
 
百分位的余数和十分位的余数相同，所以百分位是循环节。

5/7=0……5 
50/7=7……1 
10...]]></description><category></category></item><item><title><![CDATA[算法竞赛入门经典（紫书）第三章——DNA Consensus String UVA-1368]]></title><link>https://blog.youkuaiyun.com/l_mark/article/details/79302276</link><guid>https://blog.youkuaiyun.com/l_mark/article/details/79302276</guid><author>l_mark</author><pubDate>Fri, 09 Feb 2018 22:31:08 +0800</pubDate><description><![CDATA[题意：  
题目要求给出一组长度为 n 的字符串，计算得出一个新的字符串，使得这个新的字符串和这一组字符串的汉明距离之和最小。

思路：  
依据题意，汉明距离指的就是两个字符串中对应位置字符不同的个数。 
现在要使一个字符串和一组字符串的汉明距离最小，即使这个字符串和这一组字符串对应位置字符不同的情况最少化。容易想到，新字符串的每个位置上只要取的是一组字符串的该位置上出现的最多的那个字母即可。
...]]></description><category></category></item></channel></rss>