<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[peacesir的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/peacesir</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; peacesir]]></copyright><item><title><![CDATA[字符串::后缀数组]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124675185</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124675185</guid><author>peacesir</author><pubDate>Mon, 09 May 2022 21:03:37 +0800</pubDate><description><![CDATA[一个后缀数组的板子。
感觉后缀数组的关键就是倍增思想以及二元组采用基数排序的O(n)O(n)O(n)的神器
#include &lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e6+5;
char str[N];
int n,sa[N],rk[N];
int tp[N],tax[N],*tmp;
void tuple_sort(const int N)
{
	for(int i=0;i&lt;N;++i) tax[i]=0;
	for(int i]]></description><category></category></item><item><title><![CDATA[AC自动机+动态规划 P3041 [USACO12JAN]Video Game G]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124619824</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124619824</guid><author>peacesir</author><pubDate>Fri, 06 May 2022 21:55:06 +0800</pubDate><description><![CDATA[题目链接
#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e3+5;
namespace AC
{
	int tr[N][5],tot;
	int exist[N],fail[N];
	void insert(char *s)
	{
		int p=0;
		for(int i=1;s[i];i++)
		{
			if(!tr[p][s[i]-'A']) tr[p][s[i]-'A']=++tot;
			p=tr[p][s[]]></description><category></category></item><item><title><![CDATA[字符串-trie]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124543171</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124543171</guid><author>peacesir</author><pubDate>Mon, 02 May 2022 16:53:38 +0800</pubDate><description><![CDATA[struct trie
{
	int nex[500005][26],cnt=1;
	int exist[500005];
	trie()
	{
		cnt=1;
		memset(nex,0,sizeof(nex));
		memset(exist,0,sizeof(exist));
	}
	int idx(char c) {return c-'a';}
	void insert(char *s)
	{
		int p=0,l=strlen(s+1);
		for(int i=1;i&lt;=l;i++)]]></description><category></category></item><item><title><![CDATA[703 删数 差分+倍增+动态规划 [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124168068</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124168068</guid><author>peacesir</author><pubDate>Thu, 14 Apr 2022 11:37:30 +0800</pubDate><description><![CDATA[这肯定到银的程度了
//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%lld",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(a,b,c) scanf("%d%d%d",&amp;a,&amp;b,&amp;c); 
#define f(i,a,n) for(.]]></description><category></category></item><item><title><![CDATA[699 并行排序 单调队列 [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124155120</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124155120</guid><author>peacesir</author><pubDate>Wed, 13 Apr 2022 18:54:59 +0800</pubDate><description><![CDATA[连接
借鉴了代码，就喜欢短的。
怎么写一个nlogn的快速上升或者下降 严格或者不严格的子序列
//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%lld",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(a,b,c) scanf("%d%d%d",&amp;a,.]]></description><category></category></item><item><title><![CDATA[670 测温 单调队列 [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124147286</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124147286</guid><author>peacesir</author><pubDate>Wed, 13 Apr 2022 14:27:21 +0800</pubDate><description><![CDATA[一道DP题目
可以dp[i][j]dp[i][j]dp[i][j]表示到第iii天的温度为jjj的连续的天数。明显jjj是一个单调的，可以单调队列搞一搞
//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%lld",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(.]]></description><category></category></item><item><title><![CDATA[668 体育节 区间DP [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124146059</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124146059</guid><author>peacesir</author><pubDate>Wed, 13 Apr 2022 13:47:12 +0800</pubDate><description><![CDATA[稍微讲一下思路
先按照大小排序，这明显跟顺序没关系。
而后如果我们已经有了两个点了，现在要把第三个点加进去
如果加到中间的花，发现当前最大最小值没有改变。加到哦湖面发现最大值改变了，如果加到中间我们考虑可以
先加入左边第一个圆点，再加第一个三角，再加第二个圆点
比
现价左边第一个圆点，再加第二个圆点，再加中间的三角肯定来的更优。
那么意味着我们是不是每次都要选择一个临近的点加入而不能采取插入的形式。
最后再考虑 1 4 8 10 14
这肯定线加入8和10 而后考虑到4和14的距离都是4，但是4左边有一个.]]></description><category></category></item><item><title><![CDATA[678 namonamo 折半搜索 [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124144843</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124144843</guid><author>peacesir</author><pubDate>Wed, 13 Apr 2022 11:55:15 +0800</pubDate><description><![CDATA[//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%lld",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(a,b,c) scanf("%d%d%d",&amp;a,&amp;b,&amp;c); 
#define f(i,a,n) for(int i=a;i&.]]></description><category></category></item><item><title><![CDATA[ICPC2017徐州 待补题]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124120159</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124120159</guid><author>peacesir</author><pubDate>Tue, 12 Apr 2022 11:35:00 +0800</pubDate><description><![CDATA[占坑

]]></description><category></category></item><item><title><![CDATA[狄利克雷+莫比乌斯+杜教筛公式理解运用 每日一题]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124107786</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124107786</guid><author>peacesir</author><pubDate>Mon, 11 Apr 2022 20:06:14 +0800</pubDate><description><![CDATA[链接一
∑i=1n∑j=1mijgcd(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{ij}{gcd(i,j)}∑i=1n​∑j=1m​gcd(i,j)ij​


]]></description><category></category></item><item><title><![CDATA[605 Ayoub‘s function 贪心+容斥 [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/124025043</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/124025043</guid><author>peacesir</author><pubDate>Thu, 07 Apr 2022 19:58:53 +0800</pubDate><description><![CDATA[所有字符串 减去所有的 全0的字符串
//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%lld",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(a,b,c) scanf("%d%d%d",&amp;a,&amp;b,&amp;c); 
#define sr4(.]]></description><category></category></item><item><title><![CDATA[ACM知识点-（梅开二度重新出发]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123997955</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123997955</guid><author>peacesir</author><pubDate>Wed, 06 Apr 2022 21:35:48 +0800</pubDate><description><![CDATA[知识点补充数论反素数欧拉函数筛法素数筛法 O(n)筛选欧拉函数筛莫比乌斯函数Pollard Rho分解质因数裴蜀定理||贝祖定理类欧几里德算法欧拉定理 &amp; 费马小定理乘法逆元
主要都根据OIWIKI路线学习的
数论
反素数
#include &lt;cstdio&gt;
#include &lt;iostream&gt;

int p[16] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53};
unsigned long l]]></description><category></category></item><item><title><![CDATA[2021ICPC沈阳补题]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123980555</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123980555</guid><author>peacesir</author><pubDate>Wed, 06 Apr 2022 00:08:09 +0800</pubDate><description><![CDATA[补不完了人已经麻了

]]></description><category></category></item><item><title><![CDATA[504 数组划分 二分+动态规划+位运算 [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123975761</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123975761</guid><author>peacesir</author><pubDate>Tue, 05 Apr 2022 19:54:04 +0800</pubDate><description><![CDATA[//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%lld",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(a,b,c) scanf("%d%d%d",&amp;a,&amp;b,&amp;c); 
#define f(i,a,n) for(int i=a;i&.]]></description><category></category></item><item><title><![CDATA[503 选数2 二分+贪心+差分 [代码源][namomo spring camp]每日一题div1]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123967752</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123967752</guid><author>peacesir</author><pubDate>Tue, 05 Apr 2022 12:58:54 +0800</pubDate><description><![CDATA[忘记二分最小值 一直寄
参考了题目链接
晚点补文字
//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%lld",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(a,b,c) scanf("%d%d%d",&amp;a,&amp;b,&amp;c); 
#defi.]]></description><category></category></item><item><title><![CDATA[2021ICPC南京 待补题]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123961123</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123961123</guid><author>peacesir</author><pubDate>Mon, 04 Apr 2022 21:39:23 +0800</pubDate><description><![CDATA[先占位置吧

]]></description><category></category></item><item><title><![CDATA[2019CCPC 秦皇岛待补]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123961109</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123961109</guid><author>peacesir</author><pubDate>Mon, 04 Apr 2022 21:38:43 +0800</pubDate><description><![CDATA[占位置

]]></description><category></category></item><item><title><![CDATA[504 数位计算 数学 [代码源][namomo spring camp]每日一题div2]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123960313</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123960313</guid><author>peacesir</author><pubDate>Mon, 04 Apr 2022 20:57:21 +0800</pubDate><description><![CDATA[分段考虑等差数列就可以了，注意一下取模
//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,sizeof(s));
#define sr(x) scanf("%d",&amp;x); 
#define sr2(a,b) scanf("%d%d",&amp;a,&amp;b); 
#define sr3(a,b,c) scanf("%d%d%d",&amp;a,&amp;b,&amp;c); 
#define f(i,a.]]></description><category></category></item><item><title><![CDATA[505 新国王游戏 思维 [代码源][namomo spring camp]每日一题div2]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123960251</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123960251</guid><author>peacesir</author><pubDate>Mon, 04 Apr 2022 20:55:25 +0800</pubDate><description><![CDATA[你仔细观察这两个序列，在任意一个位置i以及i+1他们的位置相互交换的话会影响前面的值以及后面的值你仔细观察这两个序列，在任意一个位置i以及i+1他们的位置相互交换的话会影响前面的值以及后面的值你仔细观察这两个序列，在任意一个位置i以及i+1他们的位置相互交换的话会影响前面的值以及后面的值
那么就只需考虑
bi∗ai+1+bi+1&gt;bi+1∗ai+bi{b_i}*{a_{i + 1}} + {b_{i + 1}} &gt; {b_{i + 1}}*{a_i} + {b_i}bi​∗ai+1​+bi+1.]]></description><category></category></item><item><title><![CDATA[506 完美数 思维+数位 [代码源][namomo spring camp]每日一题div2]]></title><link>https://blog.youkuaiyun.com/peacesir/article/details/123960184</link><guid>https://blog.youkuaiyun.com/peacesir/article/details/123960184</guid><author>peacesir</author><pubDate>Mon, 04 Apr 2022 20:51:40 +0800</pubDate><description><![CDATA[直接考虑有点难搞，仔细看他说是每个数位的和也是一个好数。
这个值从m∗min(a,b)m*min(a,b)m∗min(a,b)到 m∗max(a,b)m*max(a,b)m∗max(a,b)
也就是说我从这之间搞出来check一下就好了。
那么他们的和也就是从m个数中选i个数为b,m−i个数为am个数中选i个数为b,m-i个数为am个数中选i个数为b,m−i个数为a
//acmer mxc
#include&lt;bits/stdc++.h&gt;
#define mst(s,x) memset(s,x,.]]></description><category></category></item></channel></rss>