<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Pbw_666的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Pbw_666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Pbw_666]]></copyright><item><title><![CDATA[Centos 安装python 无su]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/128564120</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/128564120</guid><author>Pbw_666</author><pubDate>Thu, 05 Jan 2023 15:21:45 +0800</pubDate><description><![CDATA[centos安装python]]></description><category></category></item><item><title><![CDATA[23-末2菜菜的计算机保研之路(pku cs\rw、zju cs、fdu cs、ustc)]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/127129297</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/127129297</guid><author>Pbw_666</author><pubDate>Fri, 30 Sep 2022 21:34:41 +0800</pubDate><description><![CDATA[计算机类保研，北大、浙大、复旦、科大、计算所]]></description><category></category></item><item><title><![CDATA[搜索:flood fill,DFS连通性与剪枝优化]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/123441567</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/123441567</guid><author>Pbw_666</author><pubDate>Sat, 12 Mar 2022 12:57:23 +0800</pubDate><description><![CDATA[BFS flood fill
  flood fill模型可以在线性的时间内，找到一个连通块。例子：城堡问题
  思路：枚举每一个格子，判断它是否于其他块连通，如果连通，扩展其他块。直到不连通为止，更新最大面积。
#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;queue&gt;
using namespace std;
const int maxn = 55;
const int dx[4]={0,-1,0,1},dy[4]={]]></description><category></category></item><item><title><![CDATA[数论2:欧拉函数,快速幂，扩展欧几里得算法]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/123318385</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/123318385</guid><author>Pbw_666</author><pubDate>Sun, 06 Mar 2022 23:03:49 +0800</pubDate><description><![CDATA[欧拉函数
  欧拉函数f(n):1-n中与n互质的数的个数。互质指两个整数只有1这一个公约数,或者说最大公约数为1,gcd(a,b)=1。eg.f(6) = 2.
  根据唯一分解定理:N=p1a1p2a2…pnan
  可以得到欧拉函数f(N) = N*(1-1/p1)(1-1/p2)…(1-1/pn)
欧拉函数的证明可以利用容斥定理。
int Eula(int t)
{
    int  ans = t;
    for(int i = 2;i &lt;= t / i;i++)
    {
      ]]></description><category></category></item><item><title><![CDATA[数论:线性筛、埃氏筛与欧几里得算法]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/123305269</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/123305269</guid><author>Pbw_666</author><pubDate>Sun, 06 Mar 2022 10:51:47 +0800</pubDate><description><![CDATA[质数
  数论部分在算法中也相当重要，掌握基本的数论内容十分必要。
1.质数定义
  对于大于1的整数而言，只有1和本身两个约数则其被称为质数或素数。
2.试除法
    if(t &lt;= 1)
    {
        puts("No");
        continue;
    }
    for(int i = 2;i &lt;= t / i;i++) //注意判断条件,不要写成i * i &lt;= t 不然i可能会溢出
    {
        if(t % i == 0)
    ]]></description><category></category></item><item><title><![CDATA[时间复杂度分析]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/123289577</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/123289577</guid><author>Pbw_666</author><pubDate>Sat, 05 Mar 2022 10:42:38 +0800</pubDate><description><![CDATA[1.根据数据范围判断时间复杂度
  一般C++一秒可以执行107-108次运算，那么就可以根据数据量，判断算法类型。
1.n&lt;30,指数级别，dfs+剪枝,状态压缩dp
2.n&lt;100,O(n3)  floyd,dp
3.n&lt;1000,O(lognn2) dp 二分
4.n&lt;100000,O(nlogn) 排序，map/set,
5.n&lt;1000000,O(n) 双指针，KMP，并查集或常数较小的O(n*logn) spfa。
6.n&lt;10000000,O(n) 双指针
]]></description><category></category></item><item><title><![CDATA[贪心：区间问题]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/123244575</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/123244575</guid><author>Pbw_666</author><pubDate>Thu, 03 Mar 2022 11:35:20 +0800</pubDate><description><![CDATA[区间问题
  区间问题是贪心问题的一大类，处理区间问题通常可以从排序入手。可以按照左端点排序，右端点排序或者双关键字排序。
区间选点
#include&lt;iostream&gt;
#include&lt;algorithm&gt;
using namespace std;
const int maxn = 1e5 + 10;
int n,ans;
struct Range{
    int l,r;
}range[maxn];
bool cmp(Range a,Range b){
    return ]]></description><category></category></item><item><title><![CDATA[dp2:线性dp、区间dp、计数dp.]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/123196736</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/123196736</guid><author>Pbw_666</author><pubDate>Tue, 01 Mar 2022 09:50:04 +0800</pubDate><description><![CDATA[线性dp
  动态规划时间复杂度分析，状态数目与状态转移次数相乘。
数字三角形
数字三角形
以集合的观点考虑dp问题。

#include&lt;iostream&gt;
#include&lt;cstring&gt;
#include&lt;algorithm&gt;
using namespace std;
const int maxn = 510;
int n,ans;
int a[maxn][maxn],f[maxn][maxn];
int main(){
    cin&gt;&gt;n;
   ]]></description><category></category></item><item><title><![CDATA[最小生成树和二分图]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/123141364</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/123141364</guid><author>Pbw_666</author><pubDate>Fri, 25 Feb 2022 23:25:52 +0800</pubDate><description><![CDATA[Prim
与dijistra比较像，分为朴素版和堆优化版。
朴素版Prim，时间复杂度O(n^2)，一般用于稠密图。
算法流程：初始化距离矩阵为0x3f3f3f3f.
循环n次，找到距离集合最短的点t，用t更新其他点到集合的距离。
注意：与dijistra不同的在与距离的更新方式。
Prim最小生成树
#include&lt;algorithm&gt;
#include&lt;iostream&gt;
#include&lt;cstring&gt;
using namespace std;
const in]]></description><category></category></item><item><title><![CDATA[微分方程基本模型]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122975846</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122975846</guid><author>Pbw_666</author><pubDate>Thu, 17 Feb 2022 09:35:18 +0800</pubDate><description><![CDATA[微分方程的求解
  利用MATLAB求解微分方程，利用现有的接口。
dsolve求解解析解
solver求解数值解

人口预测模型
简单的人口自然增长模型，不考虑环境资源限制。
自然增长模型，不能正确地描述人口的增长。因为自然资源有限。
Logistic模型
考虑自然资源的限制，自然增长率随着人口增加线性减少。


LV捕食模型

种群相互竞争模型
不考虑竞争时，种群演变符合logistic模型。
对于甲种群而言，考虑乙对甲的竞争作用。

传染病模型
SI
SIS
SIR
SIRS

...]]></description><category></category></item><item><title><![CDATA[美赛A,B,C题]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122970025</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122970025</guid><author>Pbw_666</author><pubDate>Wed, 16 Feb 2022 20:50:16 +0800</pubDate><description><![CDATA[2021美赛A,B,C三类题目简单讲解思路。
A
模型建立，第一问中考虑多种真菌共存情况下分解。暂时不考虑相互作用。第二问考虑相互作用来改进模型。
  第三问可视为对第二问的补充，在第二问中可以将环境因素视为不变。而对于第三问而言，环境因素是改变的，不同的真菌分解能力也会改变。模型进一步扩充。
(在数据量不够的情况下，考虑微分方程。量足够可以考虑统计类，例如回归模型)

对第四问而言，因为环境不同。因此，可以考虑：修改第三问中方程的相关参数进行对比分析。
对第无问而言，在前两问基础上，加以讨论多样性即可。
]]></description><category></category></item><item><title><![CDATA[动态规划-背包问题]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122866966</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122866966</guid><author>Pbw_666</author><pubDate>Thu, 10 Feb 2022 19:11:19 +0800</pubDate><description><![CDATA[  动态规划在运筹与算法竞赛中都是重点，没有固定的模板。有着几类基本的模型，其中，背包问题是最常用的模型之一。它包含了许多类型的问题，熟练掌握基本模型是必要的。对于动态规划问题而言，确定问题的状态与状态之间的转移是基本的两点。
  问题的状态 ：简单地说，一个问题可以用几维来表示，每一个状态的含义是什么。通常从集合和属性两个角度考虑状态表示。属性一般有三种：最大值，最小值，总数目。
  状态转移 ：由当前状态转移到下一个状态。可以视为集合划分。一般要做到不重不漏，使得原问题划分为更小的子问题。
  DP优化]]></description><category></category></item><item><title><![CDATA[优化2：非线性规划应用及模板]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122832474</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122832474</guid><author>Pbw_666</author><pubDate>Tue, 08 Feb 2022 22:40:56 +0800</pubDate><description><![CDATA[非线性规划
  非线性规划在求解起来更困难，没有适用于任何情况的方法。不同的问题，需要不同的算法。因此掌握接口的使用是必要的，而且需要积累模型建立时的一些技巧。
技巧1： 例子中xi只能取0或1，等价地在约束中建立方程xi(xi-1) = 0。



求解 更重要的，要掌握MATLAB接口的调用。
注意，API中规定：非线性不等式约束右端必须是0。

  接口里包含了线性规划的部分参数A,b,Aeq,beq,lb,ub。使用方法与linprog是一致的。其余参数需要注意。
  fun是目标函数，需要用.m文]]></description><category></category></item><item><title><![CDATA[优化：线性规划,整数规划应用及模板]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122815134</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122815134</guid><author>Pbw_666</author><pubDate>Mon, 07 Feb 2022 22:36:43 +0800</pubDate><description><![CDATA[  优化类问题在国赛与美赛中都比较常见，尤其国赛，一般都有一道运筹优化类。优化类问题涉及内容很多，再结合图论相关的算法，加在一起是难点也是重点。例如21年国赛C题，考点很清晰，数据处理内容：插值拟合，降维。结合运筹的多目标规划与动态规划，最终利用启发式搜索遗传，模拟退火等等求解。
线性规划
  理论部分并不难，接口也很容易。
  但是，一般不会直接考查。为了体现区分度，会涉及一些技巧。对于线性规划问题而言，目标函数以及约束条件必须都是线性函数。而对于部分问题，可以转换为线性规划问题求解。
接着，上应用


]]></description><category></category></item><item><title><![CDATA[预测:时间序列&LSTM]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122777840</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122777840</guid><author>Pbw_666</author><pubDate>Sat, 05 Feb 2022 16:25:36 +0800</pubDate><description><![CDATA[时间序列
  时间序列预测，可以对小样本预测。使用时间序列预测，数据必须要满足平稳性要求。
平稳性： 要使用时间序列预测数据，数据需要满足稳定性要求。一般要求数据的均值和方差不发生明显变化。
  严平稳：高斯白噪声即高斯分布，也就是标准的正态分布。它的均值和方差不发生变化。一般在真实的数据集上，很难达到。通常采用的是宽平稳。
  宽平稳：数据的期望与相关系数，不发生明显变化。例如，要预测今天的下雨量，那么它依赖于昨天的下雨量，而昨天的下雨量依赖于前天的下雨量。这期间的相关系数不应变化很大。
  为了使数据满]]></description><category></category></item><item><title><![CDATA[图的最短路]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122765106</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122765106</guid><author>Pbw_666</author><pubDate>Tue, 01 Feb 2022 18:21:24 +0800</pubDate><description><![CDATA[  最短路：可以分为单起点终点最短路和多起点多终点最短路。它包含了很多算法Dijkstra，floyd等等。
当图中，边权全都是正数，一般采用Dijkstra
朴素Dijkstra
  它的时间复杂度只和点有关，适用于稠密图(边较多)。一般而言，如果m与n^2是一个级别可以认为是稠密图。
//时间复杂度O(n^2),n是点数


堆优化Dijkstra
  适用于稀疏图(边较少)
//时间复杂度O(m*logn) m是边数


  存在负权边，可以采用bellman-ford，spfa，Floyd。
bel]]></description><category></category></item><item><title><![CDATA[c++ 搜索与图的遍历及拓扑排序]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122750379</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122750379</guid><author>Pbw_666</author><pubDate>Sun, 30 Jan 2022 22:46:59 +0800</pubDate><description><![CDATA[DFS
  DFS在搜索中，拥有的空间复杂度与树(解空间构成的搜索数)的高度成正比，但是搜索的点不具有“最短路”的概念。
//算法框架
void dfs(int n){
   if(搜索结束){
      记录结果。
      return;
   }
   for(遍历所有解){
       if(合法的解){
         占位。
    }
       dfs(n+1);
       取消占位。
  }
}


BFS
  BFS在搜索中，需要大量空间是树(解空间构成的搜索数)的高度的指]]></description><category></category></item><item><title><![CDATA[数学建模序言]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122725340</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122725340</guid><author>Pbw_666</author><pubDate>Fri, 28 Jan 2022 00:07:39 +0800</pubDate><description><![CDATA[  想找一找美赛常用的考点，逛了一大圈没有任何收获。又看了看一些教程，感觉它们很难直接应用到美赛上，不系统地掌握很难应用。况且，数学建模又不是只有算法，包括画图，软件使用，甚至排版等等。无奈之下，选取最基本的策略，广撒网。
  数学建模毕竟是利用算法解决问题，那么一定有考纲主要有如下几类：

预测类算法
评价类算法
分类与聚类
关联因果分析
优化类

  基本的分类如上，对于以上算法，博主比较喜欢优化类，它主要包含了图论与运筹。我将尽可能多的将原理与代码一并附上。对于其他类都会涉及，只挑重点。之后还会补充深]]></description><category></category></item><item><title><![CDATA[C++ STL库]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122723312</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122723312</guid><author>Pbw_666</author><pubDate>Thu, 27 Jan 2022 22:24:07 +0800</pubDate><description><![CDATA[  STL包含的内容很多，部分容器以及算法等等。本节主要介绍容器。
//各容器公有函数
size(); // O(1) 求长度
empty(); //O(1) 判断空

vector
#include&lt;vector&gt;//使用时包含头文件
定义一维
vector&lt;int&gt; v//其中,int可换为其他类型，重点要掌握结构体类型。
vector&lt;int&gt; vec(10);//定义10个元素
vector&lt;int&gt; vec(10,3);//定义10个值为3
定义二维]]></description><category></category></item><item><title><![CDATA[Trie树,并查集,堆与哈希表]]></title><link>https://blog.youkuaiyun.com/Pbw_666/article/details/122638476</link><guid>https://blog.youkuaiyun.com/Pbw_666/article/details/122638476</guid><author>Pbw_666</author><pubDate>Sat, 22 Jan 2022 15:52:40 +0800</pubDate><description><![CDATA[Trie字典树
Trie又称字典树用来高效的存储与查找字符串。例题：字符串统计
模板如下：
int son[maxn][N],cnt[maxn],idx; //其中N的取值和题目有关，例如字符串全是小写字母则N = 26
//son[][]数组用来存储字符串，本题中它存储的是字符串中每个字符的下标,cnt[i]表示以i结尾的字符串总共出现的次数。
void insert(char str[]){
    int p = 0;
    for(int i = 0; str[i] ;i++){ //因为字符数组]]></description><category></category></item></channel></rss>