<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Oxer的专栏]]></title><description><![CDATA[新博客 -> https://oxer11.github.io/]]></description><link>https://blog.youkuaiyun.com/u012288458</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u012288458]]></copyright><item><title><![CDATA[《Convex Optimization》附录A数学背景]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/83002247</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/83002247</guid><author>u012288458</author><pubDate>Fri, 12 Oct 2018 15:06:09 +0800</pubDate><description><![CDATA[附录A  数学背景

1. 范数

1.1 内积与夹角

n维向量内积：   

m×n维矩阵内积：

向量(矩阵)夹角： 

Cauchy-Schwartz inequality：，等号成立当且仅当向量x和y共线

 

1.2  常见范式（A.1.3）

向量范数

Lp-范数：

p=1、2、∞时比较常用

L1-范数（绝对值和范数）：

L2-范数（Euclidean范数）：

L∞-范数...]]></description><category></category></item><item><title><![CDATA[Convex Optimization介绍]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/83002114</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/83002114</guid><author>u012288458</author><pubDate>Wed, 10 Oct 2018 19:30:35 +0800</pubDate><description><![CDATA[最近在看Stephen Boyd的《Convex Optimization》，其中涉及不少数学知识和习题，在此整理一下阅读此书的学习笔记。

因为书上的记号比较详尽，所以在博客中仅摘取一些自己感兴趣的内容和公式的推导。

 

CVX101网课链接：

https://lagunita.stanford.edu/courses/Engineering/CVX101/Winter2014/info
...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #453 (Div. 1)解题报告（ABCD）]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/78862956</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/78862956</guid><author>u012288458</author><pubDate>Thu, 21 Dec 2017 13:50:51 +0800</pubDate><description><![CDATA[A.Hashing Trees题目大意：给定数组a[i]，其中a[i]表示深度为i的节点有a[i]个，问是否存在两个不同构的树同时满足这个条件。如果有，请输出。 
简要题解：有很多种构造方案。我的做法是，第一次把所有深度为i的节点都向深度为i-1的第一个节点连边。第二次，尝试分出一个深度为i的节点向深度为i-1的第二个节点连边。如果可以这样生成两棵树，则有解。#include<cstdio>
#in]]></description><category></category></item><item><title><![CDATA[牛客练习赛8解题报告]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/78844247</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/78844247</guid><author>u012288458</author><pubDate>Tue, 19 Dec 2017 16:30:55 +0800</pubDate><description><![CDATA[牛客练习赛8解题报告]]></description><category></category></item><item><title><![CDATA[Wannafly挑战赛4 解题报告]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/78635168</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/78635168</guid><author>u012288458</author><pubDate>Sun, 26 Nov 2017 00:22:02 +0800</pubDate><description><![CDATA[A.解方程
题目大意：给出n个整数和x，请问这n个整数中是否存在三个数a，b，c使得ax2+bx+c=0，数字可以重复使用
简要题解：枚举a和b，判断是否存在c。
#include
#include
#include
#include
#include
#include
#include

using namespace std;

int a[1010];
int n,x;
map mp;]]></description><category></category></item><item><title><![CDATA[codeforces小做]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/75812360</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/75812360</guid><author>u012288458</author><pubDate>Sun, 23 Jul 2017 09:07:56 +0800</pubDate><description><![CDATA[打算这一个月做50道codeforces，尽量不刷水吧。]]></description><category></category></item><item><title><![CDATA[Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) 总结]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/75143036</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/75143036</guid><author>u012288458</author><pubDate>Sat, 15 Jul 2017 09:55:03 +0800</pubDate><description><![CDATA[重回赛场，第一场比赛，找一找状态


A  Unimodal Array
题意：判断一个数列，是否是先递增，再相等，后递减


题解：模拟判断。记录当前位置处于第几段。


#include
#include
#include
#include
#include
#include
#define maxn 110

using namespace std;

int a[max]]></description><category></category></item><item><title><![CDATA[声明]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/55670358</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/55670358</guid><author>u012288458</author><pubDate>Sat, 18 Feb 2017 20:02:06 +0800</pubDate><description><![CDATA[非常抱歉，到现在才发声明。
由于博主远离OI已久，目前正处于沉迷文化课的状态中，OI知识也忘掉了许多，所以可能已经没有能力回复大家的评论了。
很感谢大家的留言和对题目的讨论，博客里可能某些代码有些许的问题，还望指正出来，虽不能改正，也只求不让错误的代码引起误解。
欢迎大家在此博客下讨论问题，同样欢迎大家来交朋友，QQ363992115]]></description><category></category></item><item><title><![CDATA[【bzoj1823】[JSOI2010]满汉全席  2-sat]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51883945</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51883945</guid><author>u012288458</author><pubDate>Mon, 11 Jul 2016 21:05:42 +0800</pubDate><description><![CDATA[学习一下2-sat
算法流程如下：
1、建图，图具有对称性(对于有限制的A，从A‘向A连边)
2、tarjan算法缩点
3、判断是否有解：若存在一组A和A'在同一个强连通分量中，则无解
4、缩点后，建反图
5、拓扑排序，若当前点A未标记，则选择A，对应的，标记A’；若当前点A标记了，则沿着边传递标记


本题是裸题


#include
#include
#include
]]></description><category></category></item><item><title><![CDATA[【bzoj3938】Robot  超哥线段树]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51868609</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51868609</guid><author>u012288458</author><pubDate>Sat, 09 Jul 2016 21:11:39 +0800</pubDate><description><![CDATA[都说了是水题！！！
离线，离散化每个时刻，对应插入直线
插入O(nlog^2n)，询问O(m log n)


#include
#include
#include
#include
#include
#include
#define maxn 100010
#define N 600010

using namespace std;

struct yts
{
	int op,id;
]]></description><category></category></item><item><title><![CDATA[【bzoj1568】[JSOI2008]Blue Mary开公司  超哥线段树]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51865920</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51865920</guid><author>u012288458</author><pubDate>Sat, 09 Jul 2016 11:28:21 +0800</pubDate><description><![CDATA[标记永久化的应用
维护若干个一次函数在每个端点的最大值
首先将端点离散化(本题不需要)，线段树的每个区间维护的标记代表着覆盖这个区间的一条线段
每次下放标记，利用标记永久化的思想，修改对应的区间标记
若当前线段完全高于标记线段，则将当前线段进行标记
若当前线段完全低于标记线段，则将当前线段扔掉
若当前线段与标记线段有交点，考虑在上面的一部分是一个两条线段形成的分段函数，将长的线段作为当]]></description><category></category></item><item><title><![CDATA[【bzoj2109&&2535】[Noi2010]Plane 航空管制  拓扑排序+贪心]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51865751</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51865751</guid><author>u012288458</author><pubDate>Sat, 09 Jul 2016 11:03:47 +0800</pubDate><description><![CDATA[贪心题果然都非常有意思呀
正着想不太方便，倒着想就好
建出反图，

不考虑任何点的情况下，倒着枚举时间，每次选择k最大的，度数为0的点
考虑点i的情况下，先忽视点i，倒着枚举时间，同样每次选择k最大的，度数为0的点，当某个时刻没有点可以选择时，
这时必须选择点i，这就是点i出现的最早时间
这个过程可以用堆来维护


#include
#include
#include
#inc]]></description><category></category></item><item><title><![CDATA[【bzoj3611】[Heoi2014]大工程  虚树+dp]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51864054</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51864054</guid><author>u012288458</author><pubDate>Fri, 08 Jul 2016 21:34:02 +0800</pubDate><description><![CDATA[无脑的dp，不想写题解了


#include
#include
#include
#include
#include
#include
#include
#define maxn 1000010

using namespace std;

int head[maxn],to[2*maxn],next[2*maxn];
vector v[maxn],g[maxn];
int size[ma]]></description><category></category></item><item><title><![CDATA[【bzoj2286】[Sdoi2011消耗战  虚树+dp]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51861346</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51861346</guid><author>u012288458</author><pubDate>Fri, 08 Jul 2016 15:40:15 +0800</pubDate><description><![CDATA[学一下虚树
单次dp是O(N)的，总复杂度O(NM)
但实际用不到O(N)个节点，只有O(K)个节点是有用的，若能建出一棵O(K)个节点的树，那么复杂度会变成O(∑K)
把给定节点按照dfs序排序，维护一个栈，栈中的节点是根到栈顶元素的链上的节点
加入节点x，设栈顶元素为p，t=LCA(p,x)
若t==p，则直接加入x
若t!=p，则找到栈中最后一个深度小于t的节点y，在y到p之间的]]></description><category></category></item><item><title><![CDATA[【bzoj2500】幸福的道路  单调队列+树形dp]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51853791</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51853791</guid><author>u012288458</author><pubDate>Thu, 07 Jul 2016 19:42:04 +0800</pubDate><description><![CDATA[重要的事情说三遍
我是傻逼！！！
我是傻逼！！！
我是傻逼！！！
把%d打成了%lld一直WA
题意坑爹，求从i出发的最长链的长度a[i]，求最长的一段a[i]，满足最大值-最小值

第一问，树形dp解决
第二问，单调队列解决


#include
#include
#include
#include
#include
#include
#include
#define ma]]></description><category></category></item><item><title><![CDATA[【bzoj4199】[Noi2015]品酒大会  后缀自动机]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51793280</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51793280</guid><author>u012288458</author><pubDate>Thu, 30 Jun 2016 20:44:59 +0800</pubDate><description><![CDATA[听说对反串建SAM，fa树就是后缀树？
听说两个后缀的LCP就是LCA的mx？
然后就是个树上dp？
靠，老子边界打错了


#include
#include
#include
#include
#include
#include
#define maxn 600010

using namespace std;

int head[maxn],next[2*maxn],to[2*m]]></description><category></category></item><item><title><![CDATA[【bzoj3926】[Zjoi2015]诸神眷顾的幻想乡  后缀自动机]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51786121</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51786121</guid><author>u012288458</author><pubDate>Wed, 29 Jun 2016 21:37:36 +0800</pubDate><description><![CDATA[注意到叶子节点只有20个，从每个叶子节点开始dfs，在得到的trie树上建后缀自动机
比较神奇的是，我们不用考虑那么多奇怪的问题，每个节点只需要从它trie树上的父亲节点开始建后缀自动机，就是对的
讲道理，我连增量法都没理解透，更何况树上的呢，反正直接建就对了


#include
#include
#include
#include
#include
#include
#define ]]></description><category></category></item><item><title><![CDATA[【bzoj3676】[Apio2014]回文串  后缀自动机+倍增+manacher]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51785834</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51785834</guid><author>u012288458</author><pubDate>Wed, 29 Jun 2016 20:52:41 +0800</pubDate><description><![CDATA[每找到一个回文串，就在所有的串中查找出现了多少次

因为暴力跳非常的慢，所以用倍增优化
f[i][j]表示从第i个节点向上跳2^j步到哪里
每次查询都是从末尾节点开始，倍增找到最后一个长度大于等于p的节点

manacher算法证明了本质不同的回文串只有O(n)个，复杂度O(nlogn)
原来manacher可以直接求偶数长度的回文串呀



#include
#includ]]></description><category></category></item><item><title><![CDATA[【bzoj3998】[TJOI2015]弦论  后缀自动机]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51784826</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51784826</guid><author>u012288458</author><pubDate>Wed, 29 Jun 2016 17:57:10 +0800</pubDate><description><![CDATA[非常好的一道裸题
T=1

每个节点的出现次数=它的right集合大小

初始时，每加入一个节点，它对应的right集合大小就为1

T=0
每个节点算一次，即把right集合大小强制变为1

对深度计数排序后，节点i对fa[i]产生贡献
计算出size[i]表示包含节点i在内，所有的能转移到的子串的出现次数之和

注意：不能按bfs序处理size，因为计算size时，还]]></description><category></category></item><item><title><![CDATA[【bzoj4516】[Sdoi2016]生成魔咒  后缀自动机]]></title><link>https://blog.youkuaiyun.com/u012288458/article/details/51783407</link><guid>https://blog.youkuaiyun.com/u012288458/article/details/51783407</guid><author>u012288458</author><pubDate>Wed, 29 Jun 2016 15:39:32 +0800</pubDate><description><![CDATA[入坑，持续更新SAM系列题目……
感觉后缀自动机的构建好难理解，背过代码就可以吧
应用好像不难，这道题只需要在所有修改fa的操作时更新ans即可
每个节点对应若干个子串，所有节点代表的所有子串本质不同，节点i代表的子串个数为mx[i]-mx[fa[i]]


#include
#include
#include
#include
#include
#include
#include
#]]></description><category></category></item></channel></rss>