<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Magic_Sheep的博客]]></title><description><![CDATA[朝向无法临近的彼端]]></description><link>https://blog.youkuaiyun.com/magic_sheep</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; magic_sheep]]></copyright><item><title><![CDATA[普通Windows10家庭版 安装OpenFaaS + Docker + k8s集群]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/123342015</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/123342015</guid><author>magic_sheep</author><pubDate>Mon, 07 Mar 2022 23:27:10 +0800</pubDate><description><![CDATA[普通家庭版Windows10 部署k8s集群和OpenFaaS]]></description><category></category></item><item><title><![CDATA[HDU 6704 K-th occurrence 后缀数组+主席树维护sa数组]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/100124083</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/100124083</guid><author>magic_sheep</author><pubDate>Wed, 28 Aug 2019 17:53:38 +0800</pubDate><description><![CDATA[You are given a string S consisting of only lowercase English letters and some queries.
For each query (l,r,k), please output the starting position of the k-th occurence of the substring SlSl+1…Sr in ...]]></description><category></category></item><item><title><![CDATA[POJ 2411 Mondriaan's Dream 状态压缩DP]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/95633416</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/95633416</guid><author>magic_sheep</author><pubDate>Fri, 12 Jul 2019 16:55:51 +0800</pubDate><description><![CDATA[题目很好理解 就是有一些1X2的小矩形 问将其填充到 NxM的大矩形 一共有多少种方案。
比较明显的状压DP，最关键的是状态的选择。我们可以吧竖着的 1x2 矩形的上半部分 当作1 吧其他状况当作0 压缩状态
然后 我们只需要保证 每一行与前一行与状态为0  按位与的结果中不存在连续奇数个0
之后，我们可以得到DP方程 f[i,j] = Σ f[i-1,k] j&amp;k=0 &amp;&amp...]]></description><category></category></item><item><title><![CDATA[POJ 3171 Cleaning Shifts 线段树优化DP]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/95631137</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/95631137</guid><author>magic_sheep</author><pubDate>Fri, 12 Jul 2019 16:41:29 +0800</pubDate><description><![CDATA[题面大意：
有N个线段，每个线段可以覆盖一段区间T1-T2 花费为S，求选出几个线段使得其完全覆盖M 到E 这一区间 并要求花费最少。
复杂度要求 nlog(E)。
这道题数据比较水，不要求离散化。考虑DP f[T2] = min(f[x]) +c {T1-1&lt;=x&lt;T2}
整个f数列可以用一颗线段树维护，维护最小值
在这里插入代码片


...]]></description><category></category></item><item><title><![CDATA[HihoCoder 1952 运算数]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/89380145</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/89380145</guid><author>magic_sheep</author><pubDate>Thu, 18 Apr 2019 15:35:30 +0800</pubDate><description><![CDATA[给出一棵2n-1个点的二叉树，所有节点从1到2n-1编号，根节点编号为1。每个非叶子节点都有两个孩子，共有n-1个非叶子节点和n个叶子节点。每一个非叶子节点被标记了+或者×。
给出n个正整数a1…an，这n个数被随机打乱填入了n个叶子节点中，一共有n!种填法。接着按照如下规则把数字填入非叶子节点i中：设i的左儿子上的数为li，右儿子上的数为ri，如果i的标记是+，则把li + ri填入i中，否则把...]]></description><category></category></item><item><title><![CDATA[hihocoder  编程练习赛98 部分解题报告与题解]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/89362312</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/89362312</guid><author>magic_sheep</author><pubDate>Wed, 17 Apr 2019 18:57:18 +0800</pubDate><description><![CDATA[A - 推断上下级
HihoCoder - 1947
H公司包括CEO在内，一共有N名员工，编号1~N，其中CEO的编号是1。除了CEO之外，其他员工都有唯一一名直接上司，形成了一种树形的上下级关系。
现在小Hi知道H公司所有的上下级关系，一共M对。换句话说，只要两名员工A和B之间存在上下级关系(直接或者间接)，那么A和B一定在这M对关系之中。
请你帮小Hi推断出每个人的直接上级是谁。
从题面可以...]]></description><category></category></item><item><title><![CDATA[BZOJ 4551: [Tjoi2016&Heoi2016]树 并查集]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/85055517</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/85055517</guid><author>magic_sheep</author><pubDate>Mon, 17 Dec 2018 20:18:32 +0800</pubDate><description><![CDATA[这年的HEOI 是在数据有点水，据说一堆写BFS都100了。正解使用并查集反向维护，感觉是不是很难，毕竟DAY1 T1。
树链剖分接线段树是可做的，但是吧…代码量瞬间就上来了。
主体思想，把正向加点改为反向删点。 每个并查集的代表元素为被标记的点 ，集合存的是答案。删点时直接将并查集合并即可。
#include&amp;lt;cstdio&amp;gt;
#include&amp;lt;iostream&amp;gt;
#inc...]]></description><category></category></item><item><title><![CDATA[BZOJ 1131: [POI2008]Sta 树形DP]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/85055291</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/85055291</guid><author>magic_sheep</author><pubDate>Mon, 17 Dec 2018 20:07:20 +0800</pubDate><description><![CDATA[题目本身并不难，POI的题真是又经典又好。
本题卡vector 不开快读的vector存图很容易被卡 本人就被卡了人傻自带大常数
题目本身要求在无根树中选一个节点作根，使形成的有根树所有结点深度和最大。
考虑到 对于相邻的两个结点 转移是O(1)的，假设结点u的答案是H[u]，其子节点v从H[u]到H[v]只需 考虑转移后对v的子树 和剩余结点即可。
H[v]=H[u]+n-2*sz[v];

补...]]></description><category></category></item><item><title><![CDATA[树链剖分讲解与应用 && BZOJ 1036 [ZJOI2008]树的统计Count]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/61209932</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/61209932</guid><author>magic_sheep</author><pubDate>Sun, 16 Dec 2018 12:42:01 +0800</pubDate><description><![CDATA[树链剖分算是一个应用比较广泛而且比较好实现的一种方法，其大体思想主要是把树链分成轻链和重链，这样既可以套用数据结构也可以求LCA。

首先定义 重儿子和轻儿子，对于一个非叶子节点，它的所有儿子中子树大小最大的即为重儿子，其余的为轻儿子。

我们可以用一次dfs来求出所有的重儿子，重儿子连成的树链即为重链，其余的为轻链，可以证明所有的重链不超过logn条。

对于每个节点还要维护其深度大小…..之后]]></description><category></category></item><item><title><![CDATA[Dev c++ 5.11 调试方法入门  初学者适用]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/84933175</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/84933175</guid><author>magic_sheep</author><pubDate>Sun, 09 Dec 2018 22:21:54 +0800</pubDate><description><![CDATA[Dev c++ 虽然功能上和美观度上比不上 CodeBlocks 和 sublime，但这个IDE调试还是比较简单的，在OI 或 ACM 上 用到的可能性 还是有的。
许多人的Dev 有 一调试 就闪退 GDB 报 error 的情况
本人开始也遇到了 解决方案如下
打开编译选项 把产生调试信息打开 （变成yes 后面会有图片）


之后在编写完代码后 开始调试 让我们随便写点

直接在行标前点一...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #516 (Div. 2, by Moscow Team Olympiad) 划水题解]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/84646056</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/84646056</guid><author>magic_sheep</author><pubDate>Fri, 30 Nov 2018 11:22:24 +0800</pubDate><description><![CDATA[由于博主水平较低，只有A到E题的题解。
A
题面大意是，给出三条边长度，每分钟能够使其中一条边的长度加一。求最短多长时间能使三条边组成三角形。
题解：
考虑贪心，由于比较简单，就直接放代码了。
#include&amp;amp;lt;cstdio&amp;amp;gt;
#include&amp;amp;lt;iostream&amp;amp;gt;
#include&amp;amp;lt;algorithm&amp;amp;gt;
#include&amp;amp;lt;cstring&a]]></description><category></category></item><item><title><![CDATA[BZOJ 1050 [HAOI2006]旅行comf]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/70255233</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/70255233</guid><author>magic_sheep</author><pubDate>Thu, 20 Apr 2017 09:58:57 +0800</pubDate><description><![CDATA[动点spfa，并不知道复杂度多少。#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<queue>
using namespace std;
const int maxn = 1001050;
int dist[maxn]]]></description><category></category></item><item><title><![CDATA[BZOJ 4129 Haruna’s Breakfast]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/70255173</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/70255173</guid><author>magic_sheep</author><pubDate>Thu, 20 Apr 2017 09:54:56 +0800</pubDate><description><![CDATA[同糖果公园，直接树分块套带修莫队即可。#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
const int maxn = 505000;
vector<int> f[maxn],g[maxn];]]></description><category></category></item><item><title><![CDATA[BZOJ 2780 后缀自动机]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/67637493</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/67637493</guid><author>magic_sheep</author><pubDate>Tue, 28 Mar 2017 15:29:50 +0800</pubDate><description><![CDATA[由于是英文题，简要解释一下题目。开始给出n个子串，和m个询问，对于每个询问读入一个子串，询问n个子串中，有多少个子串包含所询问的子串。实在看不懂的可以从样例中意会一下。#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <set>
using]]></description><category></category></item><item><title><![CDATA[BZOJ 3262 陌上花开 三维偏序 树状数组套Treap]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/67637397</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/67637397</guid><author>magic_sheep</author><pubDate>Tue, 28 Mar 2017 15:23:33 +0800</pubDate><description><![CDATA[一共三维，第一维排序，第二维树状数组，第三维Treap#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#include<cmath>
using namespace std;
const int maxn = 3000050;
int size,n,k,p,val,x,]]></description><category></category></item><item><title><![CDATA[BZOJ 3172 [Tjoi2013]单词 后缀自动机]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/67637328</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/67637328</guid><author>magic_sheep</author><pubDate>Tue, 28 Mar 2017 15:18:45 +0800</pubDate><description><![CDATA[其实这显然是一道AC自动机裸题，这里补上后缀自动机做法。#include <bits/stdc++.h>
using namespace std;
#define maxn 1100000
int n,len;
string s[500];
struct SAM
{
    int a[maxn<<1][28],fa[maxn<<1],mx[maxn<<1],num[maxn<<1];
    in]]></description><category></category></item><item><title><![CDATA[BZOJ 3166 [Heoi2013]Alo]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/65955202</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/65955202</guid><author>magic_sheep</author><pubDate>Sat, 25 Mar 2017 21:20:33 +0800</pubDate><description><![CDATA[明显可以用可持久化01Trie树来搞，Tire树可持久化方式同主席树。用set判断可行区间具体见代码。#include<cstdio>
#include<iostream>
#include<set>
#include<algorithm>
using namespace std;
const int maxn = 55000;
const int inf = 0x3f3f3f3f;
const i]]></description><category></category></item><item><title><![CDATA[BZOJ 1797 [Ahoi2009]Mincut 最小割]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/65951289</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/65951289</guid><author>magic_sheep</author><pubDate>Sat, 25 Mar 2017 21:14:09 +0800</pubDate><description><![CDATA[最小割的必须边 
一定在最小割中的边、扩大容量后能增大最大流的边，Poj3204： 
① 满流；② 残余网络中S能到入点、出点能到T。 
从S开始DFS、T开始反向DFS，标记到达的点，然后枚举满流边即可。最小割的可行边 
被某一种最小割的方案包含的边，AHOI2009： 
① 满流；② 删掉之后在残余网络中找不到u到v的路径。 
在残余网络中tarjan求SCC，(u,v)两点在同一SCC中说明残]]></description><category></category></item><item><title><![CDATA[BZOJ 1822 [JSOI2010]Frozen Nova 冷冻波]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/65946176</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/65946176</guid><author>magic_sheep</author><pubDate>Sat, 25 Mar 2017 20:28:26 +0800</pubDate><description><![CDATA[很明显的一道最大流，利用计算几何判断是否被攻击的关系。二分时间以判断攻击次数，每次重新建图。#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#include<stack> 
#include<cmath>
using namespace std;
const int maxn]]></description><category></category></item><item><title><![CDATA[BZOJ 3277&&3473 广义后缀自动机]]></title><link>https://blog.youkuaiyun.com/magic_sheep/article/details/64439964</link><guid>https://blog.youkuaiyun.com/magic_sheep/article/details/64439964</guid><author>magic_sheep</author><pubDate>Tue, 21 Mar 2017 11:53:20 +0800</pubDate><description><![CDATA[两道题一模一样，不说什么了。对于所有串建立广义后缀自动机，用set维护每个状态出现在哪些串里，构建出parent树结构，进行一遍dfs 逆序启发式合并set即可。统计答案只要在自动机上跑一遍如果k#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<set>
#include<vector]]></description><category></category></item></channel></rss>