<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[你数过天上的星星吗]]></title><description><![CDATA[人一我百！人十我万！]]></description><link>https://blog.youkuaiyun.com/magic_wenge</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; magic_wenge]]></copyright><item><title><![CDATA[Python学习笔记二（函数、类与对象）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/160563822</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/160563822</guid><author>magic_wenge</author><pubDate>Tue, 28 Apr 2026 18:55:20 +0800</pubDate><description><![CDATA[类是一个概念、一个分类，比如“汽车”这个分类，它定义了所有汽车共有的特征（比如颜色、品牌、有车轮）和行为（能启动、能刹车）school是类属性，所有该类的对象共享同一个类属性，修改后所有对象的值都会改变。实例属性（在_init_方法中），以self开头，属于具体的对象。类 = 一张“汽车设计图纸”（本身不能开，但规定了汽车的构造）类定义了这类事物“有什么”（属性）和“能做什么”（方法)对象 = 根据图纸生产出来的一辆辆具体的汽车。对象是根据类这个蓝图创造出来的具体实例。在类中定义的函数叫做方法。]]></description><category></category></item><item><title><![CDATA[Python学习笔记一（标识符、关键字、变量、数据类型、关系运算）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/160563584</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/160563584</guid><author>magic_wenge</author><pubDate>Tue, 28 Apr 2026 18:34:54 +0800</pubDate><description><![CDATA[在列表中查找元素（x in list）的速度比较慢（尤其是数据量大时），而在集合中查找是瞬间完成的（时间复杂度为 O(1)）。其他操作如排序、反转等，通常使用内置函数 sorted() 或切片来实现，这会返回一个新的列表或元组，而不是修改原数据。因为元组是不可变的（可哈希），它可以作为字典的键（Key），而列表不行。如果重复定义，后面的会覆盖前面的。1、只能由大小写字母、下划线、数字组成，并且第一个字符不能是数字。不可变：键只能是字符串、数字、元组等不可变类型，不能是列表。]]></description><category></category></item><item><title><![CDATA[PTA浙大版《C语言程序设计（第4版）》（函数题）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/130021084</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/130021084</guid><author>magic_wenge</author><pubDate>Fri, 07 Apr 2023 21:45:01 +0800</pubDate><description><![CDATA[素数定理： 对于一个正实数x，小于x的素数个数略大于x/lnx。哥德巴赫猜想：每个大于等于6的正偶数可以被分解为两个素数之和。0和1既不是素数也不是合数。]]></description><category></category></item><item><title><![CDATA[关于在JAVA中调用MATLAB文件]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/121830152</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/121830152</guid><author>magic_wenge</author><pubDate>Fri, 10 Dec 2021 18:28:37 +0800</pubDate><description><![CDATA[最近在写一个项目，对于矩阵的操作等等要求非常高，与Java相比，使用MATLAB编写算法具有非常明显的优势，然后我就在尝试直接在Java中调用MATLAB的程序
对MATLAB函数的编写以及打包
首先就是对MATLAB函数进行编写，这里如果想要在Java中向MATLAB传参，我们就要把MATLAB程序写成方法体的形式，也就是函数。
在MATLAB中这样定义函数
function [输出形参表] = 函数名（输入形参表）
最后要以end结尾
所以把MATLAB程序包装成函数只需要代入这个框架即可
就像这样
f]]></description><category></category></item><item><title><![CDATA[MATLAB学习笔记（矩阵的表示、矩阵元素的应用）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/121477102</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/121477102</guid><author>magic_wenge</author><pubDate>Mon, 22 Nov 2021 18:19:22 +0800</pubDate><description><![CDATA[MATLAB矩阵的表示

矩阵的建立
1、直接输入法建立矩阵
将矩阵中的元素用中括号括起来，按照矩阵行的顺序输入各元素，同一行的各元素之间用逗号或空格分隔，不同行的元素之间用分号分隔
例如 A = [1,2,3;4,5,6;7,8,9]
2、利用已经建立好的矩阵建立更大的矩阵
一个大矩阵可以由已经建立好的小矩阵拼接而成：
A = [1,2,3;4,5,6;7,8,9]
B = [-1,-2,-3;-4,-5,-6;-7,-8,-9]
C = [A,B;B,A]
可以用实部矩阵和虚部矩阵构成复数矩阵：
B =]]></description><category></category></item><item><title><![CDATA[MATLAB学习笔记（系统环境、数值数据分类、变量及其操作）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/121337572</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/121337572</guid><author>magic_wenge</author><pubDate>Mon, 15 Nov 2021 16:45:05 +0800</pubDate><description><![CDATA[系统环境

如果命令很长可以分两行来输入，在第一行的结尾输入…再敲回车即可，…称为续行符
设置当前文件夹
先建立文件夹再使用cd命令将文件夹设置为当前文件夹
例如，先在E盘建立一个文件夹work
命令：cd e:/work
MATLAB搜索顺序
变量名-&gt;函数名-&gt;程序文件。变量名优先，尽量不要设置与内置函数相同的变量名
例如 x = sin(1) 是求sin函数的值
sin = [1,2,3,4,5]
x = sin(1) 是求sin向量的第一个元素
设置文件搜索路径
（1）path命令 pa]]></description><category></category></item><item><title><![CDATA[人工智能学习笔记（遗传算法初步）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/120439140</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/120439140</guid><author>magic_wenge</author><pubDate>Mon, 27 Sep 2021 18:01:05 +0800</pubDate><description><![CDATA[遗传算法是根据大自然中生物体进化规律而设计提出的
是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型，是一种通过自然进化过程搜索最优解的方法
遗传算法通过数学的方式，利用计算机仿真运算，将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程（摘自百度百科）
1、遗传算法的目的
解决经典数学方法无法有效地求出最优解的复杂的大规模的难题
2、基本框架
（1）编码
由于遗传算法不能直接处理问题空间的参数，因此必须通过编码将要求解的问题表示成遗传空间的染色体或者个体
二进制编码可以将某]]></description><category></category></item><item><title><![CDATA[Codeforces Beta Round #6 (Div. 2 Only)]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/110449773</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/110449773</guid><author>magic_wenge</author><pubDate>Tue, 01 Dec 2020 20:15:07 +0800</pubDate><description><![CDATA[A. Triangle
题目要求
如果是非退化三角形输出TRIANGLE
如果是退化三角形输出SEGMENT
如果什么都不是输出IMPOSSIBLE
主要是这个非退化三角形
我去百度了一下下
非退化三角形其实就是普通的三角形
而退化三角形就是三个点共线的三角形
int a[5];
 
int main(){
	
	int flag1 = 0;
	int flag2 = 0;
	for(int i=1;i&lt;=4;i++) scanf("%d",&amp;a[i]);
	sort(a+1,a+5);
	/]]></description><category></category></item><item><title><![CDATA[Codeforces Round #200 (Div. 1)]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/110331337</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/110331337</guid><author>magic_wenge</author><pubDate>Sun, 29 Nov 2020 17:18:56 +0800</pubDate><description><![CDATA[A. Rational Resistance
题意是给你很多1欧姆的电阻，经过很多次的串并联之后最少需要多少电阻可以构造出 a / b
这大概是一个数论题？反正标签是这样说的
虽然对于数论我不是很会
但这个题很有意思就尝试了一下
电阻的串并联大家肯定都很明白
首先像三分之一这样的电阻肯定是三个电阻串联得到的
所以几分之一就需要几个电阻并联
其他情况的话…
举个例子

比值是3 / 2 我们可以想到拆成 1 / 2 + 1，这样就相当于是一个1 / 2 的电阻串联一个电阻，一个1 / 2 的电阻又可以是两个电]]></description><category></category></item><item><title><![CDATA[Codeforces Round #686 Div. 3]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/110131663</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/110131663</guid><author>magic_wenge</author><pubDate>Wed, 25 Nov 2020 15:36:46 +0800</pubDate><description><![CDATA[A. Special Permutation
题目要求构造一个数列，保证 a[i] != i
直接将1-n的数列向后移一位即可
int T,n;
int a[maxn];
 
int main(){
	
	scanf("%d",&amp;T);
	while(T--){
		
		memset(a,-1,sizeof a);
		scanf("%d",&amp;n);
		for(int i=1;i&lt;n;i++){
			a[i] = i+1;
		}
		a[n] = 1;
		for(int i=]]></description><category></category></item><item><title><![CDATA[信息学奥赛Sightseeing Trip（最小环路径+Floyd）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/110096758</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/110096758</guid><author>magic_wenge</author><pubDate>Tue, 24 Nov 2020 21:19:28 +0800</pubDate><description><![CDATA[Sightseeing Trip
题意很清楚 就是输出一个最小环的路径
我们要找到一条从 i 到 i 的最小环
就可以拆成找 i-k 和 k-j 和 j-i 的最短路径
这样就用到了中间点 k 去更新路径
可以发现这就是Floyd算法找中间点去更新最短路径的思想
先规定一个最大点 k 去枚举 k 这样保证 i-j 的路径中不会出现k这个点
这样就保证了在 i-j 的路径中不存在环
既然要保存路径，就得要一个数组去存储当前点的上一个点
以便于寻找路径时可以迅速找到连接点
每次更新记得更改当前点的前一个点即可
]]></description><category></category></item><item><title><![CDATA[POJ 1129 Channel Allocation（四色定理）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/109314339</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/109314339</guid><author>magic_wenge</author><pubDate>Tue, 27 Oct 2020 17:05:20 +0800</pubDate><description><![CDATA[Channel Allocation
题意：
题目大概是说无线电可以覆盖的范围很大，我们可以通过中继器继续扩大范围，但是中继器的信号干扰也很强，同一频道用相邻的中继器会使信号相互干扰，大大降低他们的收听质量，所以同一频道的电台尽量使用不相邻的中继器
给出了每个中继器的相邻情况，问最少有几个频道用中继器不会产生干扰
把题意抽象出来，将中继器看作结点，相邻的两个中继器之间连一条边，用最少的颜色给相邻的结点涂上不一样的颜色
这就牵扯四色定理了，四色定理是这样说的：
任何一张地图只用四种颜色就能使具有共同边界的国家]]></description><category></category></item><item><title><![CDATA[upc组队训练第十九场]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/109019426</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/109019426</guid><author>magic_wenge</author><pubDate>Tue, 13 Oct 2020 20:35:07 +0800</pubDate><description><![CDATA[问题 L: Spiral Matrix
时间限制: 1 Sec  内存限制: 128 MB
题目描述
Lee got a ticket to the Google Developer Day. When he came to the exhibition hall, he found that the booths were located in a matrix of size n × m.
Unfortunately, Lee had badly sprained his left ankle a we]]></description><category></category></item><item><title><![CDATA[upc秋季组队训练第十七场（队列+区间筛）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/109003392</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/109003392</guid><author>magic_wenge</author><pubDate>Sun, 11 Oct 2020 21:47:42 +0800</pubDate><description><![CDATA[问题 C: Unique Values
题目描述
Arup has to make many practice questions for his Computer Science 1 students.  Since many of the questions deal with arrays, he has to generate arrays for his students.  Since he doesn’t want to
give them difficult practice problem]]></description><category></category></item><item><title><![CDATA[百度之星初赛一 1003.Dec]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/107467489</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/107467489</guid><author>magic_wenge</author><pubDate>Mon, 20 Jul 2020 17:02:54 +0800</pubDate><description><![CDATA[题目链接
这个题当时比赛的想了好久都没有什么好的办法去解决，然后我就觉得这个题应该用dp写，我奇奇怪怪的想法
定义一个dp数组，dp[i][j] 表示 a为i，b为j时的互质次数
对于这一次的 dp[i][j] 来说，它就等于上一次的互质次数加一，由于题目要求最大，所以要判断一下上一次是 a-1与b的互质次数大还是a与b-1的互质次数大，最后判断这一次a与b是否互质
所以状态转移方程就是：
dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + (gcd(i,j) == 1)
in]]></description><category></category></item><item><title><![CDATA[牛客暑期多校第三场 B.Classical String Problem]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/107460730</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/107460730</guid><author>magic_wenge</author><pubDate>Mon, 20 Jul 2020 15:10:24 +0800</pubDate><description><![CDATA[我又来更新题解了
虽然这次还是拖了
题目链接
题意大概是这样的，给定一个字符串，有修改和输出答案两种操作。给Q次询问，每次询问会给出一个字符ch和一个数x。
如果 ch == ‘M’ 这一项操作就是修改，修改的时候如果 x 是正数，就把字符串最左边的 x 个字符移到最右边，如果 x 是负数，就把字符串最右边的 x 个字符移到最左边。
如果 ch == ‘A’ 就输出当前字符串的第x个字符
我一开始就去模拟这个过程，由于Q的范围太大加上字符串本身的长度，直接模拟的复杂度太高根本就跑不过去
用样例来说，首先将左]]></description><category></category></item><item><title><![CDATA[牛客暑期多校第二场 F.Fake Maxpooling（单调队列）]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/107460360</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/107460360</guid><author>magic_wenge</author><pubDate>Mon, 20 Jul 2020 11:56:30 +0800</pubDate><description><![CDATA[一直想写牛客的题解，一直拖就拖到了现在，果然有想法就要立马去做，不然就和我一样了
D题就不写了，简单的减法判断，我写一下F题
题目链接
题意大概就是有这样一个 n * m 的矩阵a，矩阵的每一项 a[i][j] = lcm(i,j) ，然后每次求一个 k * k 的子矩阵中的最大值，将这些最大值求和
题目其实不难理解，但是写起来就没那么容易了
我们知道每次划分一个 k * k 的子矩阵求最大值很麻烦，那我们可以去分别求行和列的最大值并储存下来
然后我们就想到了前几天刚刚接触的单调队列
首先枚举 n * m ]]></description><category></category></item><item><title><![CDATA[智算之道初赛第二场]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/107458679</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/107458679</guid><author>magic_wenge</author><pubDate>Mon, 20 Jul 2020 11:39:35 +0800</pubDate><description><![CDATA[比赛链接
来写一下蒟蒻第一次ak的题
我是菜鸡
A 声控灯
这个题就是各种条件的判断，一开始有些情况没想到，写了四五遍才过，最后删掉一些不必要的语句加上优化跑了1ms
至于大佬们0ms我办不到了我太难了
情况大概有这些
m &gt;= 1 &amp;&amp; m &lt;= 3所以可以从m开始分类讨论
当 m == 1 时，由于题目说一定符合实际情况，所以这个时候 n 只能等于1，这个时候答案 ans = 1
当 m == 2 时，我们很容易就能想到当小明在一楼或者顶楼的时候是亮两个灯的。但是还有一种答案]]></description><category></category></item><item><title><![CDATA[理解广度优先搜索的走迷宫问题]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/107324518</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/107324518</guid><author>magic_wenge</author><pubDate>Mon, 13 Jul 2020 20:51:21 +0800</pubDate><description><![CDATA[最近在更新一些自己学的知识点
这次轮到bfs了
首先就要提到bfs和dfs的区别，dfs其实就是在搜索一棵树，之所以叫深度优先，就是说dfs会优先向下搜索，在搜索完一个结点后，它会优先去搜索这个结点的儿子结点。而bfs在此时则会优先搜索它的兄弟结点，所以我们会说bfs是按层搜索的算法
走迷宫
题目描述
给定一个n*m的二维字符数组，用来表示一个迷宫，数组中只包含’#‘或’.’，其中’.‘表示可以走的路，’#'表示不可通过的墙壁。
最初，有一个人位于起点S处，已知该人每次可以向上、下、左、右任意一个方向移动一]]></description><category></category></item><item><title><![CDATA[第一次理解深度优先搜索的李白打酒问题]]></title><link>https://blog.youkuaiyun.com/magic_wenge/article/details/107291366</link><guid>https://blog.youkuaiyun.com/magic_wenge/article/details/107291366</guid><author>magic_wenge</author><pubDate>Sun, 12 Jul 2020 16:04:56 +0800</pubDate><description><![CDATA[对于深度优先搜索算法，其过程简要来说是对每一个可能的分支路径深入到不能再深入为止，而且每个节点只能访问一次
具体是这样，从图中某顶点v出发：
（1）访问顶点v；
（2）依次从v的未被访问的邻接点出发，对图进行深度优先遍历，直至图中和v有路径相通的顶点都被访问
（3）若此时图中尚有顶点未被访问，则从一个未被访问的顶点出发，重新进行深度优先遍历，直到图中所有顶点均被访问过为止
我最初接触它是李白打酒问题，这个问题是这样的
话说大诗人李白，一生好饮。幸好他从不开车。
一天，他提着酒壶，从家里出来，酒壶中有酒2斗。]]></description><category></category></item></channel></rss>