<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[huhao的博客]]></title><description><![CDATA[我太弱了]]></description><link>https://blog.youkuaiyun.com/hhuhao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hhuhao]]></copyright><item><title><![CDATA[51nod1491]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78960735</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78960735</guid><author>hhuhao</author><pubDate>Wed, 03 Jan 2018 14:22:16 +0800</pubDate><description><![CDATA[q=5√+12q=\dfrac{\sqrt5+1}2，在黄金系统下面ai(i∈[1,n])a_i(i\in[1,n])等于∑ni=0ai ˙qn−i\sum_{i=0}^na_i\dot\ q^{n-i}，其中ai∈{0,1}a_i\in\{0,1\}。现在给出两个黄金系统下面的数字，请比较他们的大小。先推一下：q0=1q^0=1q1=5√+12q^1=\dfrac{\sqrt5+1}{2}q2=(]]></description><category></category></item><item><title><![CDATA[luogu3959]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78697707</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78697707</guid><author>hhuhao</author><pubDate>Sat, 02 Dec 2017 19:15:58 +0800</pubDate><description><![CDATA[NOIP2017所有1~2题题解总汇：本蒟蒻的另一个博客（不过博客没备份（源码），删了，只好先来优快云上了） 
就是用搜索，只能过luogu#define N 20
int n,d[N][N],ans,t[N],h[N];
void dfs(int x,int w)
{
    if(ans<=w)
        return;
    if(x==n+1)
    {
        ans=]]></description><category></category></item><item><title><![CDATA[树的重心]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78449324</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78449324</guid><author>hhuhao</author><pubDate>Sun, 05 Nov 2017 14:24:31 +0800</pubDate><description><![CDATA[树的重心，就是它为根后每个子树的节点数小于等于总结点数的二分之一。其实代码代表了全部思想我们开始假设11为根，然后看代码：#include<vector>
#define N 1000010
vector<int>t[N];
int w[N],f[N],ans,n;
void getw(int x)
{
    w[x]=1;
    fr(i,0,t[x].size()-1)
        if]]></description><category></category></item><item><title><![CDATA[LuoguP3908]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78448566</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78448566</guid><author>hhuhao</author><pubDate>Sun, 05 Nov 2017 11:58:37 +0800</pubDate><description><![CDATA[求1 xor 2 xor… xor n1\ xor\ 2\ xor\dots\ xor\ n按位计算：
第一位特别点计算方法：(n&1) xor ((n>>1)&1)(n\&1)\ xor\ ((n>>1)\&1)
每四个数异或和末尾为00然后就可以得出末二位值相等时才得出一
后面的位数从高到低算我们可以发现xor_sum1..2k−1=0xor\_sum_{1..2^k-1}=0然后我们就根据这个]]></description><category></category></item><item><title><![CDATA[LuoguP3938斐波那契]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78444321</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78444321</guid><author>hhuhao</author><pubDate>Sat, 04 Nov 2017 16:32:47 +0800</pubDate><description><![CDATA[这是一道好题。首先，我们先将兔子分组。⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪1234,56,7,89,10,11,12,13\begin{cases}1 \\ 2 \\ 3 \\ 4,5 \\ 6,7,8 \\ 9,10,11,12,13\end{cases}就是按出生时间分组，记ri,jr_{i,j}表示第ii月第jj只出生的兔子，fkf_k表示第kk只兔子的父亲，febi={1febi−1+febi]]></description><category></category></item><item><title><![CDATA[LuoguP2827　蚯蚓]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78443561</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78443561</guid><author>hhuhao</author><pubDate>Sat, 04 Nov 2017 14:56:43 +0800</pubDate><description><![CDATA[这道题去年看了一下题解，今年没有看题解做，只记得单调队列，然后十分尴尬。代码并不长（短）//说明在程序下面
#define N 100010
#define M 7000010
long long n,m,q,u,v,t,topb,lsta,lstb,lstc,topc;
long long a[N],b[M],c[M];
bool cmp(long long a,long long b)
{]]></description><category></category></item><item><title><![CDATA[Luogu3931]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78443552</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78443552</guid><author>hhuhao</author><pubDate>Sat, 04 Nov 2017 14:54:57 +0800</pubDate><description><![CDATA[这是一道月赛题(PJ)显然是树形DPansi=∑fu=imin{ansu,wu,i}ans_i=\sum_{f_u=i}\min\{ans_u,w_{u,i}\}#define N 500010
int e,t[N],n[N],b[N],w[N],m,r,p[N];
#define fo(i,a) for(int i=b[a];i;i=n[i])
void add(int u,int v,int w]]></description><category></category></item><item><title><![CDATA[Luogu3927]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78443549</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78443549</guid><author>hhuhao</author><pubDate>Sat, 04 Nov 2017 14:54:32 +0800</pubDate><description><![CDATA[就是一个十分简单的数论题。来自LuoguNOIP模拟赛TG首先，我们设pp为质数，q,kq,k为正整数，fi,jf_{i,j}表示i!(j)i!_{(j)}末尾的00的个数（a(b)a_{(b)}表示aa转为bb进制后的数）可以推知fq,p=∑logq,pi=1(qpi−qpi+1)×i=∑logq,pi=1qpif_{q,p}=\sum_{i=1}^{log_{q,p}}(\dfrac{q}{p^]]></description><category></category></item><item><title><![CDATA[hexo配合next在coding搭建博客]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/78443543</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/78443543</guid><author>hhuhao</author><pubDate>Sat, 04 Nov 2017 14:53:47 +0800</pubDate><description><![CDATA[先来一波福利，就是给出我的博客下载地址（有mathjax……）[百度网盘](链接: https://pan.baidu.com/s/1pLeEup1) 密码：mu87优快云安装hexo安装git和npm这个不想说，自己去网上找安装hexonpm install hexo-cli -g初始化博客
用hexo init blog来初始化博客，就会出现这样：
然后cd进入blog：cd blog
让后就]]></description><category></category></item><item><title><![CDATA[LCS长度个数计算]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77922201</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77922201</guid><author>hhuhao</author><pubDate>Sun, 10 Sep 2017 14:50:15 +0800</pubDate><description><![CDATA[子串给定一个字符串 A1..n A_{1..n}  对于任意一个集合 G1..m G_{1..m}  并且 1≤G1<G2<⋯<Gm≤n 1\le G_1 < G_2 < \dots < G_m\le n 那么 AG1..m A_{G_{1..m}}  就是 A A  的一个子串如：AABC 就是ABCABC的一个子串LCS给定两个字符串 A,B A,B  ，求出他们最长的公共子串 C C 意思是：]]></description><category></category></item><item><title><![CDATA[LCA(倍增)]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77916525</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77916525</guid><author>hhuhao</author><pubDate>Sat, 09 Sep 2017 17:21:29 +0800</pubDate><description><![CDATA[LCA就是给定一棵有根树，和两个点，求他们的最近公共祖先（深度最大）一般算法先将两个点 u,v u,v  移到同一层，再同时上移，直到相等（比较容易想到不是吗）单次复杂度： O(n) O(n)   倍增算法求出每个点 i i  距离为 2k 2^k  的祖先（若没有则为 0 0  ）可以用以下式子以 O(1) O(1)  的时间复杂度求出：fi,j=ffi,j−1,j−1 f_{i,j}=f_{f_]]></description><category></category></item><item><title><![CDATA[RMQ-ST表]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77739255</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77739255</guid><author>hhuhao</author><pubDate>Thu, 31 Aug 2017 10:07:40 +0800</pubDate><description><![CDATA[前叙一开始我一直以为这算法叫RMQ，现在才发现这问题叫RMQ，算法是ST表RMQ-ST表先给出练手题的地址：LuoguP3865sti,jst_{i,j}表示以第ii个数为首的一共2j2^j个数的最大值gig_{i}表示原数列可以得到：sti,j={gimax{sti,j−1,sti+2j−1,j−1}j=1j≠1st_{i,j}=\begin{cases}g_i&j=1\\max\{st_{i,j]]></description><category></category></item><item><title><![CDATA[矩阵快速幂]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77737285</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77737285</guid><author>hhuhao</author><pubDate>Thu, 31 Aug 2017 09:49:31 +0800</pubDate><description><![CDATA[矩阵乘法设C(x×z)=A(x×y)×B(y×z)C_{(x\times z)}=A_{(x\times y)}\times B_{(y\times z)}，则Ci,j=∑yk=1Ai,k×Bk,jC_{i,j}=\sum_{k=1}^y A_{i,k}\times B_{k,j}代码如下：long long c[N][N];
void times(long long a[N][N],long lo]]></description><category></category></item><item><title><![CDATA[LuoguP1063 能量项链]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77718486</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77718486</guid><author>hhuhao</author><pubDate>Wed, 30 Aug 2017 16:34:47 +0800</pubDate><description><![CDATA[看着就觉得想DP对吧。环状的就在后面复制一遍就好了。方程：fi,jf_{i,j}表示从ii合并到了jj的最小花费gig_i表示输入的第ii个数fi,j=maxj−1k=ifi,k+fk+1,j+gi∗gk+1∗gj+1f_{i,j}=\max_{k=i}^{j-1}f_{i,k}+f_{k+1,j}+g_i*g_{k+1}*g_{j+1}代码如下：#define N 500
int n,j,ans,]]></description><category></category></item><item><title><![CDATA[[HNOI2006]鬼谷子的钱袋]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77717943</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77717943</guid><author>hhuhao</author><pubDate>Wed, 30 Aug 2017 16:16:37 +0800</pubDate><description><![CDATA[好像是小学数学题看看答案压压惊，还有，特判n=5int n,ans;
int main()
{
    n=read();
    if(n==5)
    {
        printf("3\n1 1 3\n");
        return 0;
    }
    printf("%d\n",(int)log2(n-1)+1);
    ans=1;
    fr(i,1,(int)lo]]></description><category></category></item><item><title><![CDATA[[USACO5.2]Snail Trails]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77717557</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77717557</guid><author>hhuhao</author><pubDate>Wed, 30 Aug 2017 15:54:52 +0800</pubDate><description><![CDATA[显然爆搜，虽然一开始以为会超时。注意清除走过的点的标记，之前这里没处理好样例少1就手动+1结果16分数据太水了然后就是代码。int mx[4]={1,0,-1,0};
int my[4]={0,1,0,-1};
#define N 200
int ap[N][N],ved[N][N],n,m;
int dfs(int x,int y,int t)
{
    int _=x+mx[t],__=y+m]]></description><category></category></item><item><title><![CDATA[[USACO5.1]Starry Night]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77716031</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77716031</guid><author>hhuhao</author><pubDate>Wed, 30 Aug 2017 15:01:48 +0800</pubDate><description><![CDATA[乍一看，好像很难的样子。处理联通块+复制8份+判重感觉随随便便就是Lines:100+100+100可以通过优化后两步来优化代码复杂度。当然要用到一个神奇的思想hash我们可以将一个点对一个星系的贡献为：它上下左右星星的个数+1与其它四个方向星星的个数+5的积正确率比较高，不过还是A了#define N 510
map<int,int>t;
int n,m,ap[N][N],h[N][N],pr[N]]></description><category></category></item><item><title><![CDATA[Wine QQ 安装]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77678600</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77678600</guid><author>hhuhao</author><pubDate>Tue, 29 Aug 2017 15:25:01 +0800</pubDate><description><![CDATA[感谢phpcj 
downlaod 
提取码：f2sn 
步骤一： 
sudo add-apt-repository ppa:wine/wine-builds;sudo apt-get update;sudo apt-get install winehq-devel 
步骤二： 
tar xvf wineQQ8.9.4_21584.tar.xz -C ~/ 
delete:rm -rf ~/.win]]></description><category></category></item><item><title><![CDATA[[Tarjan]LCA算法]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77678536</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77678536</guid><author>hhuhao</author><pubDate>Tue, 29 Aug 2017 15:21:40 +0800</pubDate><description><![CDATA[先来一波理论祖先若uu的祖先集合是sus_u，uu的父亲为fuf_u树根为rootroot 
那么 
su={{u,sfu}uu≠rootu=roots_u=\begin{cases}\{u,s_{f_u}\}&u\not=root\\u&u=root\end{cases} 
通俗点讲：sus_u就是uu和uu的父亲和uu的父亲的父亲和uu的父亲的父亲的父亲…\dotsLCA设一颗有根树上的两点u,]]></description><category></category></item><item><title><![CDATA[LuoguP1306 斐波那契公约数]]></title><link>https://blog.youkuaiyun.com/hhuhao/article/details/77601356</link><guid>https://blog.youkuaiyun.com/hhuhao/article/details/77601356</guid><author>hhuhao</author><pubDate>Sat, 26 Aug 2017 14:52:24 +0800</pubDate><description><![CDATA[通项公式：fn=5√5[(1+5√2)n−(1−5√2)n]f_n=\dfrac{\sqrt5}{5}[(\dfrac{1+\sqrt5}{2})^n-(\dfrac{1-\sqrt5}{2})^n] 
其实没用。 
先给代码吧。int f[10000010];
int gcd(int x,int y)
{
    return y?gcd(y,x%y):x;
}
int main()
{]]></description><category></category></item></channel></rss>