<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aisongdan0899的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aisongdan0899</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aisongdan0899]]></copyright><item><title><![CDATA[置换群与Polya定理]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212218</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212218</guid><author>aisongdan0899</author><pubDate>Sat, 21 Jul 2018 08:48:00 +0800</pubDate><description><![CDATA[https://wenku.baidu.com/view/9b8d9d32e87101f69e3195f8.html

转载于:https://www.cnblogs.com/Y-Meng/p/9345504.html]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 47 (Rated for Div. 2) D.（暴力+gcd）or(欧拉函数)  E. (概率+逆元)...]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212221</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212221</guid><author>aisongdan0899</author><pubDate>Wed, 18 Jul 2018 09:56:00 +0800</pubDate><description><![CDATA[D题链接：http://codeforces.com/contest/1009/problem/D
题意，给你n、m两个数，n为图的点数，m为图的边数，G=（V,E）让你求满足下列条件的图G：①(u,v)€E  ②gcd(u,v)=1；如果u和v之间没有边则gcd(u,v)是无关系的;
　　如果不能构成这样的图输出“Impossible”
　　如果能构成这样的图输出“Possib...]]></description><category></category></item><item><title><![CDATA[POJ 3552  Slim Span (最小差值生成树)]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212216</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212216</guid><author>aisongdan0899</author><pubDate>Mon, 09 Jul 2018 11:32:00 +0800</pubDate><description><![CDATA[链接：http://poj.org/problem?id=3522

题意：给你N个点，M条边（无向的）；让你求一个生成树它具有：最大边权与最小边权的差是最小的。
分析：使用kru算法求生成树；当我们用最小边求取了生成树后，去除最小边，继续再求生成树，只需要每次求完生成树后跟新答案就可以了；复杂度O（M*M），因为边不多，可以实现。


 1 #include&lt;cst...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #495 (Div. 2) D. Sonya and Matrix]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212220</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212220</guid><author>aisongdan0899</author><pubDate>Sat, 07 Jul 2018 15:13:00 +0800</pubDate><description><![CDATA[链接：http://codeforces.com/contest/1004/problem/D
题意：给你t个数字（a1,a2......at），要你组成一个n x m的矩阵，这个矩阵满足这样的条件 ①矩阵里面的元素到“0”这个元素的曼哈顿距离为元素值大小。曼哈顿距离：两个点坐标差的绝对值之和。
　　现在问你的是输出n，m以及元素“0”的坐标(x,y);如果不存在这样的矩阵，输出“-...]]></description><category></category></item><item><title><![CDATA[poj 1925 Spiderman   (dp)（疯狂TLE）]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212214</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212214</guid><author>aisongdan0899</author><pubDate>Sun, 10 Jun 2018 17:23:00 +0800</pubDate><description><![CDATA[题目链接：http://poj.org/problem?id=1925
题意：给出N个点，每个点都有两个数x、y，其中x表示点的横坐标，y表示纵坐标（建筑物的高度）；给出的每个点都满足y值是大于等于起始点的y值；并且这些点是按照x升序排列的。
　　　　现在让你求：蜘蛛侠在起始点（第一个点），他想去终点（第N个点），问他最少要吐多少次丝！（他不能触碰到地，但是可以刚好相等）！
分析：...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #475 (Div. 2) C. Alternating Sum（数学、逆元）]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212219</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212219</guid><author>aisongdan0899</author><pubDate>Sat, 28 Apr 2018 16:28:00 +0800</pubDate><description><![CDATA[链接：http://codeforces.com/contest/964/problem/C
题意：其实我也没怎么读懂题意，也很难这样想到，还是看了题解之后自己写的代码！~！
题解链接  http://codeforces.com/blog/entry/58991
如果是求逆元，那么很简单，但是题换了点形式，自己就很难想到要这样推导了！~
刚开始的时候没想到后面的一个求和等式可...]]></description><category></category></item><item><title><![CDATA[HDU 1264 Counting Squares(Hash)或者（线段树+线扫描）]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212215</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212215</guid><author>aisongdan0899</author><pubDate>Fri, 30 Mar 2018 13:18:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1264
题意：给你矩形的左下角和右上角两个坐标，让你求这些矩形覆盖的面积的大小！~
分析：一看就是线段树+线扫描的问题，其实如果你仔细看一下就会发现还有简单的方法解决它，因为题目所给的坐标值在0~100之间的整数,
　　　这样我们就可以用Hash[][]来表示1*1矩形的个数，Hash[i][j]...]]></description><category></category></item><item><title><![CDATA[密码（模拟+STL—vector的使用）]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212211</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212211</guid><author>aisongdan0899</author><pubDate>Sat, 24 Mar 2018 21:05:00 +0800</pubDate><description><![CDATA[https://www.nowcoder.com/acm/contest/90/K
中文题意一看就懂！(主要是不知道怎么说题意得！)
分析：模拟一下它的过程，吧结果放在vector数组中就OK了得！
我没使用数组的原因在于n为1e5如果开二维数组开不起！
用一维数组也是可以做的，只是比较麻烦一点而已！


#include&lt;bits/stdc++.h&gt;

u...]]></description><category></category></item><item><title><![CDATA[旋转矩阵(模拟)]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212217</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212217</guid><author>aisongdan0899</author><pubDate>Sat, 24 Mar 2018 18:40:00 +0800</pubDate><description><![CDATA[https://www.nowcoder.com/acm/contest/90/G
题意：给你个n*m的矩阵（只含三种字符‘+’、‘-’、‘|’），在给你个字符串s只含有'L'和’R‘（L表示左旋转，R表示右旋转），按照此字符串进行旋转，输出最后的矩阵的行和列以及旋转后的矩阵！
分析：就是一个模拟矩阵旋转来求解，值得注意的是我们其实只需要考虑几种情况就可以的，我们想想左转一次再右转一...]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 40 (Rated for Div. 2) D. Fight Against Traffic(最短路径)]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212212</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212212</guid><author>aisongdan0899</author><pubDate>Sat, 24 Mar 2018 11:03:00 +0800</pubDate><description><![CDATA[http://codeforces.com/contest/954/problem/D
题意：给你n个点m条路径(无向),再给你一个起点s、一个终点t，此时可以得到s到t的最短距离，让求增加多少条边使得s到t的最短距离不变。
题解：就是求最短路径的题，我们可以先求出起点s到每个点的最短路径ds[]，再求t点到每个点的最短距离dt[]，我们可以得到s到t的最短距离D=ds[t]=dt[...]]></description><category></category></item><item><title><![CDATA[两个二分函数lower_bound和upper_bound函数]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212209</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212209</guid><author>aisongdan0899</author><pubDate>Sun, 18 Mar 2018 16:15:00 +0800</pubDate><description><![CDATA[lower_bound函数查找的是大于等于key的位置
upper_bound函数查找的是大于key的位置
和sort函数有点类似的！~
具体用法反正不怎么会；
会用就可以了，看个例子吧：
CF上的一道题：
http://codeforces.com/contest/953/problem/A


 1 #include&lt;bits/stdc++.h&gt;
 2...]]></description><category></category></item><item><title><![CDATA[HDU2072 单词数(字典树)]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212210</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212210</guid><author>aisongdan0899</author><pubDate>Sun, 18 Mar 2018 15:26:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=2072
题意：中文题目不需要说了！~自己注意一下他输入要求：一行表示一篇文章。
这几天都在刷字典树的题，测试测试自己的模板合适不合适。模板倒是合适的，但是却发现自己在处理数据上容易犯下一些细节错误！~
特在此写下来，谨记自己！~
这份代码是一发就过的：


  1 #include&lt;...]]></description><category></category></item><item><title><![CDATA[HDU1075  What Are You Talking About（字典树+映射）]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212208</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212208</guid><author>aisongdan0899</author><pubDate>Sun, 18 Mar 2018 14:44:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1075
题意没什么好说的，就是一个字典树的查找。
这道题主要在于格式的输出上，反正坑了我好久的！~！在此吐槽吐槽，以此来平复心情。坑人啊！~！~！~
还有就是刚开始用的是字典树的v与数组id相对应来做的，结果一直RE，每次都把数组开效率，经过小小的测试5e5是能过的(应该可以在小点吧！没去测试)...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #436 (Div. 2) E. Fire（DP+记录路径）]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212207</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212207</guid><author>aisongdan0899</author><pubDate>Sat, 17 Mar 2018 15:52:00 +0800</pubDate><description><![CDATA[http://codeforces.com/contest/864/problem/E
题意：题目有点长，主要是讲了一连串的故事。。。。（01背包问题+路径输出）了解了是01背包之后，就能很好的理解题意了。
　　大致说一下题意，就是给你三个数组ti, di, pi(1 ≤ ti ≤ 20,1 ≤ di ≤ 2 000,1 ≤ pi ≤ 20)
　　三个数组的意思分别表示为...]]></description><category></category></item><item><title><![CDATA[字典树数组模板]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212172</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212172</guid><author>aisongdan0899</author><pubDate>Sat, 17 Mar 2018 10:37:00 +0800</pubDate><description><![CDATA[自己实在太懒了，就没有自己再写一份代码，这是另一个博客上直接找来的，它的数组模板写的挺好的，指针模板一般般吧！~~
http://blog.youkuaiyun.com/king_cannon_fodder/article/details/77175620

///这里以输入字符串后，查询字符串出现的次数为例
#include &lt;bits/stdc++.h&gt;
#define m...]]></description><category></category></item><item><title><![CDATA[字典树模板+HDU  1671 ( Phone List )（字典树）]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212173</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212173</guid><author>aisongdan0899</author><pubDate>Sat, 17 Mar 2018 10:30:00 +0800</pubDate><description><![CDATA[字典树指针模板（数组模板暂时还没写）：


 1 #include&lt;cstdio&gt;
 2 #include&lt;string.h&gt;
 3 #include&lt;algorithm&gt;
 4 using namespace std;
 5 const int MAX=26;
 6 const int maxn=1e4+100;
 7 int N;...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #470 D. Perfect Security(字典树)]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212170</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212170</guid><author>aisongdan0899</author><pubDate>Fri, 16 Mar 2018 17:29:00 +0800</pubDate><description><![CDATA[http://codeforces.com/contest/948/problem/D
题意：给你两个数组A[]、P[]（两个数组元素个数一样多），让你求两个数组中Ai异或Pj的最小值(两个数组中的元素只能取一次)；
分析：仔细一看其实就是字典树，我们把P[]数组建立成字典树，用A[]数组中的每一位元素去匹配字典树，取最小值。


#include&lt;cstdio&gt;...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #469 (Div. 2)C. Zebras]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212171</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212171</guid><author>aisongdan0899</author><pubDate>Sat, 10 Mar 2018 11:54:00 +0800</pubDate><description><![CDATA[http://codeforces.com/contest/950/problem/C
题意：给定一个01字符串s，求它的子串，子串满足两个条件 ：
①子串必须的01010....相互交换的(只含有0，其长度为1也是符合的)。
②子串的开头和结尾必须是0.
（字符串最大长度为200 000.）
如果不存在这样的子串则输出-1；否则输出一个k（k为子串的个数，k值不必的最值），接...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #469 (Div. 2) A/B]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212168</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212168</guid><author>aisongdan0899</author><pubDate>Sat, 10 Mar 2018 11:36:00 +0800</pubDate><description><![CDATA[A题
http://codeforces.com/contest/950/problem/A
题意：给定三个数l，r，a，要我们求min(l+a1,r+a2)的最大值再乘以2；a1+a2&lt;=a。


 1 #include&lt;bits/stdc++.h&gt;
 2 using namespace std;
 3 
 4 typedef long long ll...]]></description><category></category></item><item><title><![CDATA[HDU 5201 The Monkey King(组合数学)(隔板法+容斥定理+费马小定理)]]></title><link>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212169</link><guid>https://blog.youkuaiyun.com/aisongdan0899/article/details/102212169</guid><author>aisongdan0899</author><pubDate>Wed, 07 Mar 2018 17:35:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=5201题意：给你n个桃子要你分给m只猴子，猴子可以得0个桃子，问有多少种方法，但是有一个限制条件： 第一只猴子分得的桃子数量一定大于其他猴子的桃子数。
思路：首先部门不考虑限制条件，那么这个问题就非常简单了，n个物品分成m组，允许某些组为空（这不就是隔板法吗！~~~！），简单答案就是组合：C(n+m-...]]></description><category></category></item></channel></rss>