<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[No_wonder の 小站]]></title><description><![CDATA[蒟蒻的学习资料都在这里啦！]]></description><link>https://blog.youkuaiyun.com/m0_46207148</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_46207148]]></copyright><item><title><![CDATA[AFO-退役记]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110922670</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110922670</guid><author>m0_46207148</author><pubDate>Wed, 09 Dec 2020 15:15:20 +0800</pubDate><description><![CDATA[写在前面
今天是我最后一次来奥赛机房了吧，从今之后，我会放弃竞赛这条路，继续行走在文化课上。大学时会选择计算机的专业，那时再回头看这段经历，或许只会一笑罢。
回顾我短暂的OI一年，我没有得到满意的成果。但是我仍能用过程来安慰自己。写下这篇记录，用以排忧消愁，但是孤有一人的机房里，键盘的敲击声却显得沉重。
开端
我身在弱省弱市，许多人都没听说过的地方，山西临汾。我们学校是唯一在市内搞奥赛的高中。我在初三毕业时，才接触到OI，那时是我对编程产生了兴趣，于是去了市内为数不多的几个编程班之一。因为学的人的确是不多，]]></description><category></category></item><item><title><![CDATA[2020 NOIP 退役之战]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110651529</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110651529</guid><author>m0_46207148</author><pubDate>Fri, 04 Dec 2020 15:59:49 +0800</pubDate><description><![CDATA[Day —2
今天要到了学校OJ的管理员，改了一些东西。撤下了2019年发布的一周任务，已死的bzoj与codevs，补充了一下模板区，然后建了个新题当然我并不会写数据（
lfyzoj上的原创题题解都给上啦！欢迎来做题QwQ。
Day -1
今天开门红，打车去高铁的路上全是红灯，根据RP守恒定律，明天的noip必RP++
车上看了一车小说，旁边的lpj直接睡觉（
下车和我在太原理工大的哥哥联系了一下，今晚有机会的话去面。下了车又去打车，那个打车区候客通道又让我想起了在济南等了一个小时的经历……
太原的记录是]]></description><category></category></item><item><title><![CDATA[模拟退火]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110561394</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110561394</guid><author>m0_46207148</author><pubDate>Thu, 03 Dec 2020 19:14:22 +0800</pubDate><description><![CDATA[模拟退火是在多峰函数上寻找最值的概率算法，其结果取决于人品。
#include&lt;bits/stdc++.h&gt;
#define ri register int
using namespace std;
int n;
int x[1010],y[1010],w[1010];
double de=0.998;
double avex,avey,avew;
double clac(double qx,double qy)
{
	double res=0;
	for(ri i=1;i&lt;=n;i++)]]></description><category></category></item><item><title><![CDATA[树链剖分求LCA]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110561303</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110561303</guid><author>m0_46207148</author><pubDate>Thu, 03 Dec 2020 19:10:52 +0800</pubDate><description><![CDATA[#include &lt;cstdio&gt;
#include &lt;cstdlib&gt;
#define maxm 200010
struct edge{int to,len,next;}E[maxm];
int cnt,last[maxm],fa[maxm],top[maxm],deep[maxm],siz[maxm],son[maxm],val[maxm];
void addedge(int a,int b,int len=0)
{
    E[++cnt]=(edge){b,len,last[]]></description><category></category></item><item><title><![CDATA[01最短路]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110561202</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110561202</guid><author>m0_46207148</author><pubDate>Thu, 03 Dec 2020 19:07:59 +0800</pubDate><description><![CDATA[具体实现是用双端队列，0排在队头，1排在队尾，这样搜索的时候就会优先走0路
#include&lt;bits/stdc++.h&gt;
#include&lt;queue&gt;
using namespace std;
int n,p,k,maxn;
int head[10010],cnt;
int d[10010],vis[10010];
struct Edge{
	int to;
	int next;
	int dis;
}e[20020];
void add_edge(int from,int to]]></description><category></category></item><item><title><![CDATA[扩展欧几里得]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110561003</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110561003</guid><author>m0_46207148</author><pubDate>Thu, 03 Dec 2020 19:03:33 +0800</pubDate><description><![CDATA[利用欧几里得算法回溯的过程，构造出不定方程的一个解
#include&lt;bits/stdc++.h&gt;
using namespace std;
long long a,b;
long long x,y;
void exgcd(long long a,long long b)
{
	if(b==0)
	{
		x=1;
		y=0;
		return ;
	}
	exgcd(b,a%b);
	long long temp=x;
	x=y;
	y=temp-a/b*y;
}
int main()
{
]]></description><category></category></item><item><title><![CDATA[快速幂]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110560914</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110560914</guid><author>m0_46207148</author><pubDate>Thu, 03 Dec 2020 19:01:25 +0800</pubDate><description><![CDATA[利用分治，加快幂的求值，模板题中这篇代码过不去。
#include&lt;bits/stdc++.h&gt;
#define ri register int
#define ull unsigned long long
#define ll long long
using namespace std;
ull n,m;
ll cnt;
ull ksm(ll base,ull pow)
{
	ll res=1;
	while(pow)
	{
		if(pow&amp;1)	res=res*base;
		el]]></description><category></category></item><item><title><![CDATA[欧拉线性筛]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110560717</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110560717</guid><author>m0_46207148</author><pubDate>Thu, 03 Dec 2020 18:56:55 +0800</pubDate><description><![CDATA[欧拉线性筛时间复杂度是O(n)O(n)O(n)的，它保证了每个数只被他最小的质因子筛一遍。同时，欧拉筛的过程中也可以求出欧拉函数ϕ(n)\phi(n)ϕ(n)
欧拉线性筛
#include&lt;bits/stdc++.h&gt;
using namespace std;
bool isp[100010000];
int pri[1000100],cnt;
int n,q;
int main()
{
	std::ios::sync_with_stdio(0);
	cin&gt;&gt;n&gt;&gt;q;]]></description><category></category></item><item><title><![CDATA[埃拉托斯特尼筛法]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110559972</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110559972</guid><author>m0_46207148</author><pubDate>Thu, 03 Dec 2020 18:47:25 +0800</pubDate><description><![CDATA[得到自然数n以内的全部素数，必须把不大于 n\sqrt nn​的所有素数的倍数剔除，剩下的就是素数。
给出要筛数值的范围n，找出以内的素数。先用2去筛，即把2留下，把2的倍数剔除掉；再用下一个质数，也就是3筛，把3留下，把3的倍数剔除掉；接下去用下一个质数5筛，把5留下，把5的倍数剔除掉；不断重复下去…。
时间复杂度 $O(nlognlogn)	$，小数据可用
#include&lt;bits/stdc++.h&gt;
using namespace std;
bool prime[100010];
int]]></description><category></category></item><item><title><![CDATA[2020年lfyz算法设计大赛赛后题解]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110491406</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110491406</guid><author>m0_46207148</author><pubDate>Wed, 02 Dec 2020 18:42:14 +0800</pubDate><description><![CDATA[这场是高一同学们的第一场考试呢
（事先做完题然后两分钟AK的高二的我们都是屑
春来
其实就是问nnn个数的最大公因数(gcd)(gcd)(gcd)。
方法是这样的，我们考虑三个数的情况，只需要先算前两个数的的gcdgcdgcd，然后用这个gcdgcdgcd去与第三个数匹配得到的gcdgcdgcd就是答案，扩展到n个数，只需要用gcdgcdgcd不断递推就可以
我这里提供gcdgcdgcd的写法，使用欧几里得算法就可以快速得到答案
#include&lt;bits/stdc++.h&gt;			//万能头，包]]></description><category></category></item><item><title><![CDATA[学习笔记——模拟退火]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/110089035</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/110089035</guid><author>m0_46207148</author><pubDate>Tue, 24 Nov 2020 18:16:45 +0800</pubDate><description><![CDATA[真正的人品永远无惧于参数的调控
模拟退火

模拟退火算法来源于固体退火原理，是一种基于概率的算法，将固体加温至充分高，再让其徐徐冷却，加温时，固体内部粒子随温升变为无序状，内能增大，而徐徐冷却时粒子渐趋有序，在每个温度都达到平衡态，最后在常温时达到基态，内能减为最小。		
——百度百科

换句话说，固体的冷却就相似于一个多峰函数，而最后内能最小的状态，就是一整个函数的最小值。
模拟退火实际上模拟的就是这个过程。我们给他设置一个初始温度T0T_0T0​（足够大），在设置一个降温系数δ\deltaδ（略小于1）]]></description><category></category></item><item><title><![CDATA[学习笔记——分层图]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/109055346</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/109055346</guid><author>m0_46207148</author><pubDate>Tue, 13 Oct 2020 17:04:02 +0800</pubDate><description><![CDATA[分层图
刚听到这个思想的时候，蒟蒻实际上是被唬住了，后来学懂了发现
不过如此啊！！！
原blog
分层图求最短路
分层图的引入问题是这样的：
假设你要从图中的A点走到B点，并且你有k次机会免费走过某条边，那么请问最短路有多大？
这个问题可以拿动态规划解决，不过我们先看如何用分层图解决这个问题。
我们建k+1层图。然后有边的两个点，多建一条到下一层边权为0的单向边，如果走了这条边就表示用了一次机会。
对于数据：
n  =  4，m  =  3， k  =  2
0        1         100
1]]></description><category></category></item><item><title><![CDATA[学习笔记——树状数组]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/109012816</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/109012816</guid><author>m0_46207148</author><pubDate>Sun, 11 Oct 2020 18:30:29 +0800</pubDate><description><![CDATA[树状数组
树状数组，就是用数组来模拟树形结构。
可以方便的实现单点更新，单点查询，区间查询，区间更新
常数比线段树小很多，也比线段树好打，但是实际上树状数组能解决的问题线段树都可以解决。
介绍树状数组
假如我们有一个数组，要实现logn级别的区间查询，那么该怎么办呢。
我们考虑将这个数组建在一棵树上，每一个节点代表一段区间（这点在我线段树的blog里讲解了），树状数组就是由此产生的。
这就是一个树状数组（原图）

下面的是原数组，用a[i]代替，树状数组设为c[i]
那么显而易见
c[1]=a[1]c[1]]]></description><category></category></item><item><title><![CDATA[2020 - CSP -S 游记]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/109011587</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/109011587</guid><author>m0_46207148</author><pubDate>Sun, 11 Oct 2020 14:35:33 +0800</pubDate><description><![CDATA[“我测了你的了，全是WA！！！”]]></description><category></category></item><item><title><![CDATA[2020秋清北学堂秋季冲刺营游记]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/108889388</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/108889388</guid><author>m0_46207148</author><pubDate>Wed, 30 Sep 2020 19:16:58 +0800</pubDate><description><![CDATA[9.30
坐了6个小时高铁，下来又等了一个小时出租车QAQ，蒟蒻等的花儿都谢了。
下来的时候被济南火车站惊艳了一下，随后一个小时对济南交通情况与生活气息的观察（等出租车）给了我一种我很熟悉这里的错觉QAQ。
真是令人愤懑。
附图—济南火车站

P. S.  这里的游记是我等出租车的时候写的

...]]></description><category></category></item><item><title><![CDATA[实用工具]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/108801807</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/108801807</guid><author>m0_46207148</author><pubDate>Fri, 25 Sep 2020 18:04:58 +0800</pubDate><description><![CDATA[LateX符号大全
数学工具

]]></description><category></category></item><item><title><![CDATA[学习笔记——数学期望]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/108797808</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/108797808</guid><author>m0_46207148</author><pubDate>Fri, 25 Sep 2020 17:53:26 +0800</pubDate><description><![CDATA[期望
蒟蒻在上个暑假才了解了一部分数学期望，今天来专门学习一些期望的基础概念与知识
定义
在概率论和统计学中，数学期望(mean)（或均值，亦简称期望）是试验中每次可能结果的概率乘以其结果的总和，是最基本的数学特征之一。它反映随机变量平均取值的大小。
需要注意的是，期望值并不一定等同于常识中的“期望”——“期望值”也许与每一个结果都不相等。期望值是该变量输出值的平均数。期望值并不一定包含于变量的输出值集合里。
大数定律规定，随着重复次数接近无穷大，数值的算术平均值几乎肯定地收敛于期望值。
——百度百科如是说]]></description><category></category></item><item><title><![CDATA[学习笔记——链表]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/108603838</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/108603838</guid><author>m0_46207148</author><pubDate>Tue, 15 Sep 2020 17:52:11 +0800</pubDate><description><![CDATA[链表
链表是一种很重要的数据结构。
链表是一种物理存储单元上非连续、非顺序的存储结构，数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
链表由一系列结点（链表中每一个元素称为结点）组成，结点可以在运行时动态生成。
实际上我刚学链表的时候是习惯用指针进行实现，后来习惯用结构体中前驱，后继或者数组等逻辑指针方式实现（因为蒟蒻对物理指针的运用实在是一言难尽
单链表
单链表就是简单的从头结点一个一个连接而成的单向链表。尾指针指向NULL。
链表便于创建节点，删除节点，访问节点
代码就不贴了。可以在这里查看
循环]]></description><category></category></item><item><title><![CDATA[学习笔记——运算符]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/108509523</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/108509523</guid><author>m0_46207148</author><pubDate>Thu, 10 Sep 2020 11:00:22 +0800</pubDate><description><![CDATA[位运算
故事是这样的，蒟蒻今天开心的做到了2019年提高组D1T2，突然发现自己不知道异或运算是个什么东西，这放考场上不就当场凉凉。吓得写篇文章学习位运算。
类型
百度百科说有七种




含义
c++




按位与
a &amp; b


按位或
a  |  b


按位异或
a^b


按位取反
~a


左移b位
a&lt;&lt;b


带符号右移
a&gt;&gt;b


不带符号右移
a&gt;&gt;&gt;b


具体是什么样子可以自行查看

...]]></description><category></category></item><item><title><![CDATA[学习笔记——乘法逆元]]></title><link>https://blog.youkuaiyun.com/m0_46207148/article/details/108243164</link><guid>https://blog.youkuaiyun.com/m0_46207148/article/details/108243164</guid><author>m0_46207148</author><pubDate>Tue, 01 Sep 2020 18:21:15 +0800</pubDate><description><![CDATA[乘法逆元
本文来自这里！
乘法逆元是数论中重要的内容，也是 ACM 中常用到的数论算法之一。所以，如何高效的求出乘法逆元是一个值得研究的问题。
这里我们只讨论当模数为素数的情况，因为如果模数不为素数，则不一定每个数都有逆元。
定义
在modpmod  pmodp的意义下我们把 xxx 的乘法逆元写作为x−1​​x ^ {-1}​​x−1​​。
乘法逆元有如下的性质：

乘法逆元的一大应用是模意义下的除法，除法在模意义下并不是封闭的，但我们可以根据上述公式，将其转化为乘法。

下面我们看几种求乘法逆元的方法。]]></description><category></category></item></channel></rss>