<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_37548017的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_37548017</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_37548017]]></copyright><item><title><![CDATA[ros、marros安装和验证（亲测非常有效）]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/130163236</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/130163236</guid><author>qq_37548017</author><pubDate>Fri, 14 Apr 2023 22:30:39 +0800</pubDate><description><![CDATA[ros安装看这篇（脚本是真的牛逼）这边需要注意的是4.(2)部分~验证看这篇px4部分（4-7）marros安装看这篇。]]></description><category></category></item><item><title><![CDATA[latex 下标的下标]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/130021446</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/130021446</guid><author>qq_37548017</author><pubDate>Fri, 07 Apr 2023 21:59:30 +0800</pubDate><description><![CDATA[E_u_1$应为$E_{u_1}$即可实现如下效果Eu1​​而非$E_{u1}$实现为Eu1​。]]></description><category></category></item><item><title><![CDATA[matlab plot 标题 下标是正体]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/127727320</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/127727320</guid><author>qq_37548017</author><pubDate>Mon, 07 Nov 2022 11:01:07 +0800</pubDate><description><![CDATA[如何得到matlab 下标为正体]]></description><category></category></item><item><title><![CDATA[进阶指南----最大子序列]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/111401511</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/111401511</guid><author>qq_37548017</author><pubDate>Sat, 19 Dec 2020 11:05:53 +0800</pubDate><description><![CDATA[暴力思想就是求前缀和，然后从左到右枚举终点，暴力得以每个点为终点的前m个数的和的最大值
优化第二步，从左到右是有顺序的，我们可以考虑维护一个队列，每次将一个点的前缀和扔进去，到某个点时，看看前面m个里的最小前缀和即可，而当我们扔数的时候，又发现，扔一个数进去，如果它比队列里面的一些数大，则前面那些比它大的数则永远不可能再用到，所以可以把比它大的数扔出去，而这个样子，就成了一个单调队列，那么前面m个的最小前缀和是哪个？队头！就变成O(n)了
#include &lt;bits/stdc++.h&gt;
usi]]></description><category></category></item><item><title><![CDATA[进阶指南-----小猫爬山]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/111303469</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/111303469</guid><author>qq_37548017</author><pubDate>Wed, 16 Dec 2020 21:33:27 +0800</pubDate><description><![CDATA[dfs基础题
枚举所有的情况：对于一只猫，有两种情况，一个是放在现有的缆车，但不能超重，一个是自己再重新上一辆缆车
对于剪枝：什么情况不会继续呢？最容易想到的就是现在用的车车已经比曾经试过的多了，然后这个能不能再快一点？我们用了一个方法，优先枚举离根近的分枝少的，那咋整勒？越胖的猫！每辆缆车都不行枝不就少了？
代码如下
#include &lt;bits/stdc++.h&gt;
using namespace std;
int ans = 1000;
int cat[25],sum[25],n,w;//c]]></description><category></category></item><item><title><![CDATA[进阶指南---小组队列]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/111194703</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/111194703</guid><author>qq_37548017</author><pubDate>Tue, 15 Dec 2020 11:15:06 +0800</pubDate><description><![CDATA[很朴素的想法就是开个数组，如何疯狂判断这组有没有，有的话插入，没有在后面插入，显然复杂度有点高
那如果把其的总队列与分队列分开，则上面插入加复杂度的问题就解决咯，
就四种情况：
插入
如果原来有，则直接在分队列插入该数
否则，则再在队列末插入该数所在的队列
删除
直接得总队列的第一个队列是谁，直接删分队列中第一个数
如果分队列中的该队列的数被删完了，则在总队列将该队列删去
#include &lt;bits/stdc++.h&gt;
using namespace std;
const int MA = 1]]></description><category></category></item><item><title><![CDATA[进阶指南-----直方图中最大的矩形]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/111186018</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/111186018</guid><author>qq_37548017</author><pubDate>Mon, 14 Dec 2020 21:38:26 +0800</pubDate><description><![CDATA[最朴素的想法就是分别以每一个为高，分别找出左边和右边 &gt;= 其的最大长度
那另一种想法从左到右一个个入栈，那么对于前面入栈的小矩形，则需要保证后面来的比他大，其长度才能快乐地延伸下去，比它小了，也就说明了，前面那个在栈里大的那位，延伸不下去了，也就只好统计出来咯，但因为其对前面的还有用，所以切到比准备进来那个高的部分，继续进去栈当个打工人，就O(n)咯
#include &lt;bits/stdc++.h&gt;
using namespace  std;
const int MA  = 1e5+10]]></description><category></category></item><item><title><![CDATA[进阶指南---火车出栈]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/111061644</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/111061644</guid><author>qq_37548017</author><pubDate>Sat, 12 Dec 2020 15:08:58 +0800</pubDate><description><![CDATA[只要前20个，且要字典序，那不就暴力dfs
字典序无非就决定了其出栈的顺序，那想想看一个数进栈之后是要等下一个数进来，下一个数先出还是自己先出呢，自己是1，下一个是2，肯定自己小先出才能保证字典序小咯，所以字典序小就是栈里有数先出就欧克啦
代码如下：
#include &lt;bits/stdc++.h&gt;
using namespace std;
int cnt = 20,n;
int state3;//未入栈的 
stack&lt;int&gt; state2;//栈中的 
vector&lt;in]]></description><category></category></item><item><title><![CDATA[进阶指南---编辑器]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/110941563</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/110941563</guid><author>qq_37548017</author><pubDate>Wed, 09 Dec 2020 21:39:32 +0800</pubDate><description><![CDATA[在对于栈的使用上，我们可以根据题目的喜好而加入一些其他栈，例如经常左右移动，加入对顶栈，对于前缀和的最大值保存查询，可加入最大栈和总和栈，这题就是对这些栈的小运用
#include &lt;bits/stdc++.h&gt;
using namespace std;
const int MA = 1e6+10;//tl目前到的位置没有操作 
int stl[MA],str[MA],tl,tr;//左栈右栈
int sum[MA],f[MA];//总和与最大值 
void worfs(int k) //对最大]]></description><category></category></item><item><title><![CDATA[八数码poj1077----只能过poj]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/110882114</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/110882114</guid><author>qq_37548017</author><pubDate>Tue, 08 Dec 2020 20:59:21 +0800</pubDate><description><![CDATA[战术挂机，后面再重写
#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
#include &lt;queue&gt; 
#include &lt;map&gt; 
#include &lt;iostream&gt;
using namespace std;
int en[]={1,2,3,4,5,6,7,8,0};
int EN = 123456780;
const int MA = 1e6;
int dis[5][2]={{0,0},{-1,0},{1,]]></description><category></category></item><item><title><![CDATA[进阶指南--国王游戏]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/109631616</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/109631616</guid><author>qq_37548017</author><pubDate>Wed, 11 Nov 2020 21:19:55 +0800</pubDate><description><![CDATA[1、比较相邻两个大臣，要他们二者的顺序下的最大值最小，则推公式可得，谁的左手右手乘积越小在前，则二者的最大值最小
所以即对大臣们进行乘积从小到大排即可
2、处理过程中的高精度，需要注意除法需要消去前导0
#include &lt;bits/stdc++.h&gt;
using namespace std;
const int MA = 1010;
pair&lt;int,int&gt; PDD[MA];//对每位大臣的金币的乘积进行排序 
vector &lt;int&gt; AA;//表示前面的和 
ve]]></description><category></category></item><item><title><![CDATA[进阶指南----雷达监测]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/109608174</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/109608174</guid><author>qq_37548017</author><pubDate>Tue, 10 Nov 2020 21:51:58 +0800</pubDate><description><![CDATA[每个区间至少包含一个点，问最少需要多少个点：按右端点升序排列即可

将每个岛屿转化为区间，即这个岛能被哪个区间的雷达扫描到，可得区间为 （x - sqrt (R * R  - y * y ) , x + sqrt (R * R  - y * y )） 问题等价完成
两个端点，对其中一个进行升序排列，可用 pair ,其 pair.first 在 sort 时对其升序排序！！！！
因为其为浮点数受其精度的影响，所以要 + 1e-6 来消除浮点误差

#include &lt;bits/stdc++.h&gt;]]></description><category></category></item><item><title><![CDATA[进阶指南---畜栏预定]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/109603850</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/109603850</guid><author>qq_37548017</author><pubDate>Tue, 10 Nov 2020 17:56:46 +0800</pubDate><description><![CDATA[遇到一段区间，求最大不重合子序列,只需左顶点从小到大排列即可

因为后面还需要每头牛的编号，所以说明牛的区间排列之后还要还原，所以引入b记录牛刚开始的位置方便还原
如果发现已经有的畜栏最小右边 &gt;= 准备进来牛的左边，则再开一组畜栏,畜栏需要右边和该位置的组数，所以要用结构体，记得重载 &lt; 运算符

代码如下：
#include &lt;bits/stdc++.h&gt;
using namespace std;
const int MA = 5e4 + 10;
struct stu{
	int]]></description><category></category></item><item><title><![CDATA[进阶指南--天才ACM]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/109452360</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/109452360</guid><author>qq_37548017</author><pubDate>Mon, 02 Nov 2020 17:00:30 +0800</pubDate><description><![CDATA[先是校验值，显然对于集合中要M对(数差的平方)  的和MAX，可知每次选先排序，然后选最大和最小，次大和次小…即可    而又给了个T，问咋样能使每组的校验值最大不超过T,最少能分几组，可得目标为每组的校验值尽量大    因为数差的平方的和为单调递增，所以我们可以采用二分枚举r的位置，但因为二分具有不稳定性，极限情况会超时，所以采用倍增    同理，在进行排序的时候，因为快排不稳定，所以利用倍增时我们已经把(l,r)    排完序，这时只需要对（r+1,r+len）快排，再进行归并排序，可以降低复杂度
#i]]></description><category></category></item><item><title><![CDATA[奇数码---结论题（逆序对）]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/109209781</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/109209781</guid><author>qq_37548017</author><pubDate>Wed, 21 Oct 2020 21:01:03 +0800</pubDate><description><![CDATA[通过诸多伟大的数学家证明，如果要判断奇数码是否能从一个状态走到另一个状态，只需要判断两个状态的逆序对的 奇偶性是否一样即可
即从左到右从上到下的顺序搞成一维（0直接删掉），然后判断二者逆序对的奇偶性是否一致，结束。
#include &lt;bits/stdc++.h&gt;
using namespace std;
const int MA = 3e5+10;
int b[MA],a[MA],c[MA];//ab存两个状态，c逆序对辅助数组 
void merge(int a[],int l,int r,]]></description><category></category></item><item><title><![CDATA[进阶指南--超快速排序（归并+逆序对）]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/109138045</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/109138045</guid><author>qq_37548017</author><pubDate>Sat, 17 Oct 2020 21:18:16 +0800</pubDate><description><![CDATA[归并排序：
  将数组切成两半，然后左边排完 右边排完 （二分递归）  合并排列（用临时数组：对左右两边的数谁大谁进去）

逆序对
对于i,j (i &lt; j ) 如果 a[i] &lt; a[j] 则构成一个逆序对

那思考：归并排序   你知道左边一个单调递增数列，右边一个单调递增数列,mid是左右分界，属于左边，那对于右边的数 a[j] 而言，在合并的时候，如果发现自己小于前面的一个数 a[i] 进了数组， 那说明  a[i]~a[mid] 都比a[j] 大，构成了(mid-i+1) 个逆序对
这]]></description><category></category></item><item><title><![CDATA[最简快排模板+第k大数]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/109005098</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/109005098</guid><author>qq_37548017</author><pubDate>Sat, 10 Oct 2020 23:02:38 +0800</pubDate><description><![CDATA[快排
这个快排模板，还是记住吧。。。边界太复杂了，搞不懂搞不懂
它的思路和普通快排不是很一样：
普通快排的思想从任选一个数，正常选中间，然后在数组中找到这个数的位置，选定，继续把这个数的左边和右边继续递归搞完
这个快排就其实思路也差不多，它把小于等于X的搞在左边，大于等于X的搞在右边，然后继续递归，就排完了，，，代码简单嘿嘿
#include &lt;bits/stdc++.h&gt;
using namespace std;
const int MA = 1e6+10;
int a[MA];
void q]]></description><category></category></item><item><title><![CDATA[c++读文件，造数据]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/108993114</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/108993114</guid><author>qq_37548017</author><pubDate>Sat, 10 Oct 2020 11:08:49 +0800</pubDate><description><![CDATA[读文件
	freopen("3.in","r",stdin); //读入，在你的代码的文件夹里需要有这个东西 3.in
	freopen("3.out","w",stdout);//输出，输出怎样的格式看你自己，也可3.txt，如果你的文件夹有这个3.out直接读到里面，如果没有它给你创一个
	

造数据

#include &lt;bits/stdc++.h&gt;
using namespace std; 
char str[100];
int main(){
	std::ios::sync_with_]]></description><category></category></item><item><title><![CDATA[三分法---黄金分割（求单峰函数最值） 洛谷--P3382 【模板】三分法]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/108955477</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/108955477</guid><author>qq_37548017</author><pubDate>Wed, 07 Oct 2020 20:52:08 +0800</pubDate><description><![CDATA[黄金分割法具体思路看这个
看懂之后看代码是秒懂
纯纯的三分进化版，思路和三分一毛一样，只是取的两个三分点变成了两个黄金分割点，每次缩小的范围比三分点稍微大一点点
#include &lt;bits/stdc++.h&gt;
using namespace std;
const double gold = (sqrt(5)-1)/2;//黄金分割率
const double eps  = 1e-8;//正常题目要求精度+2
const int MA = 15;
double xi[MA];//所存系数 
in]]></description><category></category></item><item><title><![CDATA[进阶指南---动态中位数（听说这个叫对顶堆）]]></title><link>https://blog.youkuaiyun.com/qq_37548017/article/details/108895407</link><guid>https://blog.youkuaiyun.com/qq_37548017/article/details/108895407</guid><author>qq_37548017</author><pubDate>Thu, 01 Oct 2020 16:06:32 +0800</pubDate><description><![CDATA[要动态搜中位数的这个对顶堆真妙，只是优先队列忘的一干二净呜呜呜
插入一下优先队列小知识
//小数先出
priority_queue &lt;int,vector&lt;int&gt;,greater&lt;int&gt; &gt; q;
//大数先出
priority_queue &lt;int,vector&lt;int&gt;,less&lt;int&gt; &gt;q;
priority_queue&lt;int&gt; q;

一定要注意优先队列默认大数先 出
回到题目
用两个优先队列，一个大数先出]]></description><category></category></item></channel></rss>