<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[acs59147的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/acs59147</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; acs59147]]></copyright><item><title><![CDATA[Codeforces Round #535 (Div. 3)]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434969</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434969</guid><author>acs59147</author><pubDate>Thu, 31 Jan 2019 14:15:00 +0800</pubDate><description><![CDATA[A

#include&lt;bits/stdc++.h&gt;
using namespace std;
#define mod 1000000009
typedef long long ll;

int main()
{
    int q;
    cin&gt;&gt;q;
    ll a,b,c,d;
    while(q--)
    {
  ...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #524 (Div. 2) C Masha and two friends]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434966</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434966</guid><author>acs59147</author><pubDate>Thu, 31 Jan 2019 13:32:00 +0800</pubDate><description><![CDATA[题意：在n*m的矩形中，每次给你两个两个矩形，第一次涂成白色，第二次涂成黑色，
   问最后的白色和黑色色块有多少个？
题解：从题目中，我们可以知道，n*m的矩形中，白色的个数就是a*b/2+((a*b)&amp;1);
   而黑色就是n*m-白色的个数
   然后怎么求出给定矩形中黑白色的个数呢？我们并不知道其中黑色和白色的个数那个多
  这里有两...]]></description><category></category></item><item><title><![CDATA[dfs]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434973</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434973</guid><author>acs59147</author><pubDate>Sun, 02 Dec 2018 15:02:00 +0800</pubDate><description><![CDATA[题目：
代码：

#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;string&gt;
#include&lt;map&gt;
#include&lt;vector&gt;
#include&lt;cmath&gt;
#include&lt;string.h&gt;
#include&lt;...]]></description><category></category></item><item><title><![CDATA[bfs模板]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434964</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434964</guid><author>acs59147</author><pubDate>Sat, 01 Dec 2018 22:21:00 +0800</pubDate><description><![CDATA[模板：


#include&lt;bits/stdc++.h&gt;
using namespace std;
typedef long long ll;
#define MAX 1010
#define INF 0x3f3f3f3f
int n,m;
int T;
char g[MAX][MAX];
bool vis[MAX][MAX];
int fire[M...]]></description><category></category></item><item><title><![CDATA[cf：c题]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434970</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434970</guid><author>acs59147</author><pubDate>Fri, 30 Nov 2018 22:17:00 +0800</pubDate><description><![CDATA[题目：
代码：


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;vector&gt;
#include&lt;string&gt;
#include&lt;math.h&gt;
const int max_=1e5+5;
using namespace std;
vector&lt;i...]]></description><category></category></item><item><title><![CDATA[交换一次最长连续字符的长度]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434961</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434961</guid><author>acs59147</author><pubDate>Thu, 29 Nov 2018 16:09:00 +0800</pubDate><description><![CDATA[题目：
分析：
记录GSG这样的结构，记录左右两边的连续G的长度
代码：


#include&lt;iostream&gt;
#include&lt;stdio.h&gt;
#include&lt;algorithm&gt;
#include&lt;string.h&gt;
#include&lt;string&gt;
#include&lt;vector&gt;...]]></description><category></category></item><item><title><![CDATA[区间节点的lca]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434967</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434967</guid><author>acs59147</author><pubDate>Wed, 28 Nov 2018 22:26:00 +0800</pubDate><description><![CDATA[题目hdu5266
分析：多节点的LCA就是dfs序中最大最小两个节点的LCA。所以只要每次维持给出节点的dfs序的最大最小，然后就是两点的LCA
代码：
rmq的st+lca的倍增


#include&lt;stdio.h&gt;
#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;strin...]]></description><category></category></item><item><title><![CDATA[Dijkstra的优先队列]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434958</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434958</guid><author>acs59147</author><pubDate>Mon, 26 Nov 2018 18:34:00 +0800</pubDate><description><![CDATA[模板


#include&lt;iostream&gt;
#include&lt;cstring&gt;
#include&lt;algorithm&gt;
#include&lt;cmath&gt;
#include&lt;vector&gt;
#include&lt;stack&gt;
#include&lt;cstdio&gt;
#include&lt;map...]]></description><category></category></item><item><title><![CDATA[博弈的dfs]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434903</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434903</guid><author>acs59147</author><pubDate>Mon, 26 Nov 2018 15:42:00 +0800</pubDate><description><![CDATA[题目：
链接：https://ac.nowcoder.com/acm/contest/283/D来源：牛客网
小西买了一堆肥宅快乐水和肥宅快乐茶，准备和室友比谁更肥宅。 
  快乐水有A瓶，快乐茶B瓶。 
  小西和室友的规则是这样的： 
  1. 小西先手，轮流到每个人的回合，每个回合只能喝剩余数量较多的饮料 
  2. 满足规则1的同时，每次只能喝另一种饮料剩余数量的正整...]]></description><category></category></item><item><title><![CDATA[组合数学]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434909</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434909</guid><author>acs59147</author><pubDate>Mon, 26 Nov 2018 15:18:00 +0800</pubDate><description><![CDATA[题目：
很好的组合数学。
代码：


#include&lt;stdio.h&gt;
#include&lt;iostream&gt;
#include&lt;math.h&gt;
#include&lt;algorithm&gt;
#include&lt;map&gt;
using namespace std;
typedef long long ll;
con...]]></description><category></category></item><item><title><![CDATA[欧拉表]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434963</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434963</guid><author>acs59147</author><pubDate>Sat, 24 Nov 2018 14:48:00 +0800</pubDate><description><![CDATA[题目：UVa10820
题意：
给出n求，n以内的有序数对(x, y)互素的对数。
分析：
设（x&gt;y）即sum[ n ]表示符合的对数，即答案就数2*sum[n]+1,1是符合条件的（1，1）这对数。
即打个欧拉表就可以解决。
代码：


#include&lt;stdio.h&gt;
#include&lt;iostream&gt;
#include&lt...]]></description><category></category></item><item><title><![CDATA[唯一分解定理应用+组合数学]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434955</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434955</guid><author>acs59147</author><pubDate>Sat, 24 Nov 2018 13:21:00 +0800</pubDate><description><![CDATA[题目：UVA 1635
题目大意：
 对于给定的n个数a1,a2,a3....an，一次求出相邻两个数之和，将得到一个新的数列。重复上述操作，最后结果将变成一个数。问这个数除以m的余数与那些数无关？例如n=3,m=2时，第一次求和结果a1+a2,a2+a3,在求和a1+2a2+a3,它除以2的余数和a2无关，1&lt;=n&lt;=10^5,2&lt;=m&lt;=10^9
分析...]]></description><category></category></item><item><title><![CDATA[GCD 与XOR]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102435015</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102435015</guid><author>acs59147</author><pubDate>Thu, 22 Nov 2018 17:06:00 +0800</pubDate><description><![CDATA[题目：UVA12716
题意：问 gcd(i,j) = i ^ j 的对数（j &lt;=i &lt;= N ） N的范围为30000000，有10000组样例
分析：
　有几个结论：（1）若 a xor b = c，则 a xor c = b。
　　　　　　　　（2）a - b &lt;= a xor b，（a &gt;= b)
　　　　　　　　（3）若 gcd（a，b...]]></description><category></category></item><item><title><![CDATA[二分图的模板]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434960</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434960</guid><author>acs59147</author><pubDate>Wed, 21 Nov 2018 18:45:00 +0800</pubDate><description><![CDATA[博客：
匈牙利算法模板：


#include&lt;bits/stdc++.h&gt;
#define MAXN 9999
using namespace std;
int nx,ny;//nx表示二分图左边顶点的个数，ny表示二分图右边顶点的个数
int m;//m代表边的条数
int cx[MAXN],cy[MAXN];//如果有cx[i]=j，则必有cy[j]=...]]></description><category></category></item><item><title><![CDATA[唯一分解定理应用]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102435020</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102435020</guid><author>acs59147</author><pubDate>Sat, 17 Nov 2018 19:18:00 +0800</pubDate><description><![CDATA[UVA 10791
题意：
输入n，求最少两个数，使得他们的最小公倍数为n，使他们的和最小。
分析：根据唯一分解定理，可以得出 N= p1^n1 * p2^n2 *...* pn^nn
即：当把pi^n1看成整体时和最小。
代码：

#include&lt;stdio.h&gt;
#include&lt;iostream&gt;
#include&lt;algori...]]></description><category></category></item><item><title><![CDATA[唯一分解定理+组合数学]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434951</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434951</guid><author>acs59147</author><pubDate>Sat, 17 Nov 2018 16:09:00 +0800</pubDate><description><![CDATA[UVA 10375
题意：P Q R S,求C(p,q)/C(r,s).
两种方法：
第一种，数据比较水，一乘一除，不会溢出。


#include&lt;stdio.h&gt;
#include&lt;iostream&gt;
#include&lt;algorithm&gt;
using namespace std;
int main()
{
    dou...]]></description><category></category></item><item><title><![CDATA[扩欧几里得+暴力]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434948</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434948</guid><author>acs59147</author><pubDate>Fri, 16 Nov 2018 19:24:00 +0800</pubDate><description><![CDATA[给出一个数列：x2=(a*x1+b)%10001;的奇数项，求出偶数项。
题目：UVA 12169
分析：
x2 = (a * x1 + b) % 10001;
x3= (a * x2 + b) % 10001;
联立2个式子
x3 = (a * (a * x1 + b) % 10001 + b ) % 10001;
x3 = (a * (a * x1 + b) + b)...]]></description><category></category></item><item><title><![CDATA[快速幂+斐波那契数列]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434957</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434957</guid><author>acs59147</author><pubDate>Fri, 16 Nov 2018 15:54:00 +0800</pubDate><description><![CDATA[题意：
给出 a， b ，n。
求 f(a^b)%n的值。f()是斐波那契数列。
UVA 11582
代码：

#include&lt;stdio.h&gt;
#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;bits/stdc++.h&gt;
typedef unsigned long lo...]]></description><category></category></item><item><title><![CDATA[线段树模板]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434954</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434954</guid><author>acs59147</author><pubDate>Mon, 12 Nov 2018 22:15:00 +0800</pubDate><description><![CDATA[博客：
模板：
成段更新：


#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
using namespace std;
#define LL long long
#define lson l , m , rt &lt;&lt; 1
#define rson m + 1 , r , rt &lt;&lt; 1 | ...]]></description><category></category></item><item><title><![CDATA[tire 树入门]]></title><link>https://blog.youkuaiyun.com/acs59147/article/details/102434952</link><guid>https://blog.youkuaiyun.com/acs59147/article/details/102434952</guid><author>acs59147</author><pubDate>Sun, 11 Nov 2018 17:41:00 +0800</pubDate><description><![CDATA[博客：
模板：
前缀是否出现：


/*
  trie tree的储存方式：将字母储存在边上，边的节点连接与它相连的字母 
  trie[rt][x]=tot:rt是上个节点编号，x是字母，tot是下个节点编号 
*/ 
#include&lt;cstdio&gt;
#include&lt;iostream&gt;
#include&lt;algorithm&gt;...]]></description><category></category></item></channel></rss>